add more test for time default value (#714)

This commit is contained in:
Lunny Xiao 2017-09-10 10:51:47 +08:00 committed by GitHub
parent aab77ab84c
commit 00da75294f
1 changed files with 25 additions and 0 deletions

View File

@ -499,6 +499,31 @@ func (j JsonTime) MarshalJSON() ([]byte, error) {
return []byte(`"` + j.format() + `"`), nil return []byte(`"` + j.format() + `"`), nil
} }
func TestDefaultTime3(t *testing.T) {
type PrepareTask struct {
Id int `xorm:"not null pk autoincr INT(11)" json:"id"`
// ...
StartTime JsonTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP index" json:"start_time"`
EndTime JsonTime `xorm:"not null default '2006-01-02 15:04:05' TIMESTAMP" json:"end_time"`
Cuser string `xorm:"not null default '' VARCHAR(64) index" json:"cuser"`
Muser string `xorm:"not null default '' VARCHAR(64)" json:"muser"`
Ctime JsonTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP created" json:"ctime"`
Mtime JsonTime `xorm:"not null default CURRENT_TIMESTAMP TIMESTAMP updated" json:"mtime"`
}
assert.NoError(t, prepareEngine())
assertSync(t, new(PrepareTask))
prepareTask := &PrepareTask{
StartTime: JsonTime(time.Now()),
Cuser: "userId",
Muser: "userId",
}
cnt, err := testEngine.Omit("end_time").InsertOne(prepareTask)
assert.NoError(t, err)
assert.EqualValues(t, 1, cnt)
}
type MyJsonTime struct { type MyJsonTime struct {
Id int64 `json:"id"` Id int64 `json:"id"`
Created JsonTime `xorm:"created" json:"created_at"` Created JsonTime `xorm:"created" json:"created_at"`