Test Cases: Reports
| Module | CORE-11 | URD | Reports URD |
|---|
Cases are aligned to URD v0.4 functional areas and verified against the Sales Report and Shift / POS Session developer docs. Advanced analytics (
ADV) are Planned and intentionally untested until build starts.
1. Coverage Summary
| Area | URD reqs | Test cases | Covered |
|---|---|---|---|
Shift Reports (SHF) | 6 | 7 | ✅ |
Sales Reports (SLS) | 5 | 6 | ✅ |
Access & Scoping (ACC) | 4 | 4 | ✅ |
Advanced Analytics (ADV) | 5 | 0 | ⏳ Planned — out of scope |
2. Test Cases
TC-<AREA>-NNNlines up withURD-<AREA>-NNN. Priority = P1 (critical) / P2 (major) / P3 (minor).
2.1 Shift Reports
| TC ID | URD ref | Scenario | Steps | Expected | P |
|---|---|---|---|---|---|
| TC-SHF-001 | URD-SHF-001 | X report mid-shift | 1. Open POS session 2. Request an X report | Interim cash and sales totals for the open session are shown | P1 |
| TC-SHF-002 | URD-SHF-001 | X report is repeatable | 1. Open session 2. Request X report twice | Both requests succeed; the session stays open and unaffected | P2 |
| TC-SHF-003 | URD-SHF-002 | Z report on close | 1. Close an open session 2. Inspect the result | A single Z report snapshot is produced for the session | P1 |
| TC-SHF-004 | URD-SHF-002 | Z report is terminal | 1. Session already closed 2. Attempt to close / re-generate Z | No second Z report is created; one per session | P1 |
| TC-SHF-005 | URD-SHF-003 | Cash reconciliation | 1. Open with float 500,000 2. Take cash sales 3. Close counting actual cash | Expected vs. actual computed; discrepancy shown | P1 |
| TC-SHF-006 | URD-SHF-004 | Sales summary on report | 1. Complete several orders in a shift 2. Generate the shift report | Gross, discount, tax, net, and order count appear | P2 |
| TC-SHF-007 | URD-SHF-005 | Payment-method breakdown | 1. Orders paid by cash, card, e-wallet 2. Generate the shift report | Totals split by payment method (where enabled) | P2 |
2.2 Sales Reports
| TC ID | URD ref | Scenario | Steps | Expected | P |
|---|---|---|---|---|---|
| TC-SLS-001 | URD-SLS-001 | Daily summary | 1. Completed orders over a 7-day range 2. Request daily summary for the range | Per-day gross, tax, discount, net, and order count are returned | P1 |
| TC-SLS-002 | URD-SLS-001 | Empty range | 1. No completed orders in range 2. Request daily summary | All totals are zero; report renders without error | P2 |
| TC-SLS-003 | URD-SLS-002 | Top products | 1. Several products sold in range 2. Request product sales | Products ranked by revenue / quantity | P2 |
| TC-SLS-004 | URD-SLS-003 | Category sales | 1. Sales across multiple categories 2. Request category sales | Totals broken down per category | P2 |
| TC-SLS-005 | URD-SLS-004 | Category drill-down | 1. A category with sales 2. Request that category's detail | Single-category detail returned | P3 |
| TC-SLS-006 | URD-SLS-005 | Purchase summary | 1. Purchase orders exist in range 2. Request purchase summary | Supplier / PO spending totals returned for cost comparison | P3 |
2.3 Access & Scoping
| TC ID | URD ref | Scenario | Steps | Expected | P |
|---|---|---|---|---|---|
| TC-ACC-001 | URD-ACC-001 | Merchant isolation | 1. User of Merchant B authenticated 2. Request any sales report | Only Merchant B figures returned; Merchant A data never appears | P1 |
| TC-ACC-002 | URD-ACC-002 | Date range required | 1. Request a sales report without from–to 2. Submit | Request is rejected / validation error on the missing range | P1 |
| TC-ACC-003 | URD-ACC-003 | Only completed orders count | 1. Mix of completed, cancelled, draft orders 2. Request daily summary | Only completed orders contribute; others excluded | P1 |
| TC-ACC-004 | URD-ACC-004 | Graceful empty state | 1. A merchant with zero data 2. Open any report | Report loads with zero totals; no error | P2 |
3. Traceability
Every Must requirement maps to ≥1 test case. Advanced analytics (
ADV) are Planned and excluded by design.
| URD requirement | Test case(s) | Status |
|---|---|---|
| URD-SHF-001 | TC-SHF-001, TC-SHF-002 | ✅ Covered |
| URD-SHF-002 | TC-SHF-003, TC-SHF-004 | ✅ Covered |
| URD-SHF-003 | TC-SHF-005 | ✅ Covered |
| URD-SHF-004 | TC-SHF-006 | ✅ Covered |
| URD-SHF-005 | TC-SHF-007 | ✅ Covered |
| URD-SHF-006 | — | ⚠️ Uncovered (Should) — category breakdown on shift report |
| URD-SLS-001 | TC-SLS-001, TC-SLS-002 | ✅ Covered |
| URD-SLS-002 | TC-SLS-003 | ✅ Covered |
| URD-SLS-003 | TC-SLS-004 | ✅ Covered |
| URD-SLS-004 | TC-SLS-005 | ✅ Covered |
| URD-SLS-005 | TC-SLS-006 | ✅ Covered |
| URD-ACC-001 | TC-ACC-001 | ✅ Covered |
| URD-ACC-002 | TC-ACC-002 | ✅ Covered |
| URD-ACC-003 | TC-ACC-003 | ✅ Covered |
| URD-ACC-004 | TC-ACC-004 | ✅ Covered |
| URD-ADV-001…005 | — | ⏳ Planned — not yet built, no test cases |
Coverage: all Must requirements covered. One Should (URD-SHF-006) is flagged uncovered; ADV requirements are Planned and out of scope.