What is the work
Add end-to-end and integration coverage proving the MVP workflow matches the requirements: format selection, intake, review, image attachment, SVG preview, text-fit warnings, and Sharp export output.
Planned areas:
tests/e2e/events-roundup.spec.ts
tests/fixtures/intake/
components/**/*.test.tsx
convex/*.test.ts
Why does it matter
The product promise only exists when the whole flow works together. Unit tests alone will not prove that format metadata, intake, review, images, SVG rendering, and export cooperate.
What does done mean
- Playwright covers the main Events Roundup creation flow.
- Tests cover messy pasted input and structured input.
- Tests cover fewer than 10 events and more than 10 events.
- Tests cover uploaded images and source URL images in preview/export.
- Tests cover ambiguous/missing details requiring review before export.
Acceptance criteria
Blockers
What can make this fail
- E2E tests duplicate unit coverage but do not exercise the actual user journey.
- Fixtures are too narrow and miss the variable-length roundup decision.
- Export tests only check that a button appears, not that files are produced.
- Tests require live third-party AI or network-dependent event data.
How should Codex verify it
- Run Playwright E2E tests.
- Run Vitest component/domain tests.
- Run Convex backend tests.
- Run Sharp render/export tests.
- Confirm fixtures are deterministic and do not depend on live AI or web scraping.
What is the work
Add end-to-end and integration coverage proving the MVP workflow matches the requirements: format selection, intake, review, image attachment, SVG preview, text-fit warnings, and Sharp export output.
Planned areas:
tests/e2e/events-roundup.spec.tstests/fixtures/intake/components/**/*.test.tsxconvex/*.test.tsWhy does it matter
The product promise only exists when the whole flow works together. Unit tests alone will not prove that format metadata, intake, review, images, SVG rendering, and export cooperate.
What does done mean
Acceptance criteria
Blockers
What can make this fail
How should Codex verify it