add tests for insert custom struct types (#816)
This commit is contained in:
parent
3480244cd2
commit
5275c0de3f
|
@ -662,3 +662,81 @@ func TestInsertCreatedInt64(t *testing.T) {
|
|||
|
||||
assert.EqualValues(t, data.Created, data2.Created)
|
||||
}
|
||||
|
||||
type MyUserinfo Userinfo
|
||||
|
||||
func (MyUserinfo) TableName() string {
|
||||
return "user_info"
|
||||
}
|
||||
|
||||
func TestInsertMulti3(t *testing.T) {
|
||||
assert.NoError(t, prepareEngine())
|
||||
|
||||
testEngine.ShowSQL(true)
|
||||
assertSync(t, new(MyUserinfo))
|
||||
|
||||
users := []MyUserinfo{
|
||||
{Username: "xlw", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
{Username: "xlw2", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
{Username: "xlw11", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
{Username: "xlw22", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
}
|
||||
cnt, err := testEngine.Insert(&users)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, len(users), cnt)
|
||||
|
||||
users2 := []*MyUserinfo{
|
||||
&MyUserinfo{Username: "1xlw", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
&MyUserinfo{Username: "1xlw2", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
&MyUserinfo{Username: "1xlw11", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
&MyUserinfo{Username: "1xlw22", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
}
|
||||
|
||||
cnt, err = testEngine.Insert(&users2)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, len(users), cnt)
|
||||
}
|
||||
|
||||
type MyUserinfo2 struct {
|
||||
Uid int64 `xorm:"id pk not null autoincr"`
|
||||
Username string `xorm:"unique"`
|
||||
Departname string
|
||||
Alias string `xorm:"-"`
|
||||
Created time.Time
|
||||
Detail Userdetail `xorm:"detail_id int(11)"`
|
||||
Height float64
|
||||
Avatar []byte
|
||||
IsMan bool
|
||||
}
|
||||
|
||||
func (MyUserinfo2) TableName() string {
|
||||
return "user_info"
|
||||
}
|
||||
|
||||
func TestInsertMulti4(t *testing.T) {
|
||||
assert.NoError(t, prepareEngine())
|
||||
|
||||
testEngine.ShowSQL(true)
|
||||
assertSync(t, new(MyUserinfo2))
|
||||
|
||||
users := []MyUserinfo2{
|
||||
{Username: "xlw", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
{Username: "xlw2", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
{Username: "xlw11", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
{Username: "xlw22", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
}
|
||||
cnt, err := testEngine.Insert(&users)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, len(users), cnt)
|
||||
|
||||
users2 := []*MyUserinfo2{
|
||||
&MyUserinfo2{Username: "1xlw", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
&MyUserinfo2{Username: "1xlw2", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
&MyUserinfo2{Username: "1xlw11", Departname: "dev", Alias: "lunny2", Created: time.Now()},
|
||||
&MyUserinfo2{Username: "1xlw22", Departname: "dev", Alias: "lunny3", Created: time.Now()},
|
||||
}
|
||||
|
||||
cnt, err = testEngine.Insert(&users2)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, len(users), cnt)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue