Skip to content

Test cases: Point of Sale v2 shell

VersionDate (UTC)Summary
1.0.02026-05-13Initial shell scenarios
1.1.02026-05-13Bootstrap fields, cache keys, error paths expanded


IDClassScenarioAutomation
TC-PS2-001HappyGET …/bootstrap with valid store_id returns registers, lanes, prefs, tax defaultsUnit + E2E*
TC-PS2-002UnhappyMissing store_id400Unit
TC-PS2-003UnhappyStore not in vendor tenancy → 403Unit
TC-PS2-004UnhappyMalformed store_id (non-numeric) → 400Unit
TC-PS2-005HappyBootstrap cached per storeId query key; switch store refetchesE2E*
IDClassScenarioAutomation
TC-PS2-010HappySingle-lane store: default lane implicit; no blocking bannerE2E*
TC-PS2-011UnhappyMulti-lane: no lane selected → sale actions disabled + pos.laneRequiredBannerE2E*
TC-PS2-012HappyRegister selection persists for sessionE2E*
TC-PS2-013UnhappyRegister closed server-side → UI refresh shows lockE2E*
IDClassScenarioAutomation
TC-PS2-020HappyWorkspace mirrors dashboard POS shift open/close rulesE2E*
TC-PS2-021UnhappySession expired mid-sale → redirect to login with return URLE2E*
TC-PS2-022UnhappyRefresh token rotation failure → hard logout pathUnit + E2E*
IDClassScenarioAutomation
TC-PS2-030HappyItem catalog subset matches dashboard POS for same storeE2E*
TC-PS2-031UnhappyCatalog version bump mid-sale → refetch or merge policyE2E*

  • Bootstrap DTO fields documented next to TypeScript types in backend PRs
  • TanStack queryKey includes storeId for all POS workspace queries
  • Cross-link POS & payments for submit

Parent index: System test cases (index)