diff --git a/frontend/playwright.config.ts b/frontend/playwright.config.ts index a559086..f36c321 100644 --- a/frontend/playwright.config.ts +++ b/frontend/playwright.config.ts @@ -6,11 +6,9 @@ export default defineConfig({ fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, - workers: process.env.CI ? 1 : undefined, + workers: process.env.CI ? 1 : undefined, // Good for CI to often limit workers reporter: 'html', use: { - // This baseURL is for your frontend tests. - // Tests hitting the backend directly will use absolute URLs. baseURL: 'http://localhost:4200', trace: 'on-first-retry', }, @@ -31,22 +29,30 @@ export default defineConfig({ ], webServer: { + // Your command to start the server command: 'cd .. && just start', - // **IMPORTANT CHANGE HERE:** - // Point to your backend's health check endpoint. - // If your Spring Boot app uses Actuator, it might be /actuator/health - // Verify the correct health endpoint for your backend. - url: 'http://localhost:8080/health', // Or "http://localhost:8080/actuator/health" + // URL to poll to check if the server is ready + url: 'http://localhost:4200', + // In CI, always start a new server. Locally, you might reuse an existing one. reuseExistingServer: !process.env.CI, - // **INCREASE TIMEOUT SIGNIFICANTLY** - // Gradle + Spring Boot can take a while, especially on first run or in CI. - // Adjust as needed, e.g., 3-5 minutes. - timeout: 300 * 1000, // 300 seconds = 5 minutes - stdout: 'pipe', // Good for capturing logs in CI reports - stderr: 'pipe', + // **ADJUSTMENT 1: Increase timeout** + // How long to wait for the server to start (in milliseconds). + // Default is 60000 (1 minute). Adjust this based on your server's needs. + // Example: 180 seconds (3 minutes) + timeout: 180 * 1000, + // **ADJUSTMENT 2: Handle server output for debugging in CI** + // 'pipe': Captures stdout and stderr. Playwright can include this in reports + // or when an error occurs during server startup. + // 'inherit': Streams stdout/stderr directly to the terminal. Useful for live debugging. + // 'ignore': Ignores server output. + stdout: 'pipe', // or 'inherit' if you want to see logs live in CI + stderr: 'pipe', // or 'inherit' // Optional: If your server needs specific environment variables // env: { - // SPRING_PROFILES_ACTIVE: 'test', // Example for Spring Boot + // NODE_ENV: 'development', // Or whatever your server needs + // PORT: '4200', // Though your command likely handles this // }, + // Optional: If your server takes time to shut down gracefully + // killTimeout: 30000, // Time to wait for server to gracefully exit (default 5000ms) }, });