import { defineConfig } from '@playwright/test'; import path from 'path'; import { fileURLToPath } from 'url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); export default defineConfig({ testDir: './e2e', timeout: 60_000, expect: { timeout: 10_000 }, retries: 1, workers: 1, reporter: [['html', { open: 'never' }], ['list']], use: { baseURL: process.env.E2E_BASE_URL ?? 'https://ramaiah.engage.healix360.net', headless: true, screenshot: 'only-on-failure', trace: 'on-first-retry', actionTimeout: 8_000, navigationTimeout: 15_000, }, projects: [ // Login tests run first — fresh browser, no saved auth { name: 'login', testMatch: /agent-login\.spec\.ts/, use: { browserName: 'chromium' }, }, // Auth setup — saves CC agent session for reuse { name: 'agent-setup', testMatch: /auth\.setup\.ts/, }, // CC Agent feature tests — reuse saved auth { name: 'cc-agent', dependencies: ['agent-setup'], use: { storageState: path.join(__dirname, 'e2e/.auth/agent.json'), browserName: 'chromium', }, testMatch: /agent-smoke\.spec\.ts/, }, // Supervisor tests — logs in fresh each run { name: 'supervisor', testMatch: /supervisor-smoke\.spec\.ts/, use: { browserName: 'chromium' }, }, ], });