| name | integration-e2e-testing |
| description | Selects and specifies only integration/E2E tests whose observable boundary cannot be proven more cheaply. |
Integration and E2E Testing
Reference
Read references/e2e-design.md only when a selected browser-level claim needs UI Spec mapping or browser harness guidance. Use the repository's browser harness when it differs from the examples.
Selection Gate
Select an integration or E2E test only when all conditions hold:
- a confirmed AC, preserved behavior, or task Verification Focus names an observable claim;
- correctness depends on a component, persistence, process, browser, or service boundary that a local/unit proof cannot exercise;
- existing tests leave that failure mode unproven at the boundary;
- the expected regression-detection value justifies the fixture, environment, runtime, and maintenance cost.
When any condition fails, leave the claim to its focused local or task verification. An empty integration/E2E selection is a successful result and needs no absence artifact.
Lanes and Ceilings
| Lane | Use when | Ceiling per outcome |
|---|
integration | In-process component, persistence, or contract interaction must stay real | 3 |
fixture-e2e | Browser-visible interaction needs the real UI but controlled backend/fixture state is sufficient | 3 |
service-integration-e2e | The claim specifically depends on a running local cross-service boundary that other lanes cannot prove | 2 |
Ceilings are limits, not targets or reserved slots. Prefer the lowest-cost lane that proves the named claim. Real external production services are outside these lanes; verify their repository-owned contract instead.