Files
gridpilot.gg/playwright.website-integration.config.ts
2026-01-03 02:42:47 +01:00

59 lines
1.4 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
/**
* Playwright configuration for website integration tests
*
* Purpose: Test authentication flows, route guards, and session management
* Scope: Complete auth flow integration testing
*
* Critical Coverage:
* - Middleware route protection
* - AuthGuard component functionality
* - Session management and loading states
* - Role-based access control
* - Auth state transitions
* - API integration
*/
export default defineConfig({
testDir: './tests/integration/website',
testMatch: ['**/*.test.ts'],
// Serial execution for auth flow consistency
fullyParallel: false,
workers: 1,
// Continue on errors to see all failures
maxFailures: undefined,
// Longer timeout for integration tests
timeout: 60_000,
// Base URL for the website (Docker test environment)
use: {
baseURL: 'http://localhost:3100',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
trace: 'retain-on-failure',
},
// Reporter: verbose for debugging
reporter: [
['list'],
['html', { open: 'never' }]
],
// No retry - integration tests must pass on first run
retries: 0,
// No webServer - using Docker environment
webServer: undefined,
// Browser projects
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
});