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