@@ -7,12 +7,14 @@ import { createServer } from "http";
77// eslint-disable-next-line no-restricted-imports
88import type { Messages } from "mailhog" ;
99import { totp } from "otplib" ;
10+ import { v4 as uuid } from "uuid" ;
1011
1112import type { IntervalLimit } from "@calcom/lib/intervalLimits/intervalLimitSchema" ;
1213import type { Prisma } from "@calcom/prisma/client" ;
1314import { BookingStatus , SchedulingType } from "@calcom/prisma/enums" ;
1415
1516import type { createEmailsFixture } from "../fixtures/emails" ;
17+ import type { CreateUsersFixture } from "../fixtures/users" ;
1618import type { Fixtures } from "./fixtures" ;
1719
1820type Request = IncomingMessage & { body ?: unknown } ;
@@ -177,10 +179,12 @@ export async function expectSlotNotAllowedToBook(page: Page) {
177179 await expect ( page . locator ( "[data-testid=slot-not-allowed-to-book]" ) ) . toBeVisible ( ) ;
178180}
179181
180- export const createNewEventType = async ( page : Page , args : { eventTitle : string } ) => {
182+ export const createNewUserEventType = async ( page : Page , args : { eventTitle : string ; username ? : string } ) => {
181183 await page . click ( "[data-testid=new-event-type]" ) ;
182- const eventTitle = args . eventTitle ;
183- await page . fill ( "[name=title]" , eventTitle ) ;
184+ if ( args . username ) {
185+ await page . getByRole ( "button" , { name : args . username } ) . click ( ) ;
186+ }
187+ await page . fill ( "[name=title]" , args . eventTitle ) ;
184188 await page . fill ( "[name=length]" , "10" ) ;
185189 await page . click ( "[type=submit]" ) ;
186190
@@ -216,7 +220,7 @@ export async function setupManagedEvent({
216220
217221export const createNewSeatedEventType = async ( page : Page , args : { eventTitle : string } ) => {
218222 const eventTitle = args . eventTitle ;
219- await createNewEventType ( page , { eventTitle } ) ;
223+ await createNewUserEventType ( page , { eventTitle } ) ;
220224 await page . waitForSelector ( '[data-testid="event-title"]' ) ;
221225 await expect ( page . getByTestId ( "vertical-tab-event_setup_tab_title" ) ) . toHaveAttribute (
222226 "aria-current" ,
@@ -563,3 +567,26 @@ export async function expectPageToBeNotFound({ page, url }: { page: Page; url: s
563567 await page . goto ( `${ url } ` ) ;
564568 await expect ( page . getByTestId ( `404-page` ) ) . toBeVisible ( ) ;
565569}
570+
571+ export async function setupOrgMember ( users : CreateUsersFixture ) {
572+ const orgRequestedSlug = `example-${ uuid ( ) } ` ;
573+
574+ const orgMember = await users . create ( undefined , {
575+ hasTeam : true ,
576+ isOrg : true ,
577+ hasSubteam : true ,
578+ isOrgVerified : true ,
579+ isDnsSetup : true ,
580+ orgRequestedSlug,
581+ schedulingType : SchedulingType . ROUND_ROBIN ,
582+ } ) ;
583+
584+ const { team : org } = await orgMember . getOrgMembership ( ) ;
585+ const { team } = await orgMember . getFirstTeamMembership ( ) ;
586+ const teamEvent = await orgMember . getFirstTeamEvent ( team . id ) ;
587+ const userEvent = orgMember . eventTypes [ 0 ] ;
588+
589+ await orgMember . apiLogin ( ) ;
590+
591+ return { orgMember, org, team, teamEvent, userEvent } ;
592+ }
0 commit comments