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-384Done

6.9.3 Story tests — quick-search correctness + permission/exclusion + the #98 large-seed regression E2E + a11y sweep

Estimate: 26m · Depends on: 6.9.2

The story-closing verification (Principle #18).

Vitest (integration, real Postgres): quick-search correctness (key prefix/exact + title trgm, relevance order, bound), the permission scope (a user cannot find issues in a project they cannot read — per 6.4 role), the link-candidate composition (exclusions preserved under search), and the #98 regression guard: seed a large item set, prove an EARLY-created issue is returned by a search from a LATE issue’s picker (the exact case the newest-50 cap broke).

Playwright E2E (extend tests/e2e/*link*): open a late issue’s relationships panel → Link issue → type an early issue’s key → it appears → link it → it renders in its group; assert the no-results state; assert the create-modal link control searches the same way. a11y: strict axe sweep over the link form (empty / typing / no-results / selected).

Acceptance criteria

  • The correctness + permission + exclusion matrix is green; the #98 large-seed regression guard fails on the old newest-50 read and passes on the new one.
  • The E2E journey passes in CI’s Playwright lane (async waits via the harness, not sleeps); the axe sweep reports zero violations.
  • The Story 6.9 verification recipe runs clean top to bottom; pnpm test:coverage keeps all 6.9 files ≥ 90%.

Context refs

  • finding #98 (the behaviour the regression guard pins); 6.9.1 / 6.9.2
  • tests/integration/ + tests/e2e/ conventions; the E2E harness / selector memories
  • The Story 6.9 verification recipe — the checklist this automates