51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
import { defineConfig, devices } from "@playwright/test";
|
|
|
|
const port = Number(process.env.PLAYWRIGHT_PORT || 4173);
|
|
const baseURL = `http://127.0.0.1:${port}`;
|
|
const storybookPort = Number(process.env.PLAYWRIGHT_STORYBOOK_PORT || 6007);
|
|
const storybookURL = `http://127.0.0.1:${storybookPort}`;
|
|
const databaseUrl =
|
|
process.env.PLAYWRIGHT_DATABASE_URL ||
|
|
`file:./data/playwright-${process.pid}-${Date.now()}.sqlite`;
|
|
|
|
export default defineConfig({
|
|
testDir: "tests/e2e",
|
|
fullyParallel: true,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 2 : 0,
|
|
reporter: process.env.CI ? [["github"], ["list"]] : "list",
|
|
use: {
|
|
baseURL,
|
|
trace: "retain-on-failure",
|
|
screenshot: "only-on-failure",
|
|
},
|
|
webServer: [
|
|
{
|
|
command: `DISABLE_LIVE_DATASOURCES=1 bun run build && DISABLE_LIVE_DATASOURCES=1 DATABASE_URL=${databaseUrl} HOST=127.0.0.1 PORT=${port} bun build/index.js`,
|
|
url: baseURL,
|
|
reuseExistingServer: false,
|
|
timeout: 120_000,
|
|
},
|
|
{
|
|
command: `cd ../.. && bun run build-storybook && STORYBOOK_STATIC_PORT=${storybookPort} bun apps/web/tests/e2e/storybook-server.ts`,
|
|
url: storybookURL,
|
|
reuseExistingServer: false,
|
|
timeout: 120_000,
|
|
},
|
|
],
|
|
projects: [
|
|
{
|
|
name: "chromium-desktop",
|
|
use: {
|
|
...devices["Desktop Chrome"],
|
|
viewport: { width: 1440, height: 1000 },
|
|
},
|
|
},
|
|
{
|
|
name: "chromium-mobile",
|
|
use: {
|
|
...devices["Pixel 7"],
|
|
},
|
|
},
|
|
],
|
|
});
|