From c529bf57a4c8fe41960135812eed03dfa0f79cd3 Mon Sep 17 00:00:00 2001 From: qinains Date: Thu, 30 Jul 2020 17:14:49 +0800 Subject: [PATCH] add test for 'Auto creating/updating time with unix (milli) second' --- tests/customize_field_test.go | 36 +++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/tests/customize_field_test.go b/tests/customize_field_test.go index 9c6ab948..bf3c78fa 100644 --- a/tests/customize_field_test.go +++ b/tests/customize_field_test.go @@ -61,18 +61,20 @@ func TestCustomColumnAndIgnoredFieldClash(t *testing.T) { func TestCustomizeField(t *testing.T) { type CustomizeFieldStruct struct { gorm.Model - Name string - FieldAllowCreate string `gorm:"<-:create"` - FieldAllowUpdate string `gorm:"<-:update"` - FieldAllowSave string `gorm:"<-"` - FieldAllowSave2 string `gorm:"<-:create,update"` - FieldAllowSave3 string `gorm:"->:false;<-:create"` - FieldReadonly string `gorm:"->"` - FieldIgnore string `gorm:"-"` - AutoUnixCreateTime int64 `gorm:"autocreatetime"` - AutoUnixNanoCreateTime int64 `gorm:"autocreatetime:nano"` - AutoUnixUpdateTime int64 `gorm:"autoupdatetime"` - AutoUnixNanoUpdateTime int64 `gorm:"autoupdatetime:nano"` + Name string + FieldAllowCreate string `gorm:"<-:create"` + FieldAllowUpdate string `gorm:"<-:update"` + FieldAllowSave string `gorm:"<-"` + FieldAllowSave2 string `gorm:"<-:create,update"` + FieldAllowSave3 string `gorm:"->:false;<-:create"` + FieldReadonly string `gorm:"->"` + FieldIgnore string `gorm:"-"` + AutoUnixCreateTime int64 `gorm:"autocreatetime"` + AutoUnixMilliCreateTime int64 `gorm:"autocreatetime:milli"` + AutoUnixNanoCreateTime int64 `gorm:"autocreatetime:nano"` + AutoUnixUpdateTime int64 `gorm:"autoupdatetime"` + AutoUnixMilliUpdateTime int64 `gorm:"autoupdatetime:milli"` + AutoUnixNanoUpdateTime int64 `gorm:"autoupdatetime:nano"` } DB.Migrator().DropTable(&CustomizeFieldStruct{}) @@ -118,6 +120,10 @@ func TestCustomizeField(t *testing.T) { t.Fatalf("invalid create/update unix time: %#v", result) } + if result.AutoUnixMilliCreateTime != result.AutoUnixMilliUpdateTime || result.AutoUnixMilliCreateTime == 0 || result.AutoUnixMilliCreateTime/result.AutoUnixCreateTime < 1e3 { + t.Fatalf("invalid create/update unix milli time: %#v", result) + } + if result.AutoUnixNanoCreateTime != result.AutoUnixNanoUpdateTime || result.AutoUnixNanoCreateTime == 0 || result.AutoUnixNanoCreateTime/result.AutoUnixCreateTime < 1e6 { t.Fatalf("invalid create/update unix nano time: %#v", result) } @@ -163,6 +169,8 @@ func TestCustomizeField(t *testing.T) { createWithDefaultTime := generateStruct("create_with_default_time") createWithDefaultTime.AutoUnixCreateTime = 100 createWithDefaultTime.AutoUnixUpdateTime = 100 + createWithDefaultTime.AutoUnixMilliCreateTime = 100 + createWithDefaultTime.AutoUnixMilliUpdateTime = 100 createWithDefaultTime.AutoUnixNanoCreateTime = 100 createWithDefaultTime.AutoUnixNanoUpdateTime = 100 DB.Create(&createWithDefaultTime) @@ -174,6 +182,10 @@ func TestCustomizeField(t *testing.T) { t.Fatalf("invalid create/update unix time: %#v", createWithDefaultTimeResult) } + if createWithDefaultTimeResult.AutoUnixMilliCreateTime != createWithDefaultTimeResult.AutoUnixMilliUpdateTime || createWithDefaultTimeResult.AutoUnixMilliCreateTime != 100 { + t.Fatalf("invalid create/update unix milli time: %#v", createWithDefaultTimeResult) + } + if createWithDefaultTimeResult.AutoUnixNanoCreateTime != createWithDefaultTimeResult.AutoUnixNanoUpdateTime || createWithDefaultTimeResult.AutoUnixNanoCreateTime != 100 { t.Fatalf("invalid create/update unix nano time: %#v", createWithDefaultTimeResult) }