From d9565718bc41c8a6a02f6073979bade790cb3e45 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 16 Sep 2017 18:48:03 +0800 Subject: [PATCH] Add test for updated created (#727) * add test for updated created * more tests --- session_update_test.go | 47 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/session_update_test.go b/session_update_test.go index e97963d3..690bd106 100644 --- a/session_update_test.go +++ b/session_update_test.go @@ -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()) +}