Files
cal.diy/packages/platform/examples/base/playwright.config.ts
T
Lauris Skraucis 7b7478c0a9 feat: atoms e2e tests (#22926)
* feat: atoms example app e2e

* chore: build atoms when e2e examples app

* docs: readme

* fix: add env variable

* fix: env var

* chore: playwright at monorepo version

* fix: workflow

* chore: increase timeout to have time to build atoms

* increase timeout for e2e

* bump e2e instance

* go back to 4cpu
2025-08-11 20:53:26 +05:30

48 lines
1.8 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
const DEFAULT_EXPECT_TIMEOUT = process.env.CI ? 30000 : 120000;
const DEFAULT_TEST_TIMEOUT = process.env.CI ? 60000 : 240000;
const headless = !!process.env.CI || !!process.env.PLAYWRIGHT_HEADLESS;
export default defineConfig({
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
timeout: DEFAULT_TEST_TIMEOUT,
fullyParallel: true,
reporter: [
['list'],
['html', { outputFolder: './test-results/reports/playwright-html-report', open: 'never' }],
],
outputDir: './test-results/results',
use: {
baseURL: 'http://localhost:4322',
locale: 'en-US',
trace: 'retain-on-failure',
headless,
},
projects: [
{
name: '@calcom/base',
testDir: './tests',
testMatch: /.*\.e2e\.tsx?/,
expect: {
timeout: DEFAULT_EXPECT_TIMEOUT,
},
use: {
...devices['Desktop Chrome'],
locale: 'en-US',
},
},
],
webServer: {
command: process.env.CI
? `yarn workspace @calcom/atoms dev-on && yarn workspace @calcom/atoms build && rm -f prisma/dev.db && yarn prisma db push && NEXT_PUBLIC_IS_E2E=1 NODE_ENV=test NEXT_PUBLIC_X_CAL_ID="${process.env.ATOMS_E2E_OAUTH_CLIENT_ID}" X_CAL_SECRET_KEY="${process.env.ATOMS_E2E_OAUTH_CLIENT_SECRET}" NEXT_PUBLIC_CALCOM_API_URL="${process.env.ATOMS_E2E_API_URL}" VITE_BOOKER_EMBED_OAUTH_CLIENT_ID="${process.env.ATOMS_E2E_OAUTH_CLIENT_ID_BOOKER_EMBED}" VITE_BOOKER_EMBED_API_URL="${process.env.ATOMS_E2E_API_URL}" ORGANIZATION_ID=${process.env.ATOMS_E2E_ORG_ID} yarn dev:e2e`
: `rm -f prisma/dev.db && yarn prisma db push && yarn dev:e2e`,
url: 'http://localhost:4322',
timeout: 600_000,
reuseExistingServer: !process.env.CI,
},
});