Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.
This repository is currently being migrated. It's locked while the migration is in progress.

Commit d76126b

Browse files
authored
add tests (#1439)
1 parent 3f2ca6e commit d76126b

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

session_insert_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -957,3 +957,46 @@ func TestMultipleInsertTableName(t *testing.T) {
957957

958958
assert.NoError(t, trans.Commit())
959959
}
960+
961+
func TestInsertMultiWithOmit(t *testing.T) {
962+
assert.NoError(t, prepareEngine())
963+
964+
type TestMultiOmit struct {
965+
Id int64 `xorm:"int(11) pk"`
966+
Name string `xorm:"varchar(255)"`
967+
Omitted string `xorm:"varchar(255) 'omitted'"`
968+
}
969+
970+
assert.NoError(t, testEngine.Sync2(new(TestMultiOmit)))
971+
972+
l := []interface{}{
973+
TestMultiOmit{Id: 1, Name: "1", Omitted: "1"},
974+
TestMultiOmit{Id: 2, Name: "1", Omitted: "2"},
975+
TestMultiOmit{Id: 3, Name: "1", Omitted: "3"},
976+
}
977+
978+
check := func() {
979+
var ls []TestMultiOmit
980+
err := testEngine.Find(&ls)
981+
assert.NoError(t, err)
982+
assert.EqualValues(t, 3, len(ls))
983+
984+
for e := range ls {
985+
assert.EqualValues(t, "", ls[e].Omitted)
986+
}
987+
}
988+
989+
num, err := testEngine.Omit("omitted").Insert(l...)
990+
assert.NoError(t, err)
991+
assert.EqualValues(t, 3, num)
992+
check()
993+
994+
num, err = testEngine.Delete(TestMultiOmit{Name: "1"})
995+
assert.NoError(t, err)
996+
assert.EqualValues(t, 3, num)
997+
998+
num, err = testEngine.Omit("omitted").Insert(l)
999+
assert.NoError(t, err)
1000+
assert.EqualValues(t, 3, num)
1001+
check()
1002+
}

0 commit comments

Comments
 (0)