forked from baron/baron-sso
78 lines
2.3 KiB
TypeScript
78 lines
2.3 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
const apiClient = {
|
|
post: vi.fn(),
|
|
put: vi.fn(),
|
|
};
|
|
|
|
vi.mock("./apiClient", () => ({
|
|
default: apiClient,
|
|
}));
|
|
|
|
describe("orgfront adminApi user tenant payloads", () => {
|
|
beforeEach(() => {
|
|
apiClient.post.mockReset();
|
|
apiClient.put.mockReset();
|
|
});
|
|
|
|
it("sends tenantSlug without remapping it to companyCode when creating a user", async () => {
|
|
const { createUser } = await import("./adminApi");
|
|
apiClient.post.mockResolvedValue({ data: {} });
|
|
|
|
await createUser({
|
|
email: "user@test.com",
|
|
name: "Test User",
|
|
tenantSlug: "test-tenant",
|
|
});
|
|
|
|
expect(apiClient.post).toHaveBeenCalledWith(
|
|
"/v1/admin/users",
|
|
expect.objectContaining({ tenantSlug: "test-tenant" }),
|
|
);
|
|
expect(apiClient.post.mock.calls[0][1]).not.toHaveProperty("companyCode");
|
|
});
|
|
|
|
it("sends tenantSlug without remapping it to companyCode when updating a user", async () => {
|
|
const { updateUser } = await import("./adminApi");
|
|
apiClient.put.mockResolvedValue({ data: {} });
|
|
|
|
await updateUser("user-id", { tenantSlug: "new-tenant" });
|
|
|
|
expect(apiClient.put).toHaveBeenCalledWith(
|
|
"/v1/admin/users/user-id",
|
|
expect.objectContaining({ tenantSlug: "new-tenant" }),
|
|
);
|
|
expect(apiClient.put.mock.calls[0][1]).not.toHaveProperty("companyCode");
|
|
});
|
|
|
|
it("keeps tenantSlug payloads unchanged for bulk user APIs", async () => {
|
|
const { bulkCreateUsers, bulkUpdateUsers } = await import("./adminApi");
|
|
apiClient.post.mockResolvedValue({ data: {} });
|
|
apiClient.put.mockResolvedValue({ data: {} });
|
|
|
|
await bulkCreateUsers([
|
|
{
|
|
email: "user@test.com",
|
|
name: "Test User",
|
|
tenantSlug: "test-tenant",
|
|
metadata: {},
|
|
},
|
|
]);
|
|
await bulkUpdateUsers({
|
|
userIds: ["user-id"],
|
|
tenantSlug: "new-tenant",
|
|
});
|
|
|
|
expect(apiClient.post.mock.calls[0][1].users[0]).toMatchObject({
|
|
tenantSlug: "test-tenant",
|
|
});
|
|
expect(apiClient.post.mock.calls[0][1].users[0]).not.toHaveProperty(
|
|
"companyCode",
|
|
);
|
|
expect(apiClient.put.mock.calls[0][1]).toMatchObject({
|
|
tenantSlug: "new-tenant",
|
|
});
|
|
expect(apiClient.put.mock.calls[0][1]).not.toHaveProperty("companyCode");
|
|
});
|
|
});
|