import { defineConfig, devices } from '@playwright/test' const baseURL = process.env.KBX_E2E_BASE_URL ?? 'http://127.0.0.1:4173' export default defineConfig({ testDir: './tests/e2e', timeout: 30_000, expect: { timeout: 7_500 }, fullyParallel: false, forbidOnly: Boolean(process.env.CI), retries: process.env.CI ? 1 : 0, workers: process.env.CI ? 2 : undefined, reporter: process.env.CI ? [['list'], ['html', { open: 'never' }]] : 'list', use: { baseURL, trace: 'retain-on-failure', screenshot: 'only-on-failure', video: 'retain-on-failure', }, webServer: process.env.KBX_E2E_BASE_URL ? undefined : { command: 'pnpm dev:web:demo', url: baseURL, reuseExistingServer: !process.env.CI, timeout: 120_000, }, projects: [ { name: 'desktop-chromium', use: { ...devices['Desktop Chrome'], viewport: { width: 1440, height: 900 }, }, }, { name: 'wms-mobile-chromium', testMatch: /wms-.*\.spec\.ts/, use: { ...devices['Pixel 7'], viewport: { width: 390, height: 844 }, }, }, ], })