add test example

This commit is contained in:
jianzhiyao 2021-08-05 10:58:17 +08:00
parent 54cff71def
commit d8c4b0fc85
2 changed files with 14 additions and 6 deletions

View File

@ -348,6 +348,12 @@ func NewPost() *Post {
return obj return obj
} }
type NullValue struct {
ID int `orm:"column(id)"`
Value string `orm:"size(30);null"`
}
type Tag struct { type Tag struct {
ID int `orm:"column(id)"` ID int `orm:"column(id)"`
Name string `orm:"size(30)"` Name string `orm:"size(30)"`

View File

@ -216,6 +216,7 @@ func TestRegisterModels(t *testing.T) {
RegisterModel(new(User)) RegisterModel(new(User))
RegisterModel(new(Profile)) RegisterModel(new(Profile))
RegisterModel(new(Post)) RegisterModel(new(Post))
RegisterModel(new(NullValue))
RegisterModel(new(Tag)) RegisterModel(new(Tag))
RegisterModel(new(Comment)) RegisterModel(new(Comment))
RegisterModel(new(UserBig)) RegisterModel(new(UserBig))
@ -2054,6 +2055,13 @@ func TestRawValues(t *testing.T) {
} }
} }
func TestForIssue4709(t *testing.T) {
pre, err := dORM.Raw("INSERT into null_value (value) VALUES (?)").Prepare()
assert.Nil(t, err)
_, err = pre.Exec(nil)
assert.Nil(t, err)
}
func TestRawPrepare(t *testing.T) { func TestRawPrepare(t *testing.T) {
var ( var (
result sql.Result result sql.Result
@ -2066,9 +2074,6 @@ func TestRawPrepare(t *testing.T) {
pre, err = dORM.Raw("INSERT INTO tag (name) VALUES (?)").Prepare() pre, err = dORM.Raw("INSERT INTO tag (name) VALUES (?)").Prepare()
assert.Nil(t, err) assert.Nil(t, err)
if pre != nil { if pre != nil {
result, err = pre.Exec(nil)
assert.Nil(t, err)
result, err = pre.Exec("name1") result, err = pre.Exec("name1")
assert.Nil(t, err) assert.Nil(t, err)
@ -2106,9 +2111,6 @@ func TestRawPrepare(t *testing.T) {
pre, err = dORM.Raw(`INSERT INTO "tag" ("name") VALUES (?) RETURNING "id"`).Prepare() pre, err = dORM.Raw(`INSERT INTO "tag" ("name") VALUES (?) RETURNING "id"`).Prepare()
assert.Nil(t, err) assert.Nil(t, err)
if pre != nil { if pre != nil {
_, err = pre.Exec(nil)
assert.Nil(t, err)
_, err = pre.Exec("name1") _, err = pre.Exec("name1")
assert.Nil(t, err) assert.Nil(t, err)