Files
rfc-app/e2e/playwright.config.js
T
Ben Stull fd123da6a3 test(e2e): harden harness for deployed runs (retries, serialize, banner)
Test-infra only (e2e/ is not in the deployed artifact). Refines the
v0.52.0 deployed-env harness:
- retries:2 + on-first-retry trace now meaningful (was dead: retries
  defaulted to 0); de-risks timing flakes over the public edge.
- workers:1 — the metadata specs run in order and write real commits;
  parallel workers would race on shared state and concurrent bot pushes.
- deployed timeouts bumped (60s/20s) when E2E_TEST_AUTH_SECRET is set.
- dismissCookies forcibly removes any lingering consent-banner node so it
  can't intercept catalog-footer checkbox clicks (the recurring flake).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 23:56:32 -07:00

27 lines
1.1 KiB
JavaScript

import { defineConfig } from '@playwright/test'
// The metadata specs sign in, navigate, and (SLICE-4/5) write real commits,
// so a handful of steps are timing-sensitive: the cookie-consent banner's
// dismiss animation, first-render of the detail panel, and the round trip
// after a write. These flake intermittently on a busy local box and more so
// against a deployed host (network latency). `retries` makes the suite robust
// to that (and finally makes `trace: 'on-first-retry'` meaningful); the
// timeouts are bumped a notch for deployed runs over the public edge.
const DEPLOYED = !!process.env.E2E_TEST_AUTH_SECRET
export default defineConfig({
testDir: '.',
timeout: DEPLOYED ? 60_000 : 45_000,
expect: { timeout: DEPLOYED ? 20_000 : 12_000 },
retries: 2,
// The metadata specs run in order against one seeded collection and write
// real commits (SLICE-4/5); parallel workers would race on shared state —
// and on a deployed host, on concurrent git pushes through the bot. Serialize.
workers: 1,
use: {
baseURL: process.env.BASE_URL || 'http://localhost:8080',
trace: 'on-first-retry',
},
reporter: [['list']],
})