Files
Portfolio/tests/browser
..

Browser characterization tests

These Playwright tests lock the observable portfolio behavior at the browser boundary. They exercise the built dist/ output through the local preview server rather than replacing Vue, Three.js, WebGL, or Web Audio with production test hooks.

Run

Build the preview artifacts, then run the whole browser suite:

npm run build:preview
npm run test:browser

Run only the Phase 2 journey gate:

npm run test:browser -- tests/browser/journey-integration.spec.ts tests/browser/reduced-motion.spec.ts tests/browser/static-fallback.spec.ts tests/browser/bfcache-lifecycle.spec.ts

Add a case

  1. Name the concrete regression the case catches.
  2. Use literal inputs and expected browser-visible results.
  3. Install scene-instrumentation.ts before navigation when resource counts or platform calls are the observable boundary.
  4. Keep failure injection in page.addInitScript() or Playwright routing; do not add a test API to the application bundle.
  5. Run the new case against both configured Chromium profiles, then run the full suite.

Never copy credentials, private project identifiers, or private URLs into a fixture. Use clearly fake values when a credential-shaped input is required.