35 lines
857 B
Go
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")
|
|
}
|
|
}
|