What is PACE E2E?
PACE E2E is two things in one repository: a Playwright end-to-end test suite for the PACE application, and an AI-assisted framework that turns a plain-English description of a user flow (or a screen recording) into a reviewed, runnable test.
What problem does it solve?
Writing and maintaining end-to-end tests the traditional way requires knowing Playwright, TypeScript, and the internals of the application. That is a high bar for a QA tester whose focus is on the product, not the code.
PACE E2E lowers that bar. You describe what a user should be able to do — "create a new estimate and add three line items" — and the AI produces test code, checks it against the project's rulebook, and hands back a file ready to run. When requirements change, you update a short English description or a data file, not a wall of TypeScript.
The things that do change frequently — test data, field values, environment URLs —
live in structured JSON files (tests/data/*.jsonc) that are easy to read and
edit without touching any code.
A standalone repo — the application source is elsewhere
PACE E2E is a standalone repository. The PACE application's source code is
not here. It lives in a separate checkout called pace-ui-application, which
sits next to this repo on your machine. The environment variable PACE_APP_REPO
tells the tooling where to find it; if that variable is not set, it defaults to
../pace-ui-application.
There is no src/ folder in this repo. If you need to look up a form field name,
a button label, or a route, you search the sibling pace-ui-application checkout,
not here.
What you work with day-to-day
| Folder | What it contains |
|---|---|
tests/specs/ | English-language test specifications (.md files) |
tests/e2e/ | Generated Playwright test files (.spec.ts) |
tests/data/*.jsonc | Shared test data — project IDs, estimate names, credentials reference |
tests/page-objects/ | Reusable page helpers used by the generated tests |
tests/utils/ | Shared utilities and the data-resolver |
You write or review the specs in tests/specs/. The AI takes care of
tests/e2e/. Testers who want to change what data a test uses edit
tests/data/*.jsonc.