Second half of the contract execution engine (held on branch per bundle plan). - generate_playwright_spec: translate ui.flows into a Playwright spec - goto / getByTestId click+fill (with getByLabel/getByRole/getByText fallback), visible/hidden/text/url assertions, role-based storageState for allowed/ forbidden checks; persistence is delegated to backend cases - run_ui_flows: generate the spec, run it via the project's `npx playwright test --reporter=json`, and parse results - parse_playwright_report: read stats.unexpected + failed titles into CONTRACT_EXEC_FAILURES for the fix loop - _pw_locator (testid → label → role → text) and _ts_safe helpers Tested: spec generation for the canonical "create a quote" allowed flow + a "viewer cannot" forbidden flow produces correct TS; report parsing handles pass and fail. Live browser execution needs the real app + browser binaries. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| INIT.md | ||
| contract-exec.sh | ||
| contract-harness.sh | ||
| decision-log.sh | ||
| design-phase.sh | ||
| json-output.sh | ||
| regression-gate.sh | ||
| tdd-flow.sh | ||
| test-failure-filter.sh | ||
| utils.sh | ||