package domain import "testing" func TestNormalizeRole(t *testing.T) { tests := []struct { name string in string want string }{ {name: "super admin unchanged", in: "super_admin", want: RoleSuperAdmin}, {name: "tenant admin unchanged", in: "tenant_admin", want: RoleTenantAdmin}, {name: "rp admin unchanged", in: "rp_admin", want: RoleRPAdmin}, {name: "user unchanged", in: "user", want: RoleUser}, {name: "legacy admin", in: "admin", want: RoleTenantAdmin}, {name: "legacy tenant member", in: "tenant_member", want: RoleUser}, {name: "trim and lower", in: " ADMIN ", want: RoleTenantAdmin}, {name: "unknown role pass-through", in: "custom_role", want: "custom_role"}, {name: "empty", in: " ", want: ""}, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { if got := NormalizeRole(tc.in); got != tc.want { t.Fatalf("NormalizeRole(%q)=%q, want %q", tc.in, got, tc.want) } }) } }