test(e2e): refactor suite into independent, self-seeding tests (stage 1)#1429
Merged
joshunrau merged 1 commit intoJul 21, 2026
Conversation
Replaces the serial, order-coupled suite (1.x/2.x numbering + cross-project dependency chain + file-based auth polling) with independent tests that seed their own preconditions via a typed API client and run in parallel. - support/: ApiClient (typed seeding over @opendatacapture/schemas), fixtures (worker-cached per-role tokens ADMIN/GROUP_MANAGER/STANDARD, uniqueId, actingRole/appState options, getPageModel), env/constants helpers. - Auth is sourced from the API and injected through the memory-only window.__PLAYWRIGHT_ACCESS_TOKEN__ seam (no persisted storage, per compliance); the polled auth file is gone. - Single playwright.config.ts (docker config deleted): setup -> chromium (full) + firefox (@smoke only) -> teardown, fullyParallel, unique-per-test data with a single end-of-run DB teardown. - Existing coverage migrated verbatim into src/specs/*; no new coverage (that is stage two). Verified locally: 21 passed, parallel and with CI=1 (serial). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stage 1 of the e2e rewrite: restructure the existing suite; no new coverage (coverage lands in a follow-up PR).
Replaces the serial, order-coupled suite with independent tests that seed their own preconditions via a typed API client and run in parallel.
src/support/—ApiClient(typed seeding over@opendatacapture/schemas), fixtures (worker-cached per-role tokensADMIN/GROUP_MANAGER/STANDARD,uniqueId,actingRole/appStateoptions,getPageModel), andenv/constantshelpers.window.__PLAYWRIGHT_ACCESS_TOKEN__seam (no persisted storage, per compliance). The polled auth-file dance and the1.x/2.xcross-project dependency chain are gone.playwright.config.ts(the unused docker config is deleted):setup→chromium(full suite) +firefox(@smokeonly) →teardown;fullyParallel; unique-per-test data with one end-of-run DB teardown.src/specs/*.Verification
Local: 21 passed, both parallel and with
CI=1(serial).Note
Stacked on #1428 (the CI-flake/route-types fix) — merge that first; this PR's diff will then reduce to just the refactor.
🤖 Generated with Claude Code