Adjusting jest and expanding test builders (#4837)
* Adjusting jest and expanding test builders * Removing unneeded jest config
This commit is contained in:
parent
4e49d32c61
commit
41c1e960f8
|
@ -54,9 +54,15 @@ const config: Config = {
|
||||||
displayName: "@calcom/api",
|
displayName: "@calcom/api",
|
||||||
roots: ["<rootDir>/apps/api"],
|
roots: ["<rootDir>/apps/api"],
|
||||||
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
|
testMatch: ["**/test/lib/**/*.(spec|test).(ts|tsx|js)"],
|
||||||
|
setupFilesAfterEnv: ["<rootDir>/tests/config/singleton.ts"],
|
||||||
transform: {
|
transform: {
|
||||||
"^.+\\.ts?$": "ts-jest",
|
"^.+\\.ts?$": "ts-jest",
|
||||||
},
|
},
|
||||||
|
globals: {
|
||||||
|
"ts-jest": {
|
||||||
|
tsconfig: "<rootDir>/apps/api/tsconfig.json",
|
||||||
|
},
|
||||||
|
},
|
||||||
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
|
transformIgnorePatterns: ["/node_modules/", "^.+\\.module\\.(css|sass|scss)$"],
|
||||||
testEnvironment: "node",
|
testEnvironment: "node",
|
||||||
clearMocks: true,
|
clearMocks: true,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { faker } from "@faker-js/faker";
|
import { faker } from "@faker-js/faker";
|
||||||
import { Prisma, User, UserPlan } from "@prisma/client";
|
import { Booking, BookingStatus, EventType, Prisma, UserPlan, Webhook } from "@prisma/client";
|
||||||
|
|
||||||
import { CalendarEvent, Person, VideoCallData } from "@calcom/types/Calendar";
|
import { CalendarEvent, Person, VideoCallData } from "@calcom/types/Calendar";
|
||||||
|
|
||||||
|
@ -28,6 +28,116 @@ export const buildPerson = (person?: Partial<Person>): Person => {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const buildBooking = (booking?: Partial<Booking>): Booking => {
|
||||||
|
return {
|
||||||
|
id: faker.datatype.number(),
|
||||||
|
uid: faker.datatype.uuid(),
|
||||||
|
userId: null,
|
||||||
|
eventTypeId: null,
|
||||||
|
title: faker.lorem.sentence(),
|
||||||
|
description: faker.lorem.paragraph(),
|
||||||
|
customInputs: null,
|
||||||
|
startTime: faker.date.future(),
|
||||||
|
endTime: faker.date.future(),
|
||||||
|
location: null,
|
||||||
|
createdAt: new Date(),
|
||||||
|
updatedAt: null,
|
||||||
|
status: BookingStatus.ACCEPTED,
|
||||||
|
paid: false,
|
||||||
|
destinationCalendarId: null,
|
||||||
|
cancellationReason: null,
|
||||||
|
rejectionReason: null,
|
||||||
|
dynamicEventSlugRef: null,
|
||||||
|
dynamicGroupSlugRef: null,
|
||||||
|
rescheduled: null,
|
||||||
|
fromReschedule: null,
|
||||||
|
recurringEventId: null,
|
||||||
|
smsReminderNumber: null,
|
||||||
|
scheduledJobs: [],
|
||||||
|
...booking,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const buildEventType = (eventType?: Partial<EventType>): EventType => {
|
||||||
|
return {
|
||||||
|
id: faker.datatype.number(),
|
||||||
|
title: faker.lorem.sentence(),
|
||||||
|
slug: faker.lorem.slug(),
|
||||||
|
description: faker.lorem.paragraph(),
|
||||||
|
position: 1,
|
||||||
|
locations: null,
|
||||||
|
length: 15,
|
||||||
|
hidden: false,
|
||||||
|
userId: null,
|
||||||
|
teamId: null,
|
||||||
|
eventName: faker.lorem.words(),
|
||||||
|
timeZone: null,
|
||||||
|
periodType: "UNLIMITED",
|
||||||
|
periodStartDate: null,
|
||||||
|
periodEndDate: null,
|
||||||
|
periodDays: null,
|
||||||
|
periodCountCalendarDays: null,
|
||||||
|
recurringEvent: null,
|
||||||
|
requiresConfirmation: false,
|
||||||
|
disableGuests: false,
|
||||||
|
hideCalendarNotes: false,
|
||||||
|
minimumBookingNotice: 120,
|
||||||
|
beforeEventBuffer: 0,
|
||||||
|
afterEventBuffer: 0,
|
||||||
|
seatsPerTimeSlot: null,
|
||||||
|
schedulingType: null,
|
||||||
|
scheduleId: null,
|
||||||
|
price: 0,
|
||||||
|
currency: "usd",
|
||||||
|
slotInterval: null,
|
||||||
|
metadata: null,
|
||||||
|
successRedirectUrl: null,
|
||||||
|
...eventType,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const buildWebhook = (webhook?: Partial<Webhook>): Webhook => {
|
||||||
|
return {
|
||||||
|
id: faker.datatype.uuid(),
|
||||||
|
eventTypeId: faker.datatype.number(),
|
||||||
|
subscriberUrl: "http://mockedURL.com",
|
||||||
|
payloadTemplate: null,
|
||||||
|
createdAt: faker.datatype.datetime(),
|
||||||
|
appId: null,
|
||||||
|
userId: null,
|
||||||
|
secret: faker.lorem.slug(),
|
||||||
|
active: true,
|
||||||
|
eventTriggers: [],
|
||||||
|
...webhook,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const buildSubscriberEvent = (booking?: Partial<Booking>) => {
|
||||||
|
return {
|
||||||
|
type: booking?.title || "",
|
||||||
|
title: booking?.title,
|
||||||
|
description: "",
|
||||||
|
additionalNotes: "",
|
||||||
|
customInputs: {},
|
||||||
|
startTime: booking?.startTime,
|
||||||
|
endTime: booking?.endTime,
|
||||||
|
organizer: {
|
||||||
|
name: "",
|
||||||
|
email: "",
|
||||||
|
timeZone: "",
|
||||||
|
language: {
|
||||||
|
locale: "en",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
attendees: [],
|
||||||
|
location: "",
|
||||||
|
destinationCalendar: null,
|
||||||
|
hideCalendar: false,
|
||||||
|
uid: booking?.uid,
|
||||||
|
metadata: {},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export const buildCalendarEvent = (event?: Partial<CalendarEvent>): CalendarEvent => {
|
export const buildCalendarEvent = (event?: Partial<CalendarEvent>): CalendarEvent => {
|
||||||
return {
|
return {
|
||||||
uid: faker.datatype.uuid(),
|
uid: faker.datatype.uuid(),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user