From d68b4146d31b95508f7c590c34b492f78ef6ab63 Mon Sep 17 00:00:00 2001 From: Camille Moussu <66134347+Eriikah@users.noreply.github.com> Date: Fri, 12 Dec 2025 18:00:27 +0100 Subject: [PATCH] [#397] Consider the calendar owner as the organizer when no organizer (#416) Co-authored-by: Camille Moussu --- .../features/Events/EventDisplay.test.tsx | 45 +++++++++++++++++++ src/features/Events/EventDisplayPreview.tsx | 40 +++++++++-------- 2 files changed, 66 insertions(+), 19 deletions(-) diff --git a/__test__/features/Events/EventDisplay.test.tsx b/__test__/features/Events/EventDisplay.test.tsx index 6379637..a8da0d7 100644 --- a/__test__/features/Events/EventDisplay.test.tsx +++ b/__test__/features/Events/EventDisplay.test.tsx @@ -90,6 +90,12 @@ describe("Event Preview Display", () => { end: day.toISOString(), organizer: { cn: "test", cal_address: "test@test.com" }, }, + event4: { + uid: "event4", + calId: "667037022b752d0026472254/cal1", + start: day.toISOString(), + end: day.toISOString(), + }, }, ownerEmails: ["test@test.com"], }, @@ -106,6 +112,12 @@ describe("Event Preview Display", () => { end: day.toISOString(), organizer: { cn: "john", cal_address: "john@test.com" }, }, + event2: { + uid: "event2", + calId: "otherCal/cal", + start: day.toISOString(), + end: day.toISOString(), + }, }, }, }, @@ -532,6 +544,39 @@ describe("Event Preview Display", () => { const updatedEvent = spy.mock.calls[0][0].newEvent; expect(updatedEvent.attendee[0].partstat).toBe("DECLINED"); }); + it("handles Edit click when is own but with no organizer", async () => { + renderWithProviders( + , + preloadedState + ); + + fireEvent.click(screen.getByTestId("EditIcon")); + + await waitFor(() => { + expect(screen.getByText("event.updateEvent")).toBeInTheDocument(); + }); + }); + + it("doesnt show edit button when is not own and with no organizer", async () => { + renderWithProviders( + , + preloadedState + ); + + await waitFor(() => { + expect(screen.queryByTestId("EditIcon")).not.toBeInTheDocument(); + }); + }); it("handles Edit click", async () => { renderWithProviders( )} - {user.userData.email === event.organizer?.cal_address && - calendar.ownerEmails?.includes(user.userData.email) && ( - { - if (isRecurring) { - setAfterChoiceFunc(() => () => { - setHidePreview(true); - setOpenUpdateModal(true); - }); - setOpenEditModePopup("edit"); - } else { + {isOrganizer && isOwn && ( + { + if (isRecurring) { + setAfterChoiceFunc(() => () => { setHidePreview(true); setOpenUpdateModal(true); - } - }} - > - - - )} + }); + setOpenEditModePopup("edit"); + } else { + setHidePreview(true); + setOpenUpdateModal(true); + } + }} + > + + + )} {((event.class !== "PRIVATE" && !isOwn) || isOwn) && ( - {user.userData.email === event.organizer?.cal_address && ( + {isOrganizer && ( { if (isRecurring) {