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

6.2.6 Story tests — permission/visibility matrix + persist→resolve properties + the save→share→subscribe E2E + a11y sweep

Estimate: 30m · Depends on: 6.2.3, 6.2.4, 6.2.5

The story-closing verification (Principle #18; the epic-wide journey stays Story 6.7).

Vitest (integration, real Postgres): the (role × visibility × action) matrix driven from a table so a new action without a matrix row fails (the totality-guard pattern); the persist→resolve property suite (every generated AST round-trips; malformed + future-versioned envelopes recover typed; stale referents degrade per field/option/label/component); name-uniqueness collisions; star aggregation; built-in immutability; subscription due-ness (frozen clock) + the as-subscriber resolution paths; the delete-dependents enumeration + cascade.

Playwright E2E (tests/e2e/saved-filters.spec.ts): the recipe journey — build → Save as (Project) → applied chip → edit a row → dirty → Save → second user applies + stars + edits → Save-as-only → directory rename / visibility flip / admin change-owner → subscribe → delete with the dependents warning → the private filter invisible to the second user throughout its private phase. a11y: the strict axe sweep over the save dialog, dropdown (all groups), directory, and subscription editor.

Acceptance criteria

  • The matrix + property + scheduler suites are green and registry/table-driven (adding an action or AST node without coverage fails); fuzz reuses the 6.1.6 generators against the STORED path.
  • The E2E journey passes green in CI's Playwright lane; the sweep reports zero violations.
  • The Story 6.2 verification recipe runs clean top to bottom; pnpm test:coverage keeps all 6.2 files ≥90%.

Context refs

  • The 6.1.6 generator/fuzz suites (reused against persistence); the totality-guard pattern (5.5.1/6.1.1)
  • tests/integration/ + tests/e2e/ conventions; the harness/selector memories
  • The Story 6.2 verification recipe — the checklist this automates
  • Story 6.7 (the epic-wide remainder — do not duplicate)