forked from baron/baron-sso
백업/복구로직 변경, 깜빡임 버그 해결
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
canManageTenantScopedUsers,
|
||||
canManageUserInTenantScope,
|
||||
isSuperAdminRole,
|
||||
normalizeAdminRole,
|
||||
ROLE_SUPER_ADMIN,
|
||||
@@ -32,4 +34,43 @@ describe("admin role helpers", () => {
|
||||
expect(isSuperAdminRole("admin")).toBe(false);
|
||||
expect(isSuperAdminRole(undefined)).toBe(false);
|
||||
});
|
||||
|
||||
it("allows delegated tenant admins with manageable tenants to manage scoped users", () => {
|
||||
const profile = {
|
||||
id: "admin-user",
|
||||
role: "user",
|
||||
manageableTenants: [{ id: "tenant-1", slug: "tenant-a" }],
|
||||
};
|
||||
|
||||
expect(canManageTenantScopedUsers(profile)).toBe(true);
|
||||
expect(
|
||||
canManageUserInTenantScope({
|
||||
profile,
|
||||
user: { id: "user-1", tenantSlug: "tenant-a" },
|
||||
}),
|
||||
).toBe(true);
|
||||
expect(
|
||||
canManageUserInTenantScope({
|
||||
profile,
|
||||
user: { id: "user-2", tenantSlug: "tenant-b" },
|
||||
}),
|
||||
).toBe(false);
|
||||
});
|
||||
|
||||
it("does not treat ordinary tenant membership as delegated user management", () => {
|
||||
const profile = {
|
||||
id: "member-user",
|
||||
role: "user",
|
||||
tenantSlug: "tenant-a",
|
||||
manageableTenants: [],
|
||||
};
|
||||
|
||||
expect(canManageTenantScopedUsers(profile)).toBe(false);
|
||||
expect(
|
||||
canManageUserInTenantScope({
|
||||
profile,
|
||||
user: { id: "user-1", tenantSlug: "tenant-a" },
|
||||
}),
|
||||
).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user