瀏覽代碼

1.Add test for updated created
2.more tests

xormplus 8 年之前
父節點
當前提交
f65e75eb25
共有 1 個文件被更改,包括 46 次插入1 次删除
  1. 46 1
      session_update_test.go

+ 46 - 1
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())
+}