US03-05: Automate Phase C End-to-End Acceptance (#65)
This commit was merged in pull request #65.
This commit is contained in:
26
README.md
26
README.md
@@ -76,3 +76,29 @@ end-to-end suite:
|
||||
```bash
|
||||
work_item/scripts/python -m pytest tests/e2e -q
|
||||
```
|
||||
|
||||
### Phase C acceptance gate
|
||||
|
||||
Phase C (Epic E03: album evidence, naming policy, versioned proposals, Albums view)
|
||||
is proven through the real process and browser boundaries. One command runs the
|
||||
Phase C API and browser (Playwright) suites with the deterministic naming provider:
|
||||
|
||||
```bash
|
||||
work_item/scripts/python -m pytest tests/e2e -m phase_c -q
|
||||
```
|
||||
|
||||
- `tests/e2e/test_phase_c_pipeline.py` drives a real server over HTTP: evidence
|
||||
aggregation, generation through the deterministic naming fake (asserting the exact
|
||||
provider inputs and that no file path or asset ID ever reaches it), provider
|
||||
failure and retry, invalid names, path-separator sanitization, editing with
|
||||
optimistic versions, stale-evidence approval refusal, valid approval, and
|
||||
durability across a full restart.
|
||||
- `tests/e2e/test_albums_ui.py` covers the browser journeys: evidence display,
|
||||
editing, prompt validation, collision guidance, approval, stale conflict, and
|
||||
keyboard operation.
|
||||
- Both suites assert that **no fixture path changes** — Phase C proposes names and
|
||||
never renames.
|
||||
|
||||
The deterministic naming provider is enabled only by test configuration
|
||||
(`PHOTO_PIPELINE_FAKE_NAMING_LOG`); without it the application falls back to the
|
||||
offline naming-policy name. Phase A and B suites remain green in the full run above.
|
||||
|
||||
Reference in New Issue
Block a user