Add insert multi omit tests #1439
|
@ -957,3 +957,46 @@ func TestMultipleInsertTableName(t *testing.T) {
|
||||||
|
|
||||||
assert.NoError(t, trans.Commit())
|
assert.NoError(t, trans.Commit())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInsertMultiWithOmit(t *testing.T) {
|
||||||
|
assert.NoError(t, prepareEngine())
|
||||||
|
|
||||||
|
type TestMultiOmit struct {
|
||||||
|
Id int64 `xorm:"int(11) pk"`
|
||||||
|
Name string `xorm:"varchar(255)"`
|
||||||
|
Omitted string `xorm:"varchar(255) 'omitted'"`
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.NoError(t, testEngine.Sync2(new(TestMultiOmit)))
|
||||||
|
|
||||||
|
l := []interface{}{
|
||||||
|
TestMultiOmit{Id: 1, Name: "1", Omitted: "1"},
|
||||||
|
TestMultiOmit{Id: 2, Name: "1", Omitted: "2"},
|
||||||
|
TestMultiOmit{Id: 3, Name: "1", Omitted: "3"},
|
||||||
|
}
|
||||||
|
|
||||||
|
check := func() {
|
||||||
|
var ls []TestMultiOmit
|
||||||
|
err := testEngine.Find(&ls)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 3, len(ls))
|
||||||
|
|
||||||
|
for e := range ls {
|
||||||
|
assert.EqualValues(t, "", ls[e].Omitted)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
num, err := testEngine.Omit("omitted").Insert(l...)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 3, num)
|
||||||
|
check()
|
||||||
|
|
||||||
|
num, err = testEngine.Delete(TestMultiOmit{Name: "1"})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 3, num)
|
||||||
|
|
||||||
|
num, err = testEngine.Omit("omitted").Insert(l)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.EqualValues(t, 3, num)
|
||||||
|
check()
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user