Skip to content

Commit

Permalink
created expectBookingCancelledWebhookToHaveBeenFired function
Browse files Browse the repository at this point in the history
  • Loading branch information
vikaspatil0021 committed Apr 26, 2024
1 parent d533e7b commit 519ceab
Showing 1 changed file with 102 additions and 64 deletions.
166 changes: 102 additions & 64 deletions apps/web/test/utils/bookingScenario/expects.ts
Expand Up @@ -215,12 +215,12 @@ expect.extend({
const bookingTimeRange = expectedEmail.bookingTimeRange;
const when = bookingTimeRange
? formatDateToWhenFormat(
{
start: bookingTimeRange.start,
end: bookingTimeRange.end,
},
bookingTimeRange.timeZone
)
{

Check failure on line 218 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L218

[prettier/prettier] Insert `··`
start: bookingTimeRange.start,

Check failure on line 219 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L219

[prettier/prettier] Insert `··`
end: bookingTimeRange.end,

Check failure on line 220 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L220

[prettier/prettier] Insert `··`
},

Check failure on line 221 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L221

[prettier/prettier] Insert `··`
bookingTimeRange.timeZone

Check failure on line 222 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L222

[prettier/prettier] Insert `··`
)

Check failure on line 223 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L223

[prettier/prettier] Insert `··`
: null;

const expectedEmailContent = {
Expand All @@ -244,9 +244,8 @@ expect.extend({
return;
}

const expectedRrule = `FREQ=${
expectedRecurrence.freq === 0 ? "YEARLY" : expectedRecurrence.freq === 1 ? "MONTHLY" : "WEEKLY"
};COUNT=${expectedRecurrence.count};INTERVAL=${expectedRecurrence.interval}`;
const expectedRrule = `FREQ=${expectedRecurrence.freq === 0 ? "YEARLY" : expectedRecurrence.freq === 1 ? "MONTHLY" : "WEEKLY"

Check failure on line 247 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L247

[prettier/prettier] Insert `⏎········`
};COUNT=${expectedRecurrence.count};INTERVAL=${expectedRecurrence.interval}`;

Check failure on line 248 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L248

[prettier/prettier] Delete `··`

logger.silly({
expectedRrule,
Expand Down Expand Up @@ -395,24 +394,24 @@ export function expectSuccessfulBookingCreationEmails({
subHeading: "",
links: recurrence
? [
{
href: `${bookingUrlOrigin}/booking/${booking.uid}?cancel=true&allRemainingBookings=true`,
text: "cancel",
},
]
{

Check failure on line 397 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L397

[prettier/prettier] Insert `··`
href: `${bookingUrlOrigin}/booking/${booking.uid}?cancel=true&allRemainingBookings=true`,

Check failure on line 398 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L398

[prettier/prettier] Insert `··`
text: "cancel",

Check failure on line 399 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L399

[prettier/prettier] Insert `··`
},

Check failure on line 400 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L400

[prettier/prettier] Insert `··`
]

Check failure on line 401 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L401

[prettier/prettier] Insert `··`
: [
{
href: `${bookingUrlOrigin}/reschedule/${booking.uid}`,
text: "reschedule",
},
],
{

Check failure on line 403 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L403

[prettier/prettier] Replace `··········` with `············`
href: `${bookingUrlOrigin}/reschedule/${booking.uid}`,

Check failure on line 404 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L404

[prettier/prettier] Insert `··`
text: "reschedule",

Check failure on line 405 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L405

[prettier/prettier] Insert `··`
},

Check failure on line 406 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L406

[prettier/prettier] Replace `··········` with `············`
],

Check failure on line 407 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L407

[prettier/prettier] Insert `··`
...(bookingTimeRange
? {
bookingTimeRange: {
...bookingTimeRange,
timeZone: organizer.timeZone,
},
}
bookingTimeRange: {

Check failure on line 410 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L410

[prettier/prettier] Insert `··`
...bookingTimeRange,

Check failure on line 411 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L411

[prettier/prettier] Insert `··`
timeZone: organizer.timeZone,

Check failure on line 412 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L412

[prettier/prettier] Insert `··`
},

Check failure on line 413 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L413

[prettier/prettier] Insert `··`
}

Check failure on line 414 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L414

[prettier/prettier] Insert `··`
: null),
to: `${destinationEmail ?? organizer.email}`,
ics: {
Expand All @@ -432,12 +431,12 @@ export function expectSuccessfulBookingCreationEmails({
subHeading: "emailed_you_and_any_other_attendees",
...(bookingTimeRange
? {
bookingTimeRange: {
...bookingTimeRange,
// Using the default timezone
timeZone: booker.timeZone || DEFAULT_TIMEZONE_BOOKER,
},
}
bookingTimeRange: {

Check failure on line 434 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L434

[prettier/prettier] Insert `··`
...bookingTimeRange,

Check failure on line 435 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L435

[prettier/prettier] Insert `··`
// Using the default timezone

Check failure on line 436 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L436

[prettier/prettier] Insert `··`
timeZone: booker.timeZone || DEFAULT_TIMEZONE_BOOKER,

Check failure on line 437 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L437

[prettier/prettier] Insert `··`
},

Check failure on line 438 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L438

[prettier/prettier] Insert `··`
}

Check failure on line 439 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L439

[prettier/prettier] Insert `··`
: null),
to: `${booker.name} <${booker.email}>`,
ics: {
Expand All @@ -448,17 +447,17 @@ export function expectSuccessfulBookingCreationEmails({
},
links: recurrence
? [
{
href: `${bookingUrlOrigin}/booking/${booking.uid}?cancel=true&allRemainingBookings=true`,
text: "cancel",
},
]
{

Check failure on line 450 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L450

[prettier/prettier] Insert `··`
href: `${bookingUrlOrigin}/booking/${booking.uid}?cancel=true&allRemainingBookings=true`,

Check failure on line 451 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L451

[prettier/prettier] Insert `··`
text: "cancel",

Check failure on line 452 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L452

[prettier/prettier] Insert `··`
},

Check failure on line 453 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L453

[prettier/prettier] Insert `··`
]

Check failure on line 454 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L454

[prettier/prettier] Replace `········` with `··········`
: [
{
href: `${bookingUrlOrigin}/reschedule/${booking.uid}`,
text: "reschedule",
},
],
{

Check failure on line 456 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L456

[prettier/prettier] Insert `··`
href: `${bookingUrlOrigin}/reschedule/${booking.uid}`,

Check failure on line 457 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L457

[prettier/prettier] Insert `··`
text: "reschedule",

Check failure on line 458 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L458

[prettier/prettier] Insert `··`
},

Check failure on line 459 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L459

[prettier/prettier] Insert `··`
],

Check failure on line 460 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L460

[prettier/prettier] Insert `··`
},
`${booker.name} <${booker.email}>`
);
Expand All @@ -472,11 +471,11 @@ export function expectSuccessfulBookingCreationEmails({
subHeading: "",
...(bookingTimeRange
? {
bookingTimeRange: {
...bookingTimeRange,
timeZone: otherTeamMember.timeZone || DEFAULT_TIMEZONE_BOOKER,
},
}
bookingTimeRange: {

Check failure on line 474 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L474

[prettier/prettier] Insert `··`
...bookingTimeRange,

Check failure on line 475 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L475

[prettier/prettier] Insert `··`
timeZone: otherTeamMember.timeZone || DEFAULT_TIMEZONE_BOOKER,

Check failure on line 476 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L476

[prettier/prettier] Insert `··`
},

Check failure on line 477 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L477

[prettier/prettier] Insert `··`
}

Check failure on line 478 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L478

[prettier/prettier] Insert `··`
: null),
// Don't know why but organizer and team members of the eventType don'thave their name here like Booker
to: `${otherTeamMember.email}`,
Expand Down Expand Up @@ -510,11 +509,11 @@ export function expectSuccessfulBookingCreationEmails({
subHeading: "emailed_you_and_any_other_attendees",
...(bookingTimeRange
? {
bookingTimeRange: {
...bookingTimeRange,
timeZone: guest.timeZone || DEFAULT_TIMEZONE_BOOKER,
},
}
bookingTimeRange: {

Check failure on line 512 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L512

[prettier/prettier] Insert `··`
...bookingTimeRange,

Check failure on line 513 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L513

[prettier/prettier] Insert `··`
timeZone: guest.timeZone || DEFAULT_TIMEZONE_BOOKER,

Check failure on line 514 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L514

[prettier/prettier] Insert `··`
},

Check failure on line 515 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L515

[prettier/prettier] Insert `··`
}

Check failure on line 516 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L516

[prettier/prettier] Insert `··`
: null),
to: `${guest.email}`,
ics: {
Expand Down Expand Up @@ -941,6 +940,45 @@ export function expectBookingRescheduledWebhookToHaveBeenFired({
});
}

export function expectBookingCancelledWebhookToHaveBeenFired({
booker,
location,
subscriberUrl,
payload,
}: {
organizer: { email: string; name: string };
booker: { email: string; name: string };
subscriberUrl: string;
location: string;
payload?: Record<string, unknown>;
}) {
expectWebhookToHaveBeenCalledWith(subscriberUrl, {
triggerEvent: "BOOKING_CANCELLED",
payload: {
...payload,
metadata: null,
responses: {
booker: {
label: "your_name",
value: booker.name,
isHidden: false,
},
email: {
label: "email_address",
value: booker.email,
isHidden: false,
},
location: {
label: "location",
value: { optionValue: "", value: location },
isHidden: false,
},
},
},
});
}


export function expectBookingPaymentIntiatedWebhookToHaveBeenFired({

Check failure on line 982 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L981-L982

[prettier/prettier] Delete `⏎`
booker,
location,
Expand Down Expand Up @@ -982,15 +1020,15 @@ export function expectSuccessfulCalendarEventCreationInCalendar(
},
expected:
| {
calendarId?: string | null;
videoCallUrl: string;
destinationCalendars?: Partial<DestinationCalendar>[];
}
calendarId?: string | null;

Check failure on line 1023 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1023

[prettier/prettier] Insert `··`
videoCallUrl: string;

Check failure on line 1024 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1024

[prettier/prettier] Insert `··`
destinationCalendars?: Partial<DestinationCalendar>[];

Check failure on line 1025 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1025

[prettier/prettier] Insert `··`
}

Check failure on line 1026 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1026

[prettier/prettier] Replace `····` with `······`
| {
calendarId?: string | null;
videoCallUrl: string;
destinationCalendars?: Partial<DestinationCalendar>[];
}[]
calendarId?: string | null;

Check failure on line 1028 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1028

[prettier/prettier] Insert `··`
videoCallUrl: string;

Check failure on line 1029 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1029

[prettier/prettier] Insert `··`
destinationCalendars?: Partial<DestinationCalendar>[];

Check failure on line 1030 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1030

[prettier/prettier] Insert `··`
}[]

Check failure on line 1031 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1031

[prettier/prettier] Insert `··`
) {
const expecteds = expected instanceof Array ? expected : [expected];
expect(calendarMock.createEventCalls.length).toBe(expecteds.length);
Expand All @@ -1003,13 +1041,13 @@ export function expectSuccessfulCalendarEventCreationInCalendar(
expect.objectContaining({
destinationCalendar: expected.calendarId
? [
expect.objectContaining({
externalId: expected.calendarId,
}),
]
expect.objectContaining({

Check failure on line 1044 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1044

[prettier/prettier] Insert `··`
externalId: expected.calendarId,

Check failure on line 1045 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1045

[prettier/prettier] Insert `··`
}),

Check failure on line 1046 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1046

[prettier/prettier] Insert `··`
]

Check failure on line 1047 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1047

[prettier/prettier] Insert `··`
: expected.destinationCalendars
? expect.arrayContaining(expected.destinationCalendars.map((cal) => expect.objectContaining(cal)))
: null,
? expect.arrayContaining(expected.destinationCalendars.map((cal) => expect.objectContaining(cal)))

Check failure on line 1049 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1049

[prettier/prettier] Delete `··`
: null,

Check failure on line 1050 in apps/web/test/utils/bookingScenario/expects.ts

View workflow job for this annotation

GitHub Actions / ESLint Report Analysis

apps/web/test/utils/bookingScenario/expects.ts#L1050

[prettier/prettier] Delete `··`
videoCallData: expect.objectContaining({
url: expected.videoCallUrl,
}),
Expand Down

0 comments on commit 519ceab

Please sign in to comment.