# 4. ROI & Custom Reports — Test Cases

User Type: **CSR**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: roi_custom_reports.md — every feature, sub-feature, and rule covered

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 4.1 | Cost per beneficiary | TC-CSR-4-01-001 |
| 4.1 | Cost per completion | TC-CSR-4-01-002 |
| 4.1 | Cost per certificate | TC-CSR-4-01-003 |
| 4.1 | Outcome value per funding unit | TC-CSR-4-01-004 |
| 4.1 | ROI trend over time | TC-CSR-4-01-005 |
| 4.1 | Education Spend ROI available on web and mobile | TC-CSR-4-01-006 |
| 4.1 | education spend roi event logging (viewed) | TC-CSR-4-01-007 |
| 4.1 | Audit logging of education spend roi | TC-CSR-4-01-008 |
| 4.1 | Rule: Cost per beneficiary. | TC-CSR-4-01-009 |
| 4.1 | Rule: Cost per completion. | TC-CSR-4-01-010 |
| 4.1 | Rule: Cost per certificate. | TC-CSR-4-01-011 |
| 4.1 | Rule: Outcome value per funding unit. | TC-CSR-4-01-012 |
| 4.1 | Rule: ROI trend over time. | TC-CSR-4-01-013 |
| 4.2 | Select programs, periods, metrics, and segments | TC-CSR-4-02-014 |
| 4.2 | Save report templates | TC-CSR-4-02-015 |
| 4.2 | Scheduled report generation | TC-CSR-4-02-016 |
| 4.2 | Export to PDF and Excel | TC-CSR-4-02-017 |
| 4.2 | Share reports with external stakeholders (link) | TC-CSR-4-02-018 |
| 4.2 | Custom Impact Reports available on web and mobile | TC-CSR-4-02-019 |
| 4.2 | custom impact reports event logging (viewed) | TC-CSR-4-02-020 |
| 4.2 | Audit logging of custom impact reports | TC-CSR-4-02-021 |
| 4.2 | Rule: Select programs, periods, metrics, and segments. | TC-CSR-4-02-022 |
| 4.2 | Rule: Save report templates. | TC-CSR-4-02-023 |
| 4.2 | Rule: Scheduled report generation. | TC-CSR-4-02-024 |
| 4.2 | Rule: Export to PDF and Excel. | TC-CSR-4-02-025 |
| 4.2 | Rule: Share reports with external stakeholders (link). | TC-CSR-4-02-026 |

## 4.1 Education Spend ROI

### TC-CSR-4-01-001 — Cost per beneficiary
**Type:** Positive
**Covers:** 4.1 → Cost per beneficiary; Rule: Cost per beneficiary.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Cost per beneficiary.
2. Observe the result and verify the full behavior: Cost per beneficiary.
**Expected Result:** Cost per beneficiary — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-4-01-002 — Cost per completion
**Type:** Positive
**Covers:** 4.1 → Cost per completion; Rule: Cost per completion.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Cost per completion.
2. Observe the result and verify the full behavior: Cost per completion.
**Expected Result:** Cost per completion — delivered exactly as documented.
**Priority:** High

### TC-CSR-4-01-003 — Cost per certificate
**Type:** Positive
**Covers:** 4.1 → Cost per certificate; Rule: Cost per certificate.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Cost per certificate.
2. Observe the result and verify the full behavior: Cost per certificate.
**Expected Result:** Cost per certificate — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-004 — Outcome value per funding unit
**Type:** Positive
**Covers:** 4.1 → Outcome value per funding unit; Rule: Outcome value per funding unit.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Outcome value per funding unit.
2. Observe the result and verify the full behavior: Outcome value per funding unit.
**Expected Result:** Outcome value per funding unit — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-005 — ROI trend over time
**Type:** Positive
**Covers:** 4.1 → ROI trend over time; Rule: ROI trend over time.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: ROI trend over time.
2. Observe the result and verify the full behavior: ROI trend over time.
**Expected Result:** ROI trend over time — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-006 — Education Spend ROI available on web and mobile
**Type:** Positive
**Covers:** 4.1 → Education Spend ROI available on web and mobile; Rule: Cost per beneficiary.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Education Spend ROI available on web and mobile.
2. Observe the result and verify the full behavior: Education Spend ROI available on web and mobile.
**Expected Result:** Education Spend ROI available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-007 — education spend roi event logging (viewed)
**Type:** Positive
**Covers:** 4.1 → education spend roi event logging (viewed); Rule: Cost per completion.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: education spend roi event logging (viewed).
2. Observe the result and verify the full behavior: education spend roi event logging (viewed).
**Expected Result:** education spend roi event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-008 — Audit logging of education spend roi
**Type:** Positive
**Covers:** 4.1 → Audit logging of education spend roi; Rule: Cost per certificate.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Audit logging of education spend roi.
2. Observe the result and verify the full behavior: Audit logging of education spend roi.
**Expected Result:** Audit logging of education spend roi — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-009 — Rule: Cost per beneficiary.
**Type:** Positive
**Covers:** 4.1 → Rule: Cost per beneficiary.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Cost per beneficiary.
2. Observe the result and verify the full behavior: Cost per beneficiary.
**Expected Result:** Cost per beneficiary. — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-4-01-010 — Rule: Cost per completion.
**Type:** Positive
**Covers:** 4.1 → Rule: Cost per completion.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Cost per completion.
2. Observe the result and verify the full behavior: Cost per completion.
**Expected Result:** Cost per completion. — delivered exactly as documented.
**Priority:** High

### TC-CSR-4-01-011 — Rule: Cost per certificate.
**Type:** Positive
**Covers:** 4.1 → Rule: Cost per certificate.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Cost per certificate.
2. Observe the result and verify the full behavior: Cost per certificate.
**Expected Result:** Cost per certificate. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-012 — Rule: Outcome value per funding unit.
**Type:** Positive
**Covers:** 4.1 → Rule: Outcome value per funding unit.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Outcome value per funding unit.
2. Observe the result and verify the full behavior: Outcome value per funding unit.
**Expected Result:** Outcome value per funding unit. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-01-013 — Rule: ROI trend over time.
**Type:** Positive
**Covers:** 4.1 → Rule: ROI trend over time.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: ROI trend over time.
2. Observe the result and verify the full behavior: ROI trend over time.
**Expected Result:** ROI trend over time. — delivered exactly as documented.
**Priority:** Medium

## 4.2 Custom Impact Reports

### TC-CSR-4-02-014 — Select programs, periods, metrics, and segments
**Type:** Positive
**Covers:** 4.2 → Select programs, periods, metrics, and segments; Rule: Select programs, periods, metrics, and segments.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Select programs, periods, metrics, and segments.
2. Observe the result and verify the full behavior: Select programs, periods, metrics, and segments.
**Expected Result:** Select programs, periods, metrics, and segments — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-4-02-015 — Save report templates
**Type:** Positive
**Covers:** 4.2 → Save report templates; Rule: Save report templates.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Save report templates.
2. Observe the result and verify the full behavior: Save report templates.
**Expected Result:** Save report templates — delivered exactly as documented.
**Priority:** High

### TC-CSR-4-02-016 — Scheduled report generation
**Type:** Positive
**Covers:** 4.2 → Scheduled report generation; Rule: Scheduled report generation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Scheduled report generation.
2. Observe the result and verify the full behavior: Scheduled report generation.
**Expected Result:** Scheduled report generation — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-017 — Export to PDF and Excel
**Type:** Positive
**Covers:** 4.2 → Export to PDF and Excel; Rule: Export to PDF and Excel.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Export to PDF and Excel.
2. Observe the result and verify the full behavior: Export to PDF and Excel.
**Expected Result:** Export to PDF and Excel — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-018 — Share reports with external stakeholders (link)
**Type:** Positive
**Covers:** 4.2 → Share reports with external stakeholders (link); Rule: Share reports with external stakeholders (link).
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Share reports with external stakeholders (link).
2. Observe the result and verify the full behavior: Share reports with external stakeholders (link).
**Expected Result:** Share reports with external stakeholders (link) — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-019 — Custom Impact Reports available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Custom Impact Reports available on web and mobile; Rule: Select programs, periods, metrics, and segments.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Custom Impact Reports available on web and mobile.
2. Observe the result and verify the full behavior: Custom Impact Reports available on web and mobile.
**Expected Result:** Custom Impact Reports available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-020 — custom impact reports event logging (viewed)
**Type:** Positive
**Covers:** 4.2 → custom impact reports event logging (viewed); Rule: Save report templates.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: custom impact reports event logging (viewed).
2. Observe the result and verify the full behavior: custom impact reports event logging (viewed).
**Expected Result:** custom impact reports event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-021 — Audit logging of custom impact reports
**Type:** Positive
**Covers:** 4.2 → Audit logging of custom impact reports; Rule: Scheduled report generation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform: Audit logging of custom impact reports.
2. Observe the result and verify the full behavior: Audit logging of custom impact reports.
**Expected Result:** Audit logging of custom impact reports — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-022 — Rule: Select programs, periods, metrics, and segments.
**Type:** Positive
**Covers:** 4.2 → Rule: Select programs, periods, metrics, and segments.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Select programs, periods, metrics, and segments.
2. Observe the result and verify the full behavior: Select programs, periods, metrics, and segments.
**Expected Result:** Select programs, periods, metrics, and segments. — delivered exactly as documented.
**Priority:** Critical

### TC-CSR-4-02-023 — Rule: Save report templates.
**Type:** Positive
**Covers:** 4.2 → Rule: Save report templates.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Save report templates.
2. Observe the result and verify the full behavior: Save report templates.
**Expected Result:** Save report templates. — delivered exactly as documented.
**Priority:** High

### TC-CSR-4-02-024 — Rule: Scheduled report generation.
**Type:** Positive
**Covers:** 4.2 → Rule: Scheduled report generation.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Scheduled report generation.
2. Observe the result and verify the full behavior: Scheduled report generation.
**Expected Result:** Scheduled report generation. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-025 — Rule: Export to PDF and Excel.
**Type:** Positive
**Covers:** 4.2 → Rule: Export to PDF and Excel.
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Export to PDF and Excel.
2. Observe the result and verify the full behavior: Export to PDF and Excel.
**Expected Result:** Export to PDF and Excel. — delivered exactly as documented.
**Priority:** Medium

### TC-CSR-4-02-026 — Rule: Share reports with external stakeholders (link).
**Type:** Positive
**Covers:** 4.2 → Rule: Share reports with external stakeholders (link).
**Preconditions:** A CSR account is active and the CSR is in the state required for this behavior.
**Steps:**
1. As a CSR, set up the precondition and perform the action that triggers the rule: Share reports with external stakeholders (link).
2. Observe the result and verify the full behavior: Share reports with external stakeholders (link).
**Expected Result:** Share reports with external stakeholders (link). — delivered exactly as documented.
**Priority:** Medium
