import { defineConfig, devices } from '@playwright/test';
/**
* Playwright E2E Configuration for Personal Lifecycle Tracker
* Runs against services orchestrated in docker-compose.yaml.
*/
export default defineConfig({
testDir: './',
testMatch: '**/*.spec.ts',
timeout: 45 * 1000,
expect: {
timeout: 10000,
},
fullyParallel: false,
workers: 1,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 1 : 0,
reporter: [
['list'],
['html', { open: 'never', outputFolder: 'playwright-report' }],
],
use: {
baseURL: process.env.BASE_URL || process.env.E2E_BASE_URL || 'http://127.0.0.1:3003',
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
actionTimeout: 15000,
navigationTimeout: 20000,
},
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
viewport: { width: 1280, height: 720 },
},
},
],
});