Test cases: Admin catalog & products
Document control
Section titled “Document control”| Version | Date (UTC) | Summary |
|---|---|---|
| 1.0.0 | 2026-05-13 | Split from generic admin backend; expanded TC grid |
| 1.1.0 | 2026-05-13 | Additional list/sort/pagination and batch paths |
- Guides: Catalog and products (Admin)
- API:
admin/products,admin/categories, attributes, tags, units, related inventory read APIs where gated the same way. - Guards:
AdminItemModuleGuard+ zone (Admin roles).
Scenario catalogue
Section titled “Scenario catalogue”List, search, pagination, sort
Section titled “List, search, pagination, sort”| ID | Class | Scenario | Automation |
|---|---|---|---|
| TC-ACP-001 | Happy | Product list loads with default page size and valid limit from URL params | Unit + E2E* |
| TC-ACP-002 | Happy | Debounced search updates query; page resets to 1 on new search | E2E* |
| TC-ACP-003 | Happy | Status tab filter syncs API status / list contract | Unit + E2E* |
| TC-ACP-004 | Unhappy | Invalid page or limit → clamp or 400 per API contract | Unit |
| TC-ACP-005 | Unhappy | Zoned admin product list excludes out-of-zone stores | Unit |
| TC-ACP-006 | Happy | Column sort maps to API sort and persists in URL | E2E* |
Create / update / delete
Section titled “Create / update / delete”| ID | Class | Scenario | Automation |
|---|---|---|---|
| TC-ACP-010 | Happy | Create item with required fields + valid status enum | Unit + E2E* |
| TC-ACP-011 | Unhappy | Missing required field → 400 with field-scoped errors | Unit |
| TC-ACP-012 | Unhappy | XSS-ish / oversize name sanitized or rejected | Unit |
| TC-ACP-013 | Happy | Update item toggles status; list reflects without stale cache | Unit + E2E* |
| TC-ACP-014 | Unhappy | Update item in store outside admin zone → 403 | Unit |
| TC-ACP-015 | Happy | Soft-delete / archive path hides from default list when filter expects active only | Unit |
| TC-ACP-016 | Unhappy | Duplicate SKU / slug conflict returns stable error | Unit |
Batch and modules
Section titled “Batch and modules”| ID | Class | Scenario | Automation |
|---|---|---|---|
| TC-ACP-020 | Happy | Batch status update within max id cap succeeds; toast shows counts | Unit + E2E* |
| TC-ACP-021 | Unhappy | Batch over max ids → client blocks + toast; no API call | Unit + E2E* |
| TC-ACP-022 | Unhappy | Role without item module → 403 on batch and single mutations | Unit |
Related master data
Section titled “Related master data”| ID | Class | Scenario | Automation |
|---|---|---|---|
| TC-ACP-030 | Happy | Category tree list + create child category | E2E* |
| TC-ACP-031 | Unhappy | Circular parent assignment rejected | Unit |
| TC-ACP-032 | Happy | Tags / units / attributes CRUD happy paths | E2E* |
Coverage checklist (this sheet)
Section titled “Coverage checklist (this sheet)”- Every
Admin*Catalog*controller surface has ≥1 happy + 1 unhappy row or explicit “N/A” - Batch cap constant matches admin-web + backend (pagination patterns)
- Low-stock / top-revenue KPI endpoints covered if exposed in UI
Parent index: System test cases (index) · Cross-cutting: Admin backend