Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-307Done

5.5.5 Story tests — Vitest (registry totality, merge properties) + Playwright E2E (history journey, All interleave, scale) + a11y sweep

Estimate: 28m · Depends on: 5.5.4

The story-closing verification (Principle #18; the 5.1.7/5.2.8/5.3.8/5.4.11 split — the epic-wide journey stays Story 5.6).

Vitest (integration, real Postgres): the registry totality guard (every recordRevision call-site key has a disposition — the test that fails when a future story adds an unregistered key); a render-mapping case per change type (incl. workflow-label resolution, sprint names, option labels, former-member/deleted-option fallbacks, the unknown-key fallback, suppression of pure rank/position diffs, mixed-diff partial rendering); the All-merge property tests (page-boundary interleaving, no loss/duplication, both orders); view-gating + 404.

Playwright E2E (tests/e2e/activity.spec.ts): as the PM — manufacture a history (edit fields, transition, link, label, set a custom field, attach, add+delete a comment, sprint-move) → the History tab reads as the designed sentences (spot-assert the status Pill pair, the link identifier, the comment-deletion entry with no content, the created anchor); the All tab interleaves the comment with the history around it; the sort toggle flips all tabs; board-drag the issue → no reorder noise appears. At-scale fixture (200+ revisions, 50 comments): first paint is one page + Show more on each tab; network shows bounded reads (the composite cursor on All). Run against the standing dev-server harness.

Strict a11y sweep: the populated History + All states pass the strict axe config (extending the 5.1.7 section sweep).

Acceptance criteria

  • The Vitest suite covers the totality guard + every mapping/merge case named above; pnpm test:coverage keeps all 5.5 files ≥90% branch/fn/line.
  • activity.spec.ts passes the full journey + the noise-policy assert + the scale walk, green in CI's Playwright lane.
  • The strict axe sweep reports zero violations.
  • The Story 5.5 verification recipe runs clean top to bottom; shared-DB flake isolation respected.

Context refs

  • tests/integration/ + tests/e2e/ conventions; the E2E harness/selector memories
  • The 5.x story-test shape (the split vs Story 5.6)
  • The Story 5.5 verification recipe — the checklist this automates
  • The 5.5.1 totality-guard pattern (mistake #29)