Files
topola-viewer/playwright.config.ts
2026-05-14 23:03:56 +02:00

48 lines
1.2 KiB
TypeScript

import {defineConfig, devices} from '@playwright/test';
export default defineConfig({
testDir: './tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? '100%' : undefined,
reporter: 'html',
use: {
baseURL: 'http://localhost:3000',
locale: 'en-US', // Forces consistent translation keys across locales for robust placeholder selectors
trace: 'on-first-retry',
},
expect: {
toHaveScreenshot: {
maxDiffPixelRatio: 0.001,
animations: 'disabled',
},
},
projects: [
{
name: 'e2e',
testIgnore: '*_visual.spec.ts',
use: {
...devices['Desktop Chrome'],
},
},
{
name: 'visual',
testMatch: '*_visual.spec.ts',
use: {
...devices['Desktop Chrome'],
viewport: {width: 1280, height: 720},
},
},
],
webServer: {
command: process.env.CI
? 'npx vite preview --port 3000 --strictPort' // CI already builds the app; preview directly with strict port
: 'npx vite --no-open --port 3000 --strictPort',
port: 3000,
reuseExistingServer: !process.env.CI,
stdout: 'ignore',
stderr: 'pipe',
},
});