From 47d941676e60ae791098d10c146c83f2c3ce1489 Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Fri, 9 May 2025 21:27:24 +0530 Subject: [PATCH] fix: add org email into ics when hideorganizer email is true (#21212) * fix: add org email into ics * update test --- packages/emails/lib/generateIcsString.test.ts | 54 ++----------------- packages/emails/lib/generateIcsString.ts | 5 +- 2 files changed, 4 insertions(+), 55 deletions(-) diff --git a/packages/emails/lib/generateIcsString.test.ts b/packages/emails/lib/generateIcsString.test.ts index 5e1538f075..d271de9e5c 100644 --- a/packages/emails/lib/generateIcsString.test.ts +++ b/packages/emails/lib/generateIcsString.test.ts @@ -31,14 +31,9 @@ const testIcsStringContains = ({ // Sometimes the deeply equal stringMatching error appears. Don't want to add flakey tests // expect(icsString).toEqual(expect.stringContaining(`SUMMARY:${event.title}`)); expect(icsString).toEqual(expect.stringContaining(`DTSTART:${DTSTART}`)); - if (event.hideOrganizerEmail) { - expect(icsString).toEqual(expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}`)); - expect(icsString).not.toEqual(expect.stringContaining(`mailto:${event.organizer.email}`)); - } else { - expect(icsString).toEqual( - expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}:mailto:${event.organizer.email}`) - ); - } + expect(icsString).toEqual( + expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}:mailto:${event.organizer.email}`) + ); expect(icsString).toEqual(expect.stringContaining(`DTEND:${DTEND}`)); expect(icsString).toEqual(expect.stringContaining(`STATUS:${status}`)); // Getting an error expected icsString to deeply equal stringMatching @@ -163,47 +158,4 @@ describe("generateIcsString", () => { expect(icsString).toEqual(expect.stringContaining(`LOCATION:${event.location}`)); }); }); - - describe("hidden organizer email", () => { - test("when hideOrganizerEmail is true, organizer email should be omitted", () => { - const event = buildCalendarEvent({ - iCalSequence: 0, - attendees: [buildPerson()], - hideOrganizerEmail: true, - }); - const status = "CONFIRMED"; - - const icsString = generateIcsString({ - event: event, - status, - }); - - const assertedIcsString = assertHasIcsString(icsString); - - expect(assertedIcsString).toEqual(expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}`)); - expect(assertedIcsString).not.toEqual( - expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}:mailto:`) - ); - }); - - test("when hideOrganizerEmail is false, organizer email should be included", () => { - const event = buildCalendarEvent({ - iCalSequence: 0, - attendees: [buildPerson()], - hideOrganizerEmail: false, - }); - const status = "CONFIRMED"; - - const icsString = generateIcsString({ - event: event, - status, - }); - - const assertedIcsString = assertHasIcsString(icsString); - - expect(assertedIcsString).toEqual( - expect.stringContaining(`ORGANIZER;CN=${event.organizer.name}:mailto:${event.organizer.email}`) - ); - }); - }); }); diff --git a/packages/emails/lib/generateIcsString.ts b/packages/emails/lib/generateIcsString.ts index 1541734bec..fa3dbe4328 100644 --- a/packages/emails/lib/generateIcsString.ts +++ b/packages/emails/lib/generateIcsString.ts @@ -74,10 +74,7 @@ const generateIcsString = ({ productId: "calcom/ics", title: event.title, description: getRichDescription(event, t), - organizer: { - name: event.organizer.name, - ...(event.hideOrganizerEmail ? {} : { email: event.organizer.email }), - }, + organizer: { name: event.organizer.name, email: event.organizer.email }, ...{ recurrenceRule }, attendees: [ ...event.attendees.map((attendee: Person) => ({