Files
ng-eventually/.project/concepts/e2e-harness/_overview.md
T

33 lines
2.1 KiB
Markdown

---
type: overview
summary: What each end-to-end suite judges, the shortcut that kept two defects invisible, and the failure mode that is not ours to fix
triggers:
keywords: [e2e, harness, playwright, chromium, journey, suite, profile, broker page, notebook, wallet profile, ng-e2e-helpers]
paths:
- "packages/polyfill/e2e/**"
- "packages/ng-e2e-helpers/**"
vocabulary:
- term: journey
gloss: one named end-to-end story in the applicative suite, reported pass or fail as a whole
not: [scenario, test case, spec]
- term: batch
gloss: one run of a suite, which mints its own physical user and discards the previous one
not: [session, campaign]
---
# e2e-harness — the suites, and what they can and cannot tell you
Four runners drive real browsers against the real broker and the real wallet application — three suites that judge this package, and one measurement that judges the deployment. They are the only place the emulation meets what it emulates, so a green unit suite says nothing about them.
They are also expensive and, on a machine whose network moves, unreliable in ways that look exactly like product defects. Most of what this concept holds exists so an agent does not spend hours diagnosing a product bug that is a transport failure — or, worse, trust a green run that measured nothing.
The generic half of that machinery is a package of its own, `ng-e2e-helpers`, and this repo **publishes** it: a NextGraph application in any repository pulls `ng-e2e-helpers/contract_ng-e2e-helpers` and declares back what it consumes. Our own suites are one of those consumers, and declare it in the same folder — same pair, no boundary to cross.
## Read first
- `ng-e2e-helpers/contract_ng-e2e-helpers` — the engagement, written from the caller's point of view.
- `ng-e2e-helpers/usage_polyfill-e2e` — what our own suites actually call, and where the fit still costs them code.
- `knowledge_what-each-suite-judges` — which suite answers which question.
- `rule_never-shortcut-the-sign-in` — the shortcut that hid a 404 and a regression at once.
- `caveat_a-dropped-pipe-kills-a-run` — the failure mode that is not ours.