add test for 'Auto creating/updating time with unix (milli) second'
This commit is contained in:
parent
bd1e254bf3
commit
c529bf57a4
@ -61,18 +61,20 @@ func TestCustomColumnAndIgnoredFieldClash(t *testing.T) {
|
|||||||
func TestCustomizeField(t *testing.T) {
|
func TestCustomizeField(t *testing.T) {
|
||||||
type CustomizeFieldStruct struct {
|
type CustomizeFieldStruct struct {
|
||||||
gorm.Model
|
gorm.Model
|
||||||
Name string
|
Name string
|
||||||
FieldAllowCreate string `gorm:"<-:create"`
|
FieldAllowCreate string `gorm:"<-:create"`
|
||||||
FieldAllowUpdate string `gorm:"<-:update"`
|
FieldAllowUpdate string `gorm:"<-:update"`
|
||||||
FieldAllowSave string `gorm:"<-"`
|
FieldAllowSave string `gorm:"<-"`
|
||||||
FieldAllowSave2 string `gorm:"<-:create,update"`
|
FieldAllowSave2 string `gorm:"<-:create,update"`
|
||||||
FieldAllowSave3 string `gorm:"->:false;<-:create"`
|
FieldAllowSave3 string `gorm:"->:false;<-:create"`
|
||||||
FieldReadonly string `gorm:"->"`
|
FieldReadonly string `gorm:"->"`
|
||||||
FieldIgnore string `gorm:"-"`
|
FieldIgnore string `gorm:"-"`
|
||||||
AutoUnixCreateTime int64 `gorm:"autocreatetime"`
|
AutoUnixCreateTime int64 `gorm:"autocreatetime"`
|
||||||
AutoUnixNanoCreateTime int64 `gorm:"autocreatetime:nano"`
|
AutoUnixMilliCreateTime int64 `gorm:"autocreatetime:milli"`
|
||||||
AutoUnixUpdateTime int64 `gorm:"autoupdatetime"`
|
AutoUnixNanoCreateTime int64 `gorm:"autocreatetime:nano"`
|
||||||
AutoUnixNanoUpdateTime int64 `gorm:"autoupdatetime:nano"`
|
AutoUnixUpdateTime int64 `gorm:"autoupdatetime"`
|
||||||
|
AutoUnixMilliUpdateTime int64 `gorm:"autoupdatetime:milli"`
|
||||||
|
AutoUnixNanoUpdateTime int64 `gorm:"autoupdatetime:nano"`
|
||||||
}
|
}
|
||||||
|
|
||||||
DB.Migrator().DropTable(&CustomizeFieldStruct{})
|
DB.Migrator().DropTable(&CustomizeFieldStruct{})
|
||||||
@ -118,6 +120,10 @@ func TestCustomizeField(t *testing.T) {
|
|||||||
t.Fatalf("invalid create/update unix time: %#v", result)
|
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 {
|
if result.AutoUnixNanoCreateTime != result.AutoUnixNanoUpdateTime || result.AutoUnixNanoCreateTime == 0 || result.AutoUnixNanoCreateTime/result.AutoUnixCreateTime < 1e6 {
|
||||||
t.Fatalf("invalid create/update unix nano time: %#v", result)
|
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 := generateStruct("create_with_default_time")
|
||||||
createWithDefaultTime.AutoUnixCreateTime = 100
|
createWithDefaultTime.AutoUnixCreateTime = 100
|
||||||
createWithDefaultTime.AutoUnixUpdateTime = 100
|
createWithDefaultTime.AutoUnixUpdateTime = 100
|
||||||
|
createWithDefaultTime.AutoUnixMilliCreateTime = 100
|
||||||
|
createWithDefaultTime.AutoUnixMilliUpdateTime = 100
|
||||||
createWithDefaultTime.AutoUnixNanoCreateTime = 100
|
createWithDefaultTime.AutoUnixNanoCreateTime = 100
|
||||||
createWithDefaultTime.AutoUnixNanoUpdateTime = 100
|
createWithDefaultTime.AutoUnixNanoUpdateTime = 100
|
||||||
DB.Create(&createWithDefaultTime)
|
DB.Create(&createWithDefaultTime)
|
||||||
@ -174,6 +182,10 @@ func TestCustomizeField(t *testing.T) {
|
|||||||
t.Fatalf("invalid create/update unix time: %#v", createWithDefaultTimeResult)
|
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 {
|
if createWithDefaultTimeResult.AutoUnixNanoCreateTime != createWithDefaultTimeResult.AutoUnixNanoUpdateTime || createWithDefaultTimeResult.AutoUnixNanoCreateTime != 100 {
|
||||||
t.Fatalf("invalid create/update unix nano time: %#v", createWithDefaultTimeResult)
|
t.Fatalf("invalid create/update unix nano time: %#v", createWithDefaultTimeResult)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user