-
-
Notifications
You must be signed in to change notification settings - Fork 0
Make Playwright route coverage explicit and enforceable #285
Copy link
Copy link
Closed
Labels
priority:P2Important impact with a viable workaround and no immediate critical risk.Important impact with a viable workaround and no immediate critical risk.technical-taskArchitecture, refactoring, performance, testing, security, or technical-debt work.Architecture, refactoring, performance, testing, security, or technical-debt work.triage:agentIssue triage was performed by an automated or coding agent.Issue triage was performed by an automated or coding agent.triage:pending-reviewAgent triage is awaiting maintainer review.Agent triage is awaiting maintainer review.
Description
Activity
Metadata
Metadata
Assignees
Labels
priority:P2Important impact with a viable workaround and no immediate critical risk.Important impact with a viable workaround and no immediate critical risk.technical-taskArchitecture, refactoring, performance, testing, security, or technical-debt work.Architecture, refactoring, performance, testing, security, or technical-debt work.triage:agentIssue triage was performed by an automated or coding agent.Issue triage was performed by an automated or coding agent.triage:pending-reviewAgent triage is awaiting maintainer review.Agent triage is awaiting maintainer review.
Technical category
Testing
Area
Cross-cutting
Problem
FR #283 introduces reusable Playwright journeys, but the repository has no executable inventory connecting every Console, Razor Page, and Workplace route to its owning page object, journey, fixture, and test. Coverage can regress silently as routes are added or renamed.
Impact
Without a measurable catalog, the objective of testing the complete application remains subjective. Contributors cannot distinguish covered behavior, intentionally deferred variants, and missing tests, and future UI changes can bypass browser validation.
Expected outcome
The Playwright workspace contains a typed coverage catalog discovered and checked against product route declarations. Every route is assigned to a functional surface and an owning browser specification, and CI fails when an unclassified route appears.
Scope
Out of scope
Implementing all domain journeys tracked by the sibling issues.
Dependencies
Implementation guidance
Keep the catalog product-neutral TypeScript data. Do not derive functional assertions from product RESX files, and do not turn route discovery into a brittle full Razor parser.
Alternatives considered
A prose-only spreadsheet or checklist was rejected because it would drift and could not block newly uncovered routes.
Acceptance criteria
@pageroute in Console, Razor Pages, and Workplace is represented exactly once in the typed catalog.Tests and validation
Run TypeScript compilation, the catalog contract tests, the complete Playwright non-browser suite, documentation build, and the repository validation applicable to the changed files.
Additional context
This issue establishes the measurable foundation for the child PR sequence merged with squash into the dedicated Playwright coverage integration branch.
Attachments
None.
Preliminary checks