You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(qa): pin focus trap + restore, and de-flake the delete fixture (om-lv4q)
Adversarial review, F3+F4, plus coverage for F1/F2.
F3: awaitRowCount(2) before reading rowsBefore. The count ran after awaiting only
`thead th`, which renders before GET /api/supplies resolves — a fresh instance of the
race tracked in om-yd1h. Wait for the settled count first so the read cannot see 0.
F4: trashFor throws on a lookup miss. findIndex returns -1, and Playwright's .nth(-1)
selects the LAST row rather than erroring, so a miss would silently click the wrong
row's trash — invisible today only because SUPPLY_GONE happens to be last. Fail loud.
New assertions: Tab / Tab / Shift+Tab from open all keep focus on a button inside the
dialog (the trap), and closing returns focus to the trash button with title="Delete
row" (the restore). The "Cancel is default-focused" check moved ahead of the Tab
presses, since Tab is exactly what moves focus off Cancel.
0 commit comments