Add test for updated created (#727)

* add test for updated created

* more tests
This commit is contained in:
Lunny Xiao 2017-09-16 18:48:03 +08:00 committed by GitHub
parent 3101e3bc44
commit d9565718bc
1 changed files with 46 additions and 1 deletions

View File

@ -1114,10 +1114,11 @@ func TestNoUpdate(t *testing.T) {
assertSync(t, new(NoUpdate))
_, err := testEngine.Insert(&NoUpdate{
cnt, err := testEngine.Insert(&NoUpdate{
Content: "test",
})
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
_, err = testEngine.ID(1).Update(&NoUpdate{})
assert.Error(t, err)
@ -1170,3 +1171,47 @@ func TestUpdateUpdate(t *testing.T) {
assert.NoError(t, err)
assert.EqualValues(t, 0, cnt)
}
func TestCreatedUpdated2(t *testing.T) {
assert.NoError(t, prepareEngine())
type CreatedUpdatedStruct struct {
Id int64
Name string
CreateAt time.Time `xorm:"created" json:"create_at"`
UpdateAt time.Time `xorm:"updated" json:"update_at"`
}
assertSync(t, new(CreatedUpdatedStruct))
var s = CreatedUpdatedStruct{
Name: "test",
}
cnt, err := testEngine.Insert(&s)
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
assert.EqualValues(t, s.UpdateAt.Unix(), s.CreateAt.Unix())
time.Sleep(time.Second)
var s1 = CreatedUpdatedStruct{
Name: "test1",
CreateAt: s.CreateAt,
UpdateAt: s.UpdateAt,
}
cnt, err = testEngine.ID(1).Update(&s1)
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
assert.EqualValues(t, s.CreateAt.Unix(), s1.CreateAt.Unix())
assert.True(t, s1.UpdateAt.Unix() > s.UpdateAt.Unix())
var s2 CreatedUpdatedStruct
has, err := testEngine.ID(1).Get(&s2)
assert.NoError(t, err)
assert.True(t, has)
assert.EqualValues(t, s.CreateAt.Unix(), s2.CreateAt.Unix())
assert.True(t, s2.UpdateAt.Unix() > s.UpdateAt.Unix())
assert.True(t, s2.UpdateAt.Unix() > s2.CreateAt.Unix())
}