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

E2E — retire from the list, see it marked and attributed, un-retire it back

The acceptance walk in a browser, following the access path rather than a deep link.

  1. Sign in as an admin, navigate to AI-planning settings, reach the lessons.
  2. Retire one from its row. It takes the designed retired treatment and does not flicker back — the revert-on-refresh bug is visible only in a browser, which is why it is asserted here rather than in a unit test.
  3. Open its detail: it shows who retired it and when.
  4. Un-retire it; it returns to the live treatment.
  5. Sign in as a user with view but not retire: the lesson list renders, and no retire control appears.

Step 5 is the one that would be dropped for looking redundant, and it is the only place the two-key split is exercised as a user experience rather than a route assertion.

Seed through the service, not by raw insert.

Acceptance criteria

  • The walk passes, navigating from settings rather than a deep link.
  • The retired row holds its state after the action — no visible revert.
  • The detail shows actor and timestamp.
  • Un-retire returns the row to live.
  • The view-only user sees the list and no retire control.
  • Lessons are seeded through the service; selectors follow the repo's existing convention.
  • The spec runs in the E2E lane and passes in CI.

Context refs

  • motir-core tests/e2e/ — the lane, fixtures, sign-in helpers, selector conventions.
  • motir-core design/ai-settings/ — the access path and the retired treatment.
  • MOTIR-3346 — the control under test.
  • MOTIR-3340 — the sibling story's walk; share fixtures rather than building a second harness.