[#80] added selected calendars local persistance + tests (#281)

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
This commit is contained in:
Camille Moussu
2025-11-04 16:00:08 +01:00
committed by GitHub
parent 838262fde3
commit 4f5308fe08
4 changed files with 75 additions and 6 deletions
+43
View File
@@ -20,6 +20,9 @@ function CalendarTestWrapper() {
}
describe("CalendarSelection", () => {
beforeEach(() => {
localStorage.clear();
});
const today = new Date();
const start = new Date(today);
start.setHours(10, 0, 0, 0);
@@ -270,9 +273,49 @@ describe("CalendarSelection", () => {
)
).toHaveClass("event-dot");
});
it("renders calendars with local storage", async () => {
const mockCalendarRef = { current: null };
localStorage.setItem(
"selectedCalendars",
JSON.stringify(Object.keys(preloadedState.calendars.list))
);
await act(async () => {
renderWithProviders(
<CalendarApp calendarRef={mockCalendarRef} />,
preloadedState
);
});
expect(screen.getByLabelText("Calendar personnal")).toBeChecked();
expect(screen.getByLabelText("Calendar delegated")).toBeChecked();
expect(screen.getByLabelText("Calendar shared")).toBeChecked();
});
it("persist selected calendars in local storage", async () => {
const mockCalendarRef = { current: null };
await act(async () => {
renderWithProviders(
<CalendarApp calendarRef={mockCalendarRef} />,
preloadedState
);
});
expect(screen.getByLabelText("Calendar personnal")).toBeChecked();
expect(screen.getByLabelText("Calendar delegated")).not.toBeChecked();
expect(screen.getByLabelText("Calendar shared")).not.toBeChecked();
await act(async () => {
fireEvent.click(screen.getByLabelText("Calendar personnal"));
fireEvent.click(screen.getByLabelText("Calendar shared"));
});
expect(localStorage.getItem("selectedCalendars")).toBe('["user3/cal1"]');
});
});
describe("calendar Availability search", () => {
beforeEach(() => {
localStorage.clear();
});
const preloadedState = {
user: {
userData: {
@@ -6,6 +6,9 @@ import * as calendarThunks from "../../src/features/Calendars/CalendarSlice";
import userEvent from "@testing-library/user-event";
describe("CalendarSelection", () => {
beforeEach(() => {
localStorage.clear();
});
const baseUser = {
userData: {
sub: "test",