32 lines
1.1 KiB
Go
32 lines
1.1 KiB
Go
package system
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
)
|
|
|
|
func TestBusinessFieldsSurviveMigrationAndIdentityLoad(t *testing.T) {
|
|
db, err := openWithDriver("sqlite", "file:"+t.Name()+"?mode=memory&cache=shared")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err = migrateAll(db); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
po := userPO{Username: "business", UUID: "business-uuid", Password: "original-hash", Enable: 1, Level: 2, ParentID: 11, IDPath: "0,11", RealName: "商务姓名", QQNumber: "12345", BusinessStatus: 3, RejectReason: "审核资料"}
|
|
if err = db.Create(&po).Error; err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err = ensureBusinessUserFields(db); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
r := NewUserRepo(&Data{gormDB: newReloadableDB(db, nil)})
|
|
user, err := r.FindUserByUUID(context.Background(), "business-uuid")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if user.Level != 2 || user.ParentID != 11 || user.IDPath != "0,11" || user.RealName != "商务姓名" || user.QQNumber != "12345" || user.BusinessStatus != 3 || user.RejectReason != "审核资料" || user.Password != "original-hash" {
|
|
t.Fatalf("迁移或身份加载丢失商务字段: %+v", user)
|
|
}
|
|
}
|