54 lines
1.3 KiB
TypeScript
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 },
|
|
},
|
|
},
|
|
],
|
|
})
|