Files
task_pilot/frontend/playwright.config.ts

54 lines
1.3 KiB
TypeScript

import { mkdirSync } from 'node:fs'
import { defineConfig, devices } from '@playwright/test'
mkdirSync(new URL('../.e2e-data/', import.meta.url), { recursive: true })
const externalServers = process.env.TASKPILOT_E2E_EXTERNAL === '1'
export default defineConfig({
testDir: './e2e',
timeout: 30_000,
expect: {
timeout: 8_000,
},
fullyParallel: false,
workers: 1,
reporter: 'list',
use: {
baseURL: 'http://127.0.0.1:5173',
channel: 'chrome',
trace: 'retain-on-failure',
},
webServer: externalServers
? undefined
: [
{
command: 'backend\\target\\debug\\task-pilot-backend.exe',
cwd: '..',
url: 'http://127.0.0.1:3000/api/v1/health',
timeout: 120_000,
reuseExistingServer: false,
env: {
TASK_PILOT_DATABASE_URL: 'sqlite://.e2e-data/task_pilot.db',
TASK_PILOT_LOG_DIR: '.e2e-data/logs',
},
},
{
command: 'node node_modules/vite/bin/vite.js --host 127.0.0.1',
cwd: '.',
url: 'http://127.0.0.1:5173',
timeout: 120_000,
reuseExistingServer: false,
},
],
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
viewport: { width: 1440, height: 1000 },
},
},
],
})