Files
kra-new/internal/data/system/business_fields_test.go
T

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)
}
}