import { defineConfig, devices } from '@playwright/test' /** * Playwright fuer die kritischen Ablaeufe. * * Zwei Geraete, weil die Anwendung am Handy vollwertig bedienbar sein muss - * das ist kein Zusatz, sondern Anforderung: Ich sitze oft im Heim oder auf * dem Amt und habe nur das Telefon dabei. * * Der Server wird nicht automatisch gestartet: die Tests brauchen eine * eingerichtete Datenbank mit Demodaten. Vorher einmal: * * docker compose -f docker-compose.dev.yml up -d * npm run db:migrate && npm run db:sql * SEED_DEMO=true npm run db:seed * npm run dev */ const BASIS = process.env.E2E_BASIS ?? 'http://localhost:3300' export default defineConfig({ testDir: './e2e', // Anmeldung, Uploads und PDF-Erzeugung brauchen Zeit. timeout: 90_000, expect: { timeout: 15_000 }, // Die Tests teilen sich eine Datenbank und legen Daten an - parallel // wuerden sie sich gegenseitig die Zaehlungen verderben. fullyParallel: false, workers: 1, forbidOnly: !!process.env.CI, retries: process.env.CI ? 1 : 0, reporter: process.env.CI ? [['list'], ['html', { open: 'never' }]] : [['list']], use: { baseURL: BASIS, locale: 'de-DE', timezoneId: 'Europe/Berlin', trace: 'retain-on-failure', screenshot: 'only-on-failure', video: 'retain-on-failure', }, projects: [ { name: 'schreibtisch', use: { ...devices['Desktop Chrome'], viewport: { width: 1440, height: 900 } }, }, { name: 'handy', use: { ...devices['Pixel 7'] }, }, ], })