Skip to content

Vendor testing and screenshots index

This page defines and tracks the required quality gate for vendor-web screen work:

  • Unit tests for screen logic
  • E2E tests for user flows
  • Docs screenshots for documented screens

When adding or changing a vendor screen, update this index in the same PR.


For every user-facing vendor screen:

  1. Unit test set (component/hook/schema/service adapter logic in apps/vendor-web/src/**).
  2. E2E test set (Playwright flow in apps/vendor-web/e2e/**).
  3. Screenshot for docs (PNG under apps/docs/public/screenshots/vendor/, captured by Playwright docs screenshot specs).

If one item is missing, the screen is not documentation-complete.


  • E2E specs:
    • apps/vendor-web/e2e/login.spec.ts
    • apps/vendor-web/e2e/docs-screenshots.spec.ts
    • apps/vendor-web/e2e/docs-cashier-screenshots.spec.tsCashier help center PNGs under screenshots/cashier/
    • apps/vendor-web/e2e/pos-place-order-surfaces.spec.tssource contract for shared usePosPlaceOrder on dashboard POS, POS workspace sale, and create order (see POS guidePlace order — shared client hook).
  • Vendor-web unit specs (examples; full set under apps/vendor-web/src/**/*.spec.ts):
    • apps/vendor-web/src/lib/pos-place-order-mutation-handlers.spec.ts — stock highlight helpers used by usePosPlaceOrder.
    • apps/vendor-web/src/lib/pos-order-receipt-finalize.spec.ts — post-checkout runVendorPosOrderReceiptFinalize (fetch, TanStack invalidations, fallback snapshot, silent print). See POS guideReceipt after checkout — shared finalize helper.
    • apps/vendor-web/src/hooks/use-pos-place-order.contract.spec.ts — asserts the three checkout surfaces still wire the hook.
  • Vendor docs screenshots:
    • apps/docs/public/screenshots/vendor/vendor-login-sign-in.png
Screen / flowUnit tests (vendor-web)E2E testsDocs screenshotStatus
/login (sign-in)✅ (login.spec.ts)✅ (vendor-login-sign-in.png)Partial (missing unit set)
/forgot-passwordBacklog
/verify-otpBacklog
/reset-passwordBacklog
/dashboard (home)Backlog
/pos✅ (POS libs + use-pos-place-order.contract)✅ (pos-place-order-surfaces.spec.ts contract)Partial
Cashier /point-of-sale/sale✅ (POS libs)⛔ (flow)⛔ (docs-cashier-screenshots.spec.ts)Partial
/point-of-sale/orders, returns, report, settings⛔ (batch in cashier docs spec)Backlog
Core dashboard screens (orders, products, inventory, finance, customers, discounts, settings)Backlog

Legend: ✅ complete, ⛔ missing.


When implementing a new screen or changing behavior:

  1. Add/update unit specs under src/**.
  2. Add/update Playwright E2E under e2e/**.
  3. Capture/update docs screenshot via docs-screenshots.spec.ts or docs-cashier-screenshots.spec.ts (Cashier help).
  4. Update the corresponding row in this index.
  5. Rebuild docs: cd apps/docs && npm run build.