mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 17:50:58 +00:00
orm: add inline struct test case
This commit is contained in:
parent
85f55fcb41
commit
64e0858d44
@ -25,7 +25,6 @@ import (
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
_ "github.com/lib/pq"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
|
||||
// As tidb can't use go get, so disable the tidb testing now
|
||||
// _ "github.com/pingcap/tidb"
|
||||
)
|
||||
@ -352,6 +351,30 @@ type GroupPermissions struct {
|
||||
Permission *Permission `orm:"rel(fk)"`
|
||||
}
|
||||
|
||||
type ModelID struct {
|
||||
Id int64
|
||||
}
|
||||
|
||||
type ModelBase struct {
|
||||
ModelID
|
||||
|
||||
Created time.Time `orm:"auto_now_add;type(datetime)"`
|
||||
Updated time.Time `orm:"auto_now;type(datetime)"`
|
||||
}
|
||||
|
||||
type InLine struct {
|
||||
// Common Fields
|
||||
ModelBase
|
||||
|
||||
// Other Fields
|
||||
Name string `orm:"unique"`
|
||||
Email string
|
||||
}
|
||||
|
||||
func NewInLine() *InLine {
|
||||
return new(InLine)
|
||||
}
|
||||
|
||||
var DBARGS = struct {
|
||||
Driver string
|
||||
Source string
|
||||
|
@ -187,6 +187,7 @@ func TestSyncDb(t *testing.T) {
|
||||
RegisterModel(new(Group))
|
||||
RegisterModel(new(Permission))
|
||||
RegisterModel(new(GroupPermissions))
|
||||
RegisterModel(new(InLine))
|
||||
|
||||
err := RunSyncdb("default", true, Debug)
|
||||
throwFail(t, err)
|
||||
@ -206,6 +207,7 @@ func TestRegisterModels(t *testing.T) {
|
||||
RegisterModel(new(Group))
|
||||
RegisterModel(new(Permission))
|
||||
RegisterModel(new(GroupPermissions))
|
||||
RegisterModel(new(InLine))
|
||||
|
||||
BootStrap()
|
||||
|
||||
@ -1928,3 +1930,25 @@ func TestReadOrCreate(t *testing.T) {
|
||||
|
||||
dORM.Delete(u)
|
||||
}
|
||||
|
||||
func TestInLine(t *testing.T) {
|
||||
name := "inline"
|
||||
email := "hello@go.com"
|
||||
inline := NewInLine()
|
||||
inline.Name = name
|
||||
inline.Email = email
|
||||
|
||||
id, err := dORM.Insert(inline)
|
||||
throwFail(t, err)
|
||||
throwFail(t, AssertIs(id, 1))
|
||||
|
||||
il := NewInLine()
|
||||
il.Id = 1
|
||||
err = dORM.Read(il)
|
||||
throwFail(t, err)
|
||||
|
||||
throwFail(t, AssertIs(il.Name, name))
|
||||
throwFail(t, AssertIs(il.Email, email))
|
||||
throwFail(t, AssertIs(il.Created.In(DefaultTimeLoc), inline.Created.In(DefaultTimeLoc), testDate))
|
||||
throwFail(t, AssertIs(il.Updated.In(DefaultTimeLoc), inline.Updated.In(DefaultTimeLoc), testDateTime))
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user