This project uses Playwright for end-to-end and integration tests. The root orchestration entrypoint is npm run test:all.
npm run test:allalways runsnpm run build:cssandnpm run check:cssbefore browser tests.- If
public/styles.cssis missing or out of sync withpublic/css/*.css, the run stops before Playwright starts. npm run test:current-sprint:dedupe-foldalso runsnpm run check:cssfirst for a faster Current Sprint gate.- CSS ownership/source-of-truth details live in
public/css/README.md(do not duplicate them in this file).
npm run test:all runs these Playwright gates in order before the wider journey bundles:
npm run test:journey:value-retention—journey.value-retentionbucket (desktop density, alignment SSOT, investment drawer, period lens)npm run test:journey:direct-value-masterplan— cross-surface direct value contractsnpm run test:focused— specs tagged@focusednpm run test:journey:layout-overlap— governance/report/sprint overlap + mobile clipnpm run test:current-sprint:dedupe-fold— sprint header/viewport declutter gate
npm run test:allis the full regression entrypoint.- The runner is foreground, serial, and fail-fast.
- Each Playwright command is normalized to:
--max-failures=1--workers=1--reporter=list
- The runner prints:
- the active step name,
- the exact command,
- the primary spec/journey contract,
- a periodic heartbeat while long steps run.
- Use
IMPACTED_ONLY=1 npm run test:allfor changed-only debugging. - In impacted-only mode, the runner:
- checks changed files against
TEST_BASE_REF(defaultorigin/mainfallback chain), - uses the saved last-failed spec list,
- selects only impacted or last-failed steps,
- still stays fail-fast.
- checks changed files against
- In impacted-only mode, failing specs are persisted to
scripts/Delivera-Test-Last-Failed.json. - The next impacted-only run prioritizes those specs and applies Playwright
--last-failed --pass-with-no-tests. - Disable that optimization with
DISABLE_LAST_FAILED=1 npm run test:all.
IMPACTED_ONLY=1- run changed-only / last-failed selection instead of full regression.DISABLE_LAST_FAILED=1- disable implicit last-failed optimization in impacted-only mode.TEST_BASE_REF=<ref>- override the Git base ref used for impacted selection.SKIP_NPM_INSTALL=true- skip the initialnpm installstep in orchestration.
- Added specs:
tests/Delivera-Report-Refresh-Trust-And-Action-Hierarchy-Validation-Tests.spec.jstests/Delivera-CurrentSprint-Standup-Action-Rhythm-Validation-Tests.spec.jstests/Delivera-Leadership-Mobile-FirstViewport-Decision-Validation-Tests.spec.jstests/Delivera-CrossSurface-Context-Freshness-SSOT-Validation-Tests.spec.jstests/Delivera-Duplicate-UI-Decision-Strip-Regression-Validation-Tests.spec.js
- All new specs use the shared console/pageerror guard and runtime UI assertions (not brittle static copy checks).
- Registering a spec in
scripts/Delivera-Tests-Journey-Buckets-Map-SSOT.jsis required for orchestration inclusion. - Expected network-abort simulation tests should use
allow-console-patternannotations when intentionally triggeringERR_FAILED.