-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
accessibilityAccessibility (a11y), keyboard navigation, screen readersAccessibility (a11y), keyboard navigation, screen readersenhancementNew feature or requestNew feature or requestfrontendFrontend app and dashboardFrontend app and dashboardinventoryInventory system featuresInventory system featureskeyboardKeyboard-first interactionsKeyboard-first interactionstech-storyTechnical implementation storyTechnical implementation storytestingAutomated testsAutomated tests
Description
Epic: #58
Goal
Prevent regressions in Editor Mode’s keyboard-first workflow and accessibility behavior.
Acceptance Criteria
- Tests cover:
- Debounced filtering updates the option list (Location combobox).
- Arrow keys move the highlighted option; Enter selects highlighted option.
- Invalid location (no matches) blocks save and shows subtle error state.
- Quantity validation: integer-only, >= 1; warning shown when >= 100,000; hard cap enforced in UI.
- Focus progression: Location → Quantity → Save → next row Location, including pagination boundary.
- Save failure keeps focus on the same row and allows retry.
- Accessibility checks where feasible:
- Proper labeling/roles for combobox/input.
- Focus order/tab order remains intact.
Technical Notes
- Prefer integration-style tests with real keyboard events (e.g., @testing-library/user-event) over unit handler calls.
- If JSDOM is insufficient for combobox keyboard behavior, add a minimal e2e test (Playwright/Cypress) for the critical path.
- Mock location dataset to avoid network in tests; include zero-match scenario.
- Add assertions on visual states: warning on >=100k, error on invalid location, saved indicator toggling (Inventory Editor Mode: Per-row save without reload + saved indicator #63), focus target after actions (Tech: Focus controller for deterministic row navigation (Editor Mode) #66/Inventory Editor Mode: Keyboard flow (Location → Quantity → Save → Next row) #62).
Definition of Done
- Automated tests implemented for the behaviors above; failing tests reproduce regressions reliably.
- A11y/keyboard paths verified; tab order unaffected.
- Tests run in CI and pass; lint/typecheck/CI clean.
Metadata
Metadata
Assignees
Labels
accessibilityAccessibility (a11y), keyboard navigation, screen readersAccessibility (a11y), keyboard navigation, screen readersenhancementNew feature or requestNew feature or requestfrontendFrontend app and dashboardFrontend app and dashboardinventoryInventory system featuresInventory system featureskeyboardKeyboard-first interactionsKeyboard-first interactionstech-storyTechnical implementation storyTechnical implementation storytestingAutomated testsAutomated tests