import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests', timeout: 90_000, expect: { timeout: 10_000 }, retries: process.env.CI ? 2 : 0, workers: 1, reporter: [['html', { outputFolder: '../test-results/html-report' }], ['list']], outputDir: '../test-results/artifacts', use: { baseURL: 'http://localhost:4200', trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'on-first-retry', actionTimeout: 15_000, }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'], permissions: ['microphone', 'camera'], launchOptions: { args: [ '--use-fake-device-for-media-stream', '--use-fake-ui-for-media-stream', ], }, }, }, ], webServer: { command: 'cd ../toju-app && npx ng serve', port: 4200, reuseExistingServer: !process.env.CI, timeout: 120_000, }, });