material_manage_system/internal/service/auth_test.go
2026-09-16 16:29:04 +08:00

32 lines
782 B
Go

package service
import (
"testing"
"github.com/wmms/wmms/internal/model"
)
func TestGeneratedTokenCarriesEveryUserRole(t *testing.T) {
user := &model.User{
ID: 7,
Username: "zhangsan",
Roles: []model.Role{
{ID: 2, Code: "warehouse_admin", Name: "仓库管理员", Enabled: true},
{ID: 3, Code: "purchaser", Name: "采购人员", Enabled: true},
},
}
service := NewAuthService()
tokenString, err := service.GenerateToken(user)
if err != nil {
t.Fatalf("generate token: %v", err)
}
token, err := service.ValidateToken(tokenString)
if err != nil {
t.Fatalf("validate token: %v", err)
}
if len(token.Roles) != 2 || token.Roles[0] != "warehouse_admin" || token.Roles[1] != "purchaser" {
t.Fatalf("unexpected token roles: %+v", token.Roles)
}
}