[#38] Adding several missing tests and correct CI setup
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// __test__/features/calendars/calendarApi.test.ts
|
||||
|
||||
import {
|
||||
getCalendar,
|
||||
getCalendars,
|
||||
} from "../../../src/features/Calendars/CalendarApi";
|
||||
import { clientConfig } from "../../../src/features/User/oidcAuth";
|
||||
import { api } from "../../../src/utils/apiUtils";
|
||||
clientConfig.url = "https://example.com";
|
||||
|
||||
jest.mock("../../../src/utils/apiUtils");
|
||||
|
||||
describe("Calendar API", () => {
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
describe("getCalendars", () => {
|
||||
it("fetches calendar list for a user", async () => {
|
||||
const mockUserId = "user123";
|
||||
const mockResponse = [{ id: "calendar1" }, { id: "calendar2" }];
|
||||
|
||||
(api.get as jest.Mock).mockReturnValue({
|
||||
json: jest.fn().mockResolvedValue(mockResponse),
|
||||
});
|
||||
|
||||
const calendars = await getCalendars(mockUserId);
|
||||
|
||||
expect(api.get).toHaveBeenCalledWith(
|
||||
`dav/calendars/${mockUserId}.json?personal=true&sharedDelegationStatus=accepted&sharedPublicSubscription=true&withRights=true`,
|
||||
{
|
||||
headers: { Accept: "application/calendar+json" },
|
||||
}
|
||||
);
|
||||
expect(calendars).toEqual(mockResponse);
|
||||
});
|
||||
});
|
||||
|
||||
describe("getCalendar", () => {
|
||||
it("fetches calendar events for a given ID and match window", async () => {
|
||||
const calendarId = "calendar1";
|
||||
const match = { start: "2025-07-01", end: "2025-07-31" };
|
||||
const mockCalendarData = { events: ["event1", "event2"] };
|
||||
|
||||
(api as unknown as jest.Mock).mockReturnValue({
|
||||
json: jest.fn().mockResolvedValue(mockCalendarData),
|
||||
});
|
||||
|
||||
const result = await getCalendar(calendarId, match);
|
||||
|
||||
expect(api).toHaveBeenCalledWith(`dav/calendars/${calendarId}.json`, {
|
||||
method: "REPORT",
|
||||
headers: {
|
||||
Accept: "application/json, text/plain, */*",
|
||||
},
|
||||
body: JSON.stringify({ match }),
|
||||
});
|
||||
|
||||
expect(result).toEqual(mockCalendarData);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user