Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/oasdiff-err-ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@ GET /v2/event-types/{eventTypeId} added to the 'data' response property 'oneOf'
GET /v2/event-types/{eventTypeId} added '#/components/schemas/EventTypeOutput_2024_06_14, #/components/schemas/TeamEventTypeOutput_2024_06_14' to the 'data' response property 'oneOf' list for the response status '200'
GET /v2/bookings/{bookingUid}/recordings added the new required 'header' request parameter 'Authorization'
GET /v2/bookings/{bookingUid}/transcripts added the new required 'header' request parameter 'Authorization'
POST /v2/bookings added 'subschema #2, subschema #4' to the 'data' response property 'oneOf' list for the response status '201'
GET /v2/bookings/{bookingUid} added 'subschema #3, subschema #6' to the 'data' response property 'oneOf' list for the response status '200'
POST /v2/bookings/{bookingUid}/cancel added 'subschema #3, subschema #6' to the 'data' response property 'oneOf' list for the response status '200'
POST /v2/bookings/{bookingUid}/confirm added 'subschema #3, subschema #6' to the 'data' response property 'oneOf' list for the response status '200'
POST /v2/bookings/{bookingUid}/decline added 'subschema #3, subschema #6' to the 'data' response property 'oneOf' list for the response status '200'
POST /v2/bookings/{bookingUid}/guests added 'subschema #3, subschema #6' to the 'data' response property 'oneOf' list for the response status '200'
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,6 +624,91 @@ describe("Managed user bookings 2024-08-13", () => {
});
});

describe("displayEmail fields", () => {
it("should return displayEmail without CUID suffix for host", async () => {
const body: CreateBookingInput_2024_08_13 = {
start: new Date(Date.UTC(2030, 0, 7, 10, 0, 0)).toISOString(),
eventTypeId: firstManagedUserEventTypeId,
attendee: {
name: "External Attendee",
email: "[email protected]",
timeZone: "Europe/Rome",
language: "en",
},
location: "https://meet.google.com/abc-def-ghi",
};

const response = await request(app.getHttpServer())
.post("/v2/bookings")
.send(body)
.set(CAL_API_VERSION_HEADER, VERSION_2024_08_13)
.expect(201);

const bookingData = response.body.data;

// Host email should have CUID, displayEmail should not
expect(bookingData.hosts[0].email).toEqual(firstManagedUser.user.email);
expect(bookingData.hosts[0].displayEmail).toEqual(firstManagedUserEmail);
});

it("should return displayEmail without CUID suffix for attendee", async () => {
const body: CreateBookingInput_2024_08_13 = {
start: new Date(Date.UTC(2030, 0, 7, 10, 30, 0)).toISOString(),
eventTypeId: firstManagedUserEventTypeId,
attendee: {
name: secondManagedUser.user.name!,
email: secondManagedUser.user.email,
timeZone: secondManagedUser.user.timeZone,
language: secondManagedUser.user.locale,
},
location: "https://meet.google.com/abc-def-ghi",
};

const response = await request(app.getHttpServer())
.post("/v2/bookings")
.send(body)
.set(CAL_API_VERSION_HEADER, VERSION_2024_08_13)
.expect(201);

const bookingData = response.body.data;

// Attendee email should have CUID, displayEmail should not
expect(bookingData.attendees[0].email).toEqual(secondManagedUser.user.email);
expect(bookingData.attendees[0].displayEmail).toEqual(secondManagedUserEmail);

// bookingFieldsResponses should also have displayEmail
expect(bookingData.bookingFieldsResponses.email).toEqual(secondManagedUser.user.email);
expect(bookingData.bookingFieldsResponses.displayEmail).toEqual(secondManagedUserEmail);
});

it("should return displayGuests without CUID suffix", async () => {
const body: CreateBookingInput_2024_08_13 = {
start: new Date(Date.UTC(2030, 0, 7, 11, 0, 0)).toISOString(),
eventTypeId: firstManagedUserEventTypeId,
attendee: {
name: "External Attendee",
email: "[email protected]",
timeZone: "Europe/Rome",
language: "en",
},
guests: [secondManagedUser.user.email],
location: "https://meet.google.com/abc-def-ghi",
};

const response = await request(app.getHttpServer())
.post("/v2/bookings")
.send(body)
.set(CAL_API_VERSION_HEADER, VERSION_2024_08_13)
.expect(201);

const bookingData = response.body.data;

// guests should have CUID, displayGuests should not
expect(bookingData.bookingFieldsResponses.guests).toContain(secondManagedUser.user.email);
expect(bookingData.bookingFieldsResponses.displayGuests).toContain(secondManagedUserEmail);
});
});

describe("booking confirmation by org admin", () => {
it("should allow org admin managed user to confirm booking using access token", async () => {
const bookingRequiringConfirmation = await bookingsRepositoryFixture.create({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
id: teamUser2.id,
name: teamUser2.name,
email: teamUser2.email,
displayEmail: teamUser2.email,
});

const reassigned = await bookingsRepositoryFixture.getByUid(roundRobinBooking.uid);
Expand Down Expand Up @@ -532,6 +533,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
id: teamUser1.id,
name: teamUser1.name,
email: teamUser1.email,
displayEmail: teamUser1.email,
});

const reassigned = await bookingsRepositoryFixture.getByUid(roundRobinBooking.uid);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(firstBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -206,6 +207,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(secondBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -262,6 +264,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(firstBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -284,6 +287,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(secondBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -304,6 +308,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(thirdBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -276,6 +277,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(firstAttendee).toEqual({
name: createdSeatedBooking.attendees[0].name,
email: createdSeatedBooking.attendees[0].email,
displayEmail: createdSeatedBooking.attendees[0].displayEmail,
timeZone: createdSeatedBooking.attendees[0].timeZone,
language: createdSeatedBooking.attendees[0].language,
absent: false,
Expand All @@ -291,6 +293,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(secondAttendee).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -418,6 +421,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: attendee?.name,
email: attendee?.email,
displayEmail: attendee?.displayEmail,
timeZone: attendee?.timeZone,
language: attendee?.language,
absent: false,
Expand Down Expand Up @@ -841,6 +845,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -573,6 +574,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: "[email protected]",
displayEmail: "[email protected]",
phoneNumber: body.attendee.phoneNumber,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
Expand Down Expand Up @@ -629,13 +631,15 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
});
expect(data.attendees[1]).toEqual({
name: teamUser2.name,
email: teamUser2.email,
displayEmail: teamUser2.email,
timeZone: teamUser2.timeZone,
language: teamUser2.locale,
absent: false,
Expand Down Expand Up @@ -690,6 +694,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -744,6 +749,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -927,6 +933,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: phoneBasedBooking.attendees[0].name,
email: phoneBasedBooking.attendees[0].email,
displayEmail: phoneBasedBooking.attendees[0].displayEmail,
phoneNumber: phoneBasedBooking.attendees[0].phoneNumber,
timeZone: phoneBasedBooking.attendees[0].timeZone,
language: phoneBasedBooking.attendees[0].language,
Expand Down Expand Up @@ -1010,6 +1017,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -493,8 +494,10 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.bookingFieldsResponses).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
...body.bookingFieldsResponses,
guests: body.guests,
displayGuests: body.guests,
location: {
optionValue: googleMeetUrl,
value: "link",
Expand Down Expand Up @@ -566,6 +569,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(firstBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -588,6 +592,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(secondBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -609,6 +614,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(thirdBooking.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand Down Expand Up @@ -2077,6 +2083,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
absent: false,
Expand All @@ -2087,8 +2094,10 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.bookingFieldsResponses).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
...body.bookingFieldsResponses,
guests: body.guests,
displayGuests: body.guests,
location: {
optionValue: googleMeetUrl,
value: "link",
Expand Down Expand Up @@ -2527,6 +2536,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.attendees[0]).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
timeZone: body.attendee.timeZone,
language: body.attendee.language,
phoneNumber: body.attendee.phoneNumber,
Expand All @@ -2535,6 +2545,7 @@ describe("Bookings Endpoints 2024-08-13", () => {
expect(data.bookingFieldsResponses).toEqual({
name: body.attendee.name,
email: body.attendee.email,
displayEmail: body.attendee.email,
attendeePhoneNumber: body.attendee.phoneNumber,
smsReminderNumber: body.attendee.phoneNumber,
});
Expand Down
Loading
Loading