From 176fb777fcae427a4a70ef142b328106b1e6654c Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Thu, 20 Nov 2025 22:10:02 +0530 Subject: [PATCH] fix: One flaky E2E tests (#24815) * fix: exclude booking responses from calendar/CRM integrations for seated events For seated events (events with seatsPerTimeSlot), booking responses are now excluded from being sent to calendar integrations (Google Calendar, etc.), CRM integrations (HubSpot, Salesforce, etc.), and other integrations. This applies to both creating new seated bookings and rescheduling seated bookings. The calendar event and CRM records are still created, but without the custom booking field responses included in the description/notes. Co-Authored-By: anik@cal.com * test * Refactor Office 365 Calendar OAuth redirect URI Removed debug logging for redirect URI and client ID. * test * check * Update Prisma connection logic for integration tests Refactor database connection handling for integration tests. * update * Refactor conditionals and simplify role handling * Add test comment in index.ts * Remove integration test flag from index.ts Remove integration test flag from database connection logic. * update --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- apps/web/playwright/dynamic-booking-pages.e2e.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/web/playwright/dynamic-booking-pages.e2e.ts b/apps/web/playwright/dynamic-booking-pages.e2e.ts index f15054d1b3..545a3daf9b 100644 --- a/apps/web/playwright/dynamic-booking-pages.e2e.ts +++ b/apps/web/playwright/dynamic-booking-pages.e2e.ts @@ -118,8 +118,9 @@ test("multiple duration selection updates event length correctly", async ({ page await page.goto(`/${user.username}/multiple-duration`); - // Wait for time slots to be visible and clickable - await page.locator('[data-testid="time"]').nth(0).waitFor({ state: "visible" }); + await page.waitForURL((url) => { + return url.searchParams.get("overlayCalendar") === "true"; + }); await page.locator('[data-testid="multiple-choice-30mins"]').waitFor({ state: "visible" }); @@ -131,6 +132,7 @@ test("multiple duration selection updates event length correctly", async ({ page await test.step("book with 90min duration and verify title", async () => { await page.getByTestId("multiple-choice-90mins").click(); + await page.locator('[data-testid="time"]').nth(0).waitFor({ state: "visible" }); const duration90 = page.getByTestId("multiple-choice-90mins"); const activeState = await duration90.getAttribute("data-active");