Test Cases: Campaign
| Module | EXT-03 | URD | Campaign URD |
|---|
Only Promotion Setup & Lifecycle is built today. Discount application is Planned (compute service disabled) and has no test cases yet.
1. Coverage Summary
| Area | URD reqs | Test cases | Covered |
|---|---|---|---|
Setup & Lifecycle (PRM) | 4 | 4 | ✅ |
Discount Application (APP) | 3 | 0 | — (Planned) |
2. Test Cases
TC-PRM-NNNlines up withURD-PRM-NNN. Priority = P1 (critical) / P2 (major) / P3 (minor).
| TC ID | URD ref | Scenario | Steps | Expected | P |
|---|---|---|---|---|---|
| TC-PRM-001 | URD-PRM-001 | Atomic aggregate create | 1. Submit promotion + method + rules 2. Force an error variant | All entities created together; error rolls back all | P1 |
| TC-PRM-002 | URD-PRM-002 | Lifecycle transitions | 1. Activate a DRAFT 2. Deactivate 3. Reactivate | Status follows DRAFT → ACTIVATED → DEACTIVATED → ACTIVATED | P1 |
| TC-PRM-003 | URD-PRM-003 | Rule contexts | 1. Add eligibility, source, target rules | Each rule attaches to the correct context | P2 |
| TC-PRM-004 | URD-PRM-004 | Usage limit | 1. Set a usage limit 2. Read usage state | Limit-reached check reflects the configured cap | P2 |
3. Traceability
Every Must requirement must map to ≥1 test case.
| URD requirement | Test case(s) | Status |
|---|---|---|
| URD-PRM-001 | TC-PRM-001 | ✅ Covered |
| URD-PRM-002 | TC-PRM-002 | ✅ Covered |
| URD-PRM-003 | TC-PRM-003 | ✅ Covered |
| URD-PRM-004 | TC-PRM-004 | ✅ Covered |
| URD-APP-001/002/003 | — | ⚠️ Planned — no tests yet (compute service disabled) |