orm: Add test case for integer pk

This commit is contained in:
miraclesu 2016-03-18 21:58:11 +08:00
parent a3d4218d9d
commit 84ae930c64
2 changed files with 27 additions and 0 deletions

View File

@ -387,6 +387,11 @@ func NewInLineOneToOne() *InLineOneToOne {
return new(InLineOneToOne)
}
type IntegerPk struct {
Id int64 `orm:"pk"`
Value string
}
var DBARGS = struct {
Driver string
Source string

View File

@ -19,6 +19,7 @@ import (
"database/sql"
"fmt"
"io/ioutil"
"math"
"os"
"path/filepath"
"reflect"
@ -189,6 +190,7 @@ func TestSyncDb(t *testing.T) {
RegisterModel(new(GroupPermissions))
RegisterModel(new(InLine))
RegisterModel(new(InLineOneToOne))
RegisterModel(new(IntegerPk))
err := RunSyncdb("default", true, Debug)
throwFail(t, err)
@ -210,6 +212,7 @@ func TestRegisterModels(t *testing.T) {
RegisterModel(new(GroupPermissions))
RegisterModel(new(InLine))
RegisterModel(new(InLineOneToOne))
RegisterModel(new(IntegerPk))
BootStrap()
@ -1991,3 +1994,22 @@ func TestInLineOneToOne(t *testing.T) {
throwFail(t, AssertIs(rinline.Name, name))
throwFail(t, AssertIs(rinline.Email, email))
}
func TestIntegerPk(t *testing.T) {
its := []IntegerPk{
{Id: math.MinInt64, Value: "-"},
{Id: 0, Value: "0"},
{Id: math.MaxInt64, Value: "+"},
}
num, err := dORM.InsertMulti(len(its), its)
throwFail(t, err)
throwFail(t, AssertIs(num, len(its)))
for _, intPk := range its {
out := IntegerPk{Id: intPk.Id}
err = dORM.Read(&out)
throwFail(t, err)
throwFail(t, AssertIs(out.Value, intPk.Value))
}
}