Co-authored-by: Camille Moussu <cmoussu@linagora.com>
This commit is contained in:
@@ -90,6 +90,12 @@ describe("Event Preview Display", () => {
|
|||||||
end: day.toISOString(),
|
end: day.toISOString(),
|
||||||
organizer: { cn: "test", cal_address: "test@test.com" },
|
organizer: { cn: "test", cal_address: "test@test.com" },
|
||||||
},
|
},
|
||||||
|
event4: {
|
||||||
|
uid: "event4",
|
||||||
|
calId: "667037022b752d0026472254/cal1",
|
||||||
|
start: day.toISOString(),
|
||||||
|
end: day.toISOString(),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
ownerEmails: ["test@test.com"],
|
ownerEmails: ["test@test.com"],
|
||||||
},
|
},
|
||||||
@@ -106,6 +112,12 @@ describe("Event Preview Display", () => {
|
|||||||
end: day.toISOString(),
|
end: day.toISOString(),
|
||||||
organizer: { cn: "john", cal_address: "john@test.com" },
|
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;
|
const updatedEvent = spy.mock.calls[0][0].newEvent;
|
||||||
expect(updatedEvent.attendee[0].partstat).toBe("DECLINED");
|
expect(updatedEvent.attendee[0].partstat).toBe("DECLINED");
|
||||||
});
|
});
|
||||||
|
it("handles Edit click when is own but with no organizer", async () => {
|
||||||
|
renderWithProviders(
|
||||||
|
<EventPreviewModal
|
||||||
|
open={true}
|
||||||
|
onClose={mockOnClose}
|
||||||
|
calId={"667037022b752d0026472254/cal1"}
|
||||||
|
eventId={"event4"}
|
||||||
|
/>,
|
||||||
|
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(
|
||||||
|
<EventPreviewModal
|
||||||
|
open={true}
|
||||||
|
onClose={mockOnClose}
|
||||||
|
calId={"otherCal/cal"}
|
||||||
|
eventId={"event2"}
|
||||||
|
/>,
|
||||||
|
preloadedState
|
||||||
|
);
|
||||||
|
|
||||||
|
await waitFor(() => {
|
||||||
|
expect(screen.queryByTestId("EditIcon")).not.toBeInTheDocument();
|
||||||
|
});
|
||||||
|
});
|
||||||
it("handles Edit click", async () => {
|
it("handles Edit click", async () => {
|
||||||
renderWithProviders(
|
renderWithProviders(
|
||||||
<EventPreviewModal
|
<EventPreviewModal
|
||||||
|
|||||||
@@ -81,6 +81,9 @@ export default function EventPreviewModal({
|
|||||||
|
|
||||||
const isRecurring = event?.uid?.includes("/");
|
const isRecurring = event?.uid?.includes("/");
|
||||||
const isOwn = calendar.ownerEmails?.includes(user.userData.email);
|
const isOwn = calendar.ownerEmails?.includes(user.userData.email);
|
||||||
|
const isOrganizer = event.organizer
|
||||||
|
? user.userData.email === event.organizer.cal_address
|
||||||
|
: isOwn;
|
||||||
const [showAllAttendees, setShowAllAttendees] = useState(false);
|
const [showAllAttendees, setShowAllAttendees] = useState(false);
|
||||||
const [openUpdateModal, setOpenUpdateModal] = useState(false);
|
const [openUpdateModal, setOpenUpdateModal] = useState(false);
|
||||||
const [openDuplicateModal, setOpenDuplicateModal] = useState(false);
|
const [openDuplicateModal, setOpenDuplicateModal] = useState(false);
|
||||||
@@ -324,26 +327,25 @@ export default function EventPreviewModal({
|
|||||||
<FileDownloadOutlinedIcon />
|
<FileDownloadOutlinedIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
)}
|
)}
|
||||||
{user.userData.email === event.organizer?.cal_address &&
|
{isOrganizer && isOwn && (
|
||||||
calendar.ownerEmails?.includes(user.userData.email) && (
|
<IconButton
|
||||||
<IconButton
|
size="small"
|
||||||
size="small"
|
onClick={() => {
|
||||||
onClick={() => {
|
if (isRecurring) {
|
||||||
if (isRecurring) {
|
setAfterChoiceFunc(() => () => {
|
||||||
setAfterChoiceFunc(() => () => {
|
|
||||||
setHidePreview(true);
|
|
||||||
setOpenUpdateModal(true);
|
|
||||||
});
|
|
||||||
setOpenEditModePopup("edit");
|
|
||||||
} else {
|
|
||||||
setHidePreview(true);
|
setHidePreview(true);
|
||||||
setOpenUpdateModal(true);
|
setOpenUpdateModal(true);
|
||||||
}
|
});
|
||||||
}}
|
setOpenEditModePopup("edit");
|
||||||
>
|
} else {
|
||||||
<EditIcon />
|
setHidePreview(true);
|
||||||
</IconButton>
|
setOpenUpdateModal(true);
|
||||||
)}
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<EditIcon />
|
||||||
|
</IconButton>
|
||||||
|
)}
|
||||||
{((event.class !== "PRIVATE" && !isOwn) || isOwn) && (
|
{((event.class !== "PRIVATE" && !isOwn) || isOwn) && (
|
||||||
<IconButton
|
<IconButton
|
||||||
size="small"
|
size="small"
|
||||||
@@ -380,7 +382,7 @@ export default function EventPreviewModal({
|
|||||||
setOpenDuplicateModal(true);
|
setOpenDuplicateModal(true);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{user.userData.email === event.organizer?.cal_address && (
|
{isOrganizer && (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
if (isRecurring) {
|
if (isRecurring) {
|
||||||
|
|||||||
Reference in New Issue
Block a user