System test cases (index)
Nội dung này hiện chưa có sẵn bằng ngôn ngữ của bạn.
Document control
Section titled “Document control”| Version | Date (UTC) | Authoring notes |
|---|---|---|
| 1.0.0 | 2026-05-13 | Initial hub: overview, module index, checklist contract, links to per-module sheets. Bump minor when new scenario sections ship; bump patch for typo or clarification-only edits. |
| 1.1.0 | 2026-05-13 | Split sheets: admin catalog, admin B2B orders, vendor inventory/finance/orders/POS workspace; expanded POS shell + POS payments + auth; slimmed cross-cutting admin/vendor backend. |
| 1.2.0 | 2026-05-13 | New sheets: admin membership (platform), admin client events, support tickets (vendor + admin), in-app notifications; shared-desktop gains dashboard number-format TC-SHR-010+ block. |
| 1.3.0 | 2026-05-13 | Admin inventory & suppliers, admin organization & RBAC, vendor customers/staff/settings; expanded admin/vendor backend + health-ops cross-cutting rows. |
| 1.4.0 | 2026-05-13 | Vendor marketing & gallery sheet; vendor inventory TC-VINV-040+ internal transfers; hub links + VCS/VWU pointer updates. |
| 1.5.0 | 2026-05-21 | Link to E2E retail roadmap — phased P0/P1 checklist and implementation backlog (schedule TBD). |
How to version: edit this table on every merge that changes scenario meaning, adds/removes TC- ids, or moves automation guidance. Keep English as the canonical doc language (same as the rest of /technical).
Overview
Section titled “Overview”This site tracks human-readable test scenarios for LionPOS end-to-end: API (NestJS), web apps (admin-web, vendor-web), shared packages, POS checkout, and desktop / bridge / terminal surfaces.
| Goal | Non-goals |
|---|---|
| Prevent missing happy and unhappy cases during releases | Replace Jest/Playwright code—this is the planning and traceability layer |
| Give QA and engineers one index into all module sheets | Duplicate Swagger field lists (Backend API catalog) |
| Record whether a scenario is a good E2E candidate | Mandate that every row already has automation |
Definitions
Section titled “Definitions”| Term | Meaning |
|---|---|
| Happy path | Valid inputs, authorized actor, expected success response and side effects |
| Unhappy path | Validation failures, authz denials, idempotency conflicts, dependency blocks, timeouts, partial failures |
| E2E candidate | Scenario is suitable for browser or HTTP black-box automation (e.g. Playwright); may still start with unit tests in Nest or Vite |
| TC id | Stable identifier (TC-AUTH-001 …) used in PRs and release notes |
Automation legend (used in module sheets)
Section titled “Automation legend (used in module sheets)”| Tag | Meaning |
|---|---|
| Unit | Jest specs colocated with services/controllers/components |
| E2E* | Playwright (or similar) feasible; * = recommended next investment |
| E2E✓ | A spec already exists in-repo (path noted in the module sheet when known) |
| Manual | Hardware, third-party PSP, or environment not practical in CI |
Module index (link hub)
Section titled “Module index (link hub)”Tier A — revenue-critical (expand first in each release): POS checkout, vendor POS workspace, vendor orders & checkout, admin B2B orders, vendor finance.
Implementation backlog (phases, screen checklist, schedule TBD): E2E retail roadmap and checklist.
| Domain | Sheet | Scope |
|---|---|---|
| Auth & public | Auth & public | Customer/admin/vendor auth, refresh, lockout, public landing |
| Admin API (cross-cutting) | Admin backend | JWT, zones, modules, guards |
| Admin catalog | Admin catalog & products | Products, categories, tags, units, batch, list UX |
| Admin membership (platform) | Admin membership & platform | Plans, subscriptions, invoices, platform auth |
| Admin client events | Admin client events | Telemetry list, batch resolve/delete, access |
| Admin B2B orders | Admin B2B orders | List tabs, filters, stats, detail, receipt HTML |
| Admin inventory & suppliers | Admin inventory & suppliers | Warehouses, stocks, lots, adjustments, global suppliers |
| Admin organization & RBAC | Admin organization & RBAC | Managers, stores, vendors, roles, modules, banners, settings |
| Vendor API (cross-cutting) | Vendor backend | JWT, store_id, employee scope |
| Vendor inventory | Vendor inventory | Warehouses, stocks, lots, adjustments, internal transfers |
| Vendor marketing & gallery | Vendor marketing & gallery | Banners, media gallery, embedded picker |
| Vendor finance | Vendor finance | Transactions, expenses, refunds, receivables, invoices, report |
| Vendor orders & checkout | Vendor orders & checkout | Orders UI/API, shifts, create order, usePosPlaceOrder |
| Support tickets | Support tickets | Vendor thread + admin Kanban/list/detail |
| In-app notifications | In-app notifications | Vendor merged feed + prefs; admin inbox |
| POS checkout & webhooks | POS & payments | pos/*, payments, tenders, idempotency |
| POS workspace HTTP | Point of Sale v2 shell | vendor/point-of-sale/*, bootstrap, lanes |
| Vendor POS workspace UI | Vendor POS workspace | /point-of-sale/* sale UX, drafts, tender |
| Admin UI | Admin web | apps/admin-web shell + maps to TC-ACP / TC-AOB |
| Vendor UI shell | Vendor web | Entry, nav, POS entry, delegates to deep sheets |
| Vendor customers, staff & settings | Vendor customers, staff & settings | Customers, employees, stores, roles, discounts, system settings |
| Shared & desktop | Shared packages & desktop | packages/shared, bridge, terminals |
| Health & ops | Health & operations | /health, deploy smoke |
Master coverage checklist
Section titled “Master coverage checklist”Draft = structure only; Expanded = many TC rows for happy + unhappy; Reviewed = signed off vs production.
| Sheet | Doc status | Happy scenarios | Unhappy scenarios | E2E map complete |
|---|---|---|---|---|
| Auth & public | Expanded | Strong | Strong | Partial |
| Admin backend | Expanded | Strong | Partial | Partial |
| Admin catalog & products | Expanded | Strong | Strong | Partial |
| Admin membership & platform | Expanded | Strong | Strong | Partial |
| Admin client events | Expanded | Strong | Strong | Partial |
| Admin B2B orders | Expanded | Strong | Strong | Partial |
| Admin inventory & suppliers | Expanded | Strong | Strong | Partial |
| Admin organization & RBAC | Expanded | Strong | Strong | Partial |
| Vendor backend | Expanded | Strong | Partial | Partial |
| Vendor inventory | Expanded | Strong | Strong | Partial |
| Vendor marketing & gallery | Expanded | Strong | Strong | Partial |
| Vendor finance | Expanded | Strong | Strong | Partial |
| Vendor orders & checkout | Expanded | Strong | Strong | Partial |
| Support tickets | Expanded | Strong | Strong | Partial |
| In-app notifications | Expanded | Strong | Partial | Partial |
| POS & payments | Expanded | Strong | Strong | Partial |
| Point of Sale v2 shell | Expanded | Strong | Strong | Partial |
| Vendor POS workspace | Expanded | Strong | Strong | Partial |
| Admin web | Expanded | Partial | Partial | Partial |
| Vendor web | Expanded | Partial | Partial | Partial |
| Vendor customers, staff & settings | Expanded | Strong | Strong | Partial |
| Shared packages & desktop | Expanded | Strong | Partial | Partial |
| Health & operations | Expanded | Strong | Partial | Partial |
Related engineering docs
Section titled “Related engineering docs”- Backend modules — route prefixes and Nest layout
- Backend architecture — pipes, guards, testing expectations
- Frontend applications — SPA layout and routing
- Vendor testing and screenshots index — vendor-web quality gate (unit + E2E + screenshots) for screens
Change workflow (contributors)
Section titled “Change workflow (contributors)”- Prefer adding rows to Tier A sheets before expanding low-traffic areas.
- Preserve TC- ids; deprecate with strikethrough + replacement row when behavior changes.
- Mark Automation column: E2E✓ + path when a spec exists.
- Bump the sheet’s version table and this hub’s Document control when scenario meaning changes.
- Run
cd apps/docs && npm run buildbefore merging doc PRs.