MOTIR-148Done
2.7.8 Playwright E2E — create a typed work item (pick type + executor), filter the list by type
Estimate: 40m · Depends on: 2.7.4
End-to-end browser test (tests/e2e/work-item-type.spec.ts) closing the story from the user’s seat: pick a type + executor on create, see them on the detail, then filter the list by type.
The spec.
- Sign in as
zhuyue@motir.coon the seededmoooon/motirtenant (the existingsignInhelper — no new auth plumbing). - Open the issue create modal; choose kind = task (a leaf), then pick
type = code— assert the executor control SEEDED tocoding_agent(the default map). Create it. Open a second create, picktype = manual— assert the executor seeded tohuman; OVERRIDE it tocoding_agentand assert the override sticks; create it. - On the first item’s detail rail, assert the hued
codetype chip + thecoding_agentexecutor indicator render; assert they are inline-editable (open the picker). - Assert the type picker is ABSENT when the chosen kind is a story (leaf-only) — open a create, pick kind = story, confirm no type control.
- On /issues, build a filter
type = codeover the 6.1.1 filter builder — assert the first item is present and themanualitem is absent; switch totype = manualand assert the inverse.
Acceptance criteria
pnpm test:e2e work-item-typepasses locally + in CI.- The spec asserts: the executor default-seeds per the map (
code→ coding_agent,manual→ human), an override sticks, the detail chip + indicator render + edit, the type control is leaf-only (absent for story), and the type filter slices the list correctly both ways. - The spec uses the established E2E patterns (the
signInhelper, the combobox-option selectors, explicit waits — no fixed sleeps; mind the combobox-option-name gotcha: option name = label + secondary).
Context refs
- 2.7.4 (the picker UI under test), 2.7.6 (the type filter facet under test).
motir-core/tests/e2e/— the existing create-modal + filter E2E patterns (sign-in helper, combobox selectors) to mirror.- 2.7.1 — the design panels the rendered surfaces must match.