diff --git a/extensions/calDotCom/__mocks__/calComApi.ts b/extensions/calDotCom/__mocks__/calComApi.ts index 30789a1a7..a2296bf86 100644 --- a/extensions/calDotCom/__mocks__/calComApi.ts +++ b/extensions/calDotCom/__mocks__/calComApi.ts @@ -4,9 +4,9 @@ const mock = jest.fn().mockImplementation((params) => { return { getBooking: jest.fn((params) => { console.log('Mocking cal.com api', params) - return { booking: { id: 'test' } } + return { booking: { id: 'test', uid: 'test', eventTypeId: '123' } } }), - }; -}); + } +}) -export default mock; +export default mock diff --git a/extensions/calDotCom/actions/__tests__/getBooking.ts b/extensions/calDotCom/actions/__tests__/getBooking.ts index bbafe62ed..6107bcba7 100644 --- a/extensions/calDotCom/actions/__tests__/getBooking.ts +++ b/extensions/calDotCom/actions/__tests__/getBooking.ts @@ -3,6 +3,9 @@ jest.mock('../../calComApi') describe('Simple getBooking action', () => { const onComplete = jest.fn() + const settings = { + apiKey: 'apiKey', + } beforeEach(() => { onComplete.mockClear() @@ -22,13 +25,17 @@ describe('Simple getBooking action', () => { fields: { bookingId: '123', }, - settings: { - apiKey: 'apiKey', - }, + settings, }, onComplete, jest.fn() ) - expect(onComplete).toHaveBeenCalled() + expect(onComplete).toHaveBeenCalledWith({ + data_points: { + cancelUrl: `https://app.cal.com/booking/test?cancel=true`, + rescheduleUrl: `https://app.cal.com/reschedule/test`, + eventTypeId: '123', + }, + }) }) }) diff --git a/extensions/calDotCom/actions/getBooking.ts b/extensions/calDotCom/actions/getBooking.ts index 7d86fdfd0..bac435b2b 100644 --- a/extensions/calDotCom/actions/getBooking.ts +++ b/extensions/calDotCom/actions/getBooking.ts @@ -42,6 +42,14 @@ const dataPoints = { key: 'status', valueType: 'string', }, + cancelUrl: { + key: 'cancelUrl', + valueType: 'string', + }, + rescheduleUrl: { + key: 'rescheduleUrl', + valueType: 'string', + }, } satisfies Record export const getBooking: Action = { @@ -79,6 +87,8 @@ export const getBooking: Action = { startTime: booking.startTime, endTime: booking.endTime, status: booking.status, + cancelUrl: `https://app.cal.com/booking/${booking.uid}?cancel=true`, + rescheduleUrl: `https://app.cal.com/reschedule/${booking.uid}`, }, }) } catch (error) {