# Integration Test Instructions — Wedding Newspaper Generator Standard test strategy → key boundaries and cross-unit interactions. ## Boundaries under test - **ai-draft → generator**: the DraftBundle handoff (per-article addressable, fail-soft empty-on-failure). - **funnies → generator**: the FunniesResult embed (self-contained, no remote URL). - **generator emit**: the CLI end-to-end — content in → self-contained `newspaper.html` out. ## How to run ```bash cd /home/armistace/dev/newspaper_wedding uv run --project newspaper pytest newspaper/tests/ -q ``` ## Coverage target 22 unit tests (7 ai-draft + 7 funnies + 8 generator), all passing. No fake photos, no remote refs in emitted HTML, zero-network output. ## Notes - The model/fetch transports are mocked in tests — no live cloud model or content-enrichment call in CI (per the gitea test-pipeline posture). - The real print/A4 acceptance is a browser action, exercised in `build-and-test-summary.md` as the runtime check.