Files
goauto/server/app/admin/service/sys_user_role_test.go
T

35 lines
857 B
Go

package service
import (
"testing"
"go-admin/app/admin/models"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func TestValidateEnabledRole(t *testing.T) {
db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
if err != nil {
t.Fatal(err)
}
if err = db.AutoMigrate(&models.SysRole{}); err != nil {
t.Fatal(err)
}
if err = db.Create(&models.SysRole{RoleName: "采购员", RoleKey: "purchaser", Status: "2"}).Error; err != nil {
t.Fatal(err)
}
var role models.SysRole
db.Where("role_key = ?", "purchaser").First(&role)
if err = validateEnabledRole(db, role.RoleId); err != nil {
t.Fatalf("enabled role rejected: %v", err)
}
if err = validateEnabledRole(db, 0); err == nil {
t.Fatal("role zero must be rejected")
}
if err = validateEnabledRole(db, role.RoleId+100); err == nil {
t.Fatal("missing role must be rejected")
}
}