fix: remove nested .git folders, re-add as normal directories

This commit is contained in:
2026-03-22 17:50:47 -05:00
parent f55c7e47c9
commit 6b7eec67b8
1870 changed files with 4170168 additions and 3 deletions
+81
View File
@@ -0,0 +1,81 @@
import { beforeEach, describe, expect, it, vi } from "vitest";
const { mockApi } = vi.hoisted(() => ({
mockApi: {
get: vi.fn(),
},
}));
vi.mock("../axios", () => ({
default: mockApi,
api: mockApi,
}));
import { cw, type CWMember } from "./cw";
describe("cw module", () => {
beforeEach(() => {
vi.clearAllMocks();
});
it("fetchMembers calls /v1/cw/members with auth header", async () => {
const mockMembers: CWMember[] = [
{
id: 1,
identifier: "jdoe",
firstName: "John",
lastName: "Doe",
name: "John Doe",
officeEmail: "jdoe@example.com",
inactive: false,
},
];
mockApi.get.mockResolvedValueOnce({ data: { data: mockMembers } });
const result = await cw.fetchMembers("test-token");
expect(mockApi.get).toHaveBeenCalledWith("/v1/cw/members", {
params: {},
headers: { Authorization: "Bearer test-token" },
});
expect(result).toEqual(mockMembers);
});
it("fetchMembers passes active=false param when specified", async () => {
mockApi.get.mockResolvedValueOnce({ data: { data: [] } });
await cw.fetchMembers("test-token", { active: false });
expect(mockApi.get).toHaveBeenCalledWith("/v1/cw/members", {
params: { active: "false" },
headers: { Authorization: "Bearer test-token" },
});
});
it("fetchMembers does not set active param when active is true", async () => {
mockApi.get.mockResolvedValueOnce({ data: { data: [] } });
await cw.fetchMembers("test-token", { active: true });
expect(mockApi.get).toHaveBeenCalledWith("/v1/cw/members", {
params: {},
headers: { Authorization: "Bearer test-token" },
});
});
it("fetchMembers propagates API errors", async () => {
mockApi.get.mockRejectedValueOnce(new Error("Network error"));
await expect(cw.fetchMembers("test-token")).rejects.toThrow(
"Network error",
);
});
it("fetchMembers returns empty array when API returns empty", async () => {
mockApi.get.mockResolvedValueOnce({ data: { data: [] } });
const result = await cw.fetchMembers("test-token");
expect(result).toEqual([]);
});
});