Planning
- Milestone: Phase 4
- Priority: P2
- Size: L
- Estimate: 8+ SP (split into sub-issues)
Goal
Turn tests/integration/ from a thin smoke layer (3 files, 9 tests) into
meaningful module integration that catches wiring bugs between composables,
utils, and Vue components — without duplicating E2E or full unit mock suites.
Issue templates and README currently imply integration coverage per feature;
most issues today rely on unit + E2E only. This epic closes that gap.
Background
Current integration tests:
| File |
What it does today |
useMatrixClient.spec.ts |
Asserts exported function types exist |
appI18n.spec.ts |
One mounted component + translateText |
chatTimeline.spec.ts |
Timeline mapping with mocked Matrix room events |
These are useful but not full integration (no login flow wiring, no
composable chains, no sidebar + unread pipeline).
Follow-up to #122 (CI full lane green) and README "Test layers" section.
Scope (sub-issues to create)
Definition of Done
Nicht im Scope
@nuxt/test-utils / Nitro route tests (separate future epic)
- Replacing E2E scenarios with integration tests
- Matrix live homeserver in integration (mocks/fixtures only)
Notes
- Prefer real module imports + narrow mocks at boundaries (Matrix SDK,
useState) over re-testing unit cases.
- Keep each spec file ≤ 800 lines (CCD).
- Docs: update
docs/architecture.md test row when conventions land.
Related
Planning
Goal
Turn
tests/integration/from a thin smoke layer (3 files, 9 tests) intomeaningful module integration that catches wiring bugs between composables,
utils, and Vue components — without duplicating E2E or full unit mock suites.
Issue templates and README currently imply integration coverage per feature;
most issues today rely on unit + E2E only. This epic closes that gap.
Background
Current integration tests:
useMatrixClient.spec.tsappI18n.spec.tstranslateTextchatTimeline.spec.tsThese are useful but not full integration (no login flow wiring, no
composable chains, no sidebar + unread pipeline).
Follow-up to #122 (CI full lane green) and README "Test layers" section.
Scope (sub-issues to create)
mocks; send message → timeline mapping round-trip
stubs (MessageList + timeline utils, SpaceHomePanel + hierarchy utils)
switch in mounted flows used by chat/auth
vs E2E; file naming; shared fixtures under
tests/integration/support/Definition of Done
tests/integration/has ≥ 25 meaningful tests across ≥ 6 spec filestest:integrationremains fast enough for CI fast lane (< 30s target)Nicht im Scope
@nuxt/test-utils/ Nitro route tests (separate future epic)Notes
useState) over re-testing unit cases.docs/architecture.mdtest row when conventions land.Related
useMatrixClientsplit (mock helpers in unit tests reusable here)