# 6. Renewal Management — Test Cases

User Type: **Sponsor**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: renewal_management.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 |
|---------|--------------------|----------|
| 6.1 | Renewal invoice generation | TC-SPN-6-01-001 |
| 6.1 | Tier change pricing on renewal | TC-SPN-6-01-002 |
| 6.1 | Proration for mid-cycle changes | TC-SPN-6-01-003 |
| 6.1 | Renewal payment tracking | TC-SPN-6-01-004 |
| 6.1 | Renewal billing history | TC-SPN-6-01-005 |
| 6.1 | Renewal Billing available on web and mobile | TC-SPN-6-01-006 |
| 6.1 | renewal billing event logging (viewed) | TC-SPN-6-01-007 |
| 6.1 | Audit logging of renewal billing | TC-SPN-6-01-008 |
| 6.1 | Rule: Renewal invoice generation. | TC-SPN-6-01-009 |
| 6.1 | Rule: Tier change pricing on renewal. | TC-SPN-6-01-010 |
| 6.1 | Rule: Proration for mid-cycle changes. | TC-SPN-6-01-011 |
| 6.1 | Rule: Renewal payment tracking. | TC-SPN-6-01-012 |
| 6.1 | Rule: Renewal billing history. | TC-SPN-6-01-013 |
| 6.2 | Spend by period (monthly, quarterly, annual) | TC-SPN-6-02-014 |
| 6.2 | Spend by sponsorship and tier | TC-SPN-6-02-015 |
| 6.2 | Spend vs budget comparison | TC-SPN-6-02-016 |
| 6.2 | Spend summary export | TC-SPN-6-02-017 |
| 6.2 | Spend history archive | TC-SPN-6-02-018 |
| 6.2 | Spend Summary available on web and mobile | TC-SPN-6-02-019 |
| 6.2 | spend summary event logging (viewed) | TC-SPN-6-02-020 |
| 6.2 | Audit logging of spend summary | TC-SPN-6-02-021 |
| 6.2 | Rule: Spend by period (monthly, quarterly, annual). | TC-SPN-6-02-022 |
| 6.2 | Rule: Spend by sponsorship and tier. | TC-SPN-6-02-023 |
| 6.2 | Rule: Spend vs budget comparison. | TC-SPN-6-02-024 |
| 6.2 | Rule: Spend summary export. | TC-SPN-6-02-025 |
| 6.2 | Rule: Spend history archive. | TC-SPN-6-02-026 |

## 6.1 Renewal Billing

### TC-SPN-6-01-001 — Renewal invoice generation
**Type:** Positive
**Covers:** 6.1 → Renewal invoice generation; Rule: Renewal invoice generation.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Renewal invoice generation.
2. Observe the result and verify the full behavior: Renewal invoice generation.
**Expected Result:** Renewal invoice generation — delivered exactly as documented.
**Priority:** Critical

### TC-SPN-6-01-002 — Tier change pricing on renewal
**Type:** Positive
**Covers:** 6.1 → Tier change pricing on renewal; Rule: Tier change pricing on renewal.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Tier change pricing on renewal.
2. Observe the result and verify the full behavior: Tier change pricing on renewal.
**Expected Result:** Tier change pricing on renewal — delivered exactly as documented.
**Priority:** High

### TC-SPN-6-01-003 — Proration for mid-cycle changes
**Type:** Positive
**Covers:** 6.1 → Proration for mid-cycle changes; Rule: Proration for mid-cycle changes.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Proration for mid-cycle changes.
2. Observe the result and verify the full behavior: Proration for mid-cycle changes.
**Expected Result:** Proration for mid-cycle changes — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-004 — Renewal payment tracking
**Type:** Positive
**Covers:** 6.1 → Renewal payment tracking; Rule: Renewal payment tracking.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Renewal payment tracking.
2. Observe the result and verify the full behavior: Renewal payment tracking.
**Expected Result:** Renewal payment tracking — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-005 — Renewal billing history
**Type:** Positive
**Covers:** 6.1 → Renewal billing history; Rule: Renewal billing history.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Renewal billing history.
2. Observe the result and verify the full behavior: Renewal billing history.
**Expected Result:** Renewal billing history — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-006 — Renewal Billing available on web and mobile
**Type:** Positive
**Covers:** 6.1 → Renewal Billing available on web and mobile; Rule: Renewal invoice generation.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Renewal Billing available on web and mobile.
2. Observe the result and verify the full behavior: Renewal Billing available on web and mobile.
**Expected Result:** Renewal Billing available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-007 — renewal billing event logging (viewed)
**Type:** Positive
**Covers:** 6.1 → renewal billing event logging (viewed); Rule: Tier change pricing on renewal.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: renewal billing event logging (viewed).
2. Observe the result and verify the full behavior: renewal billing event logging (viewed).
**Expected Result:** renewal billing event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-008 — Audit logging of renewal billing
**Type:** Positive
**Covers:** 6.1 → Audit logging of renewal billing; Rule: Proration for mid-cycle changes.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Audit logging of renewal billing.
2. Observe the result and verify the full behavior: Audit logging of renewal billing.
**Expected Result:** Audit logging of renewal billing — delivered exactly as documented.
**Priority:** Medium

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

### TC-SPN-6-01-010 — Rule: Tier change pricing on renewal.
**Type:** Positive
**Covers:** 6.1 → Rule: Tier change pricing on renewal.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Tier change pricing on renewal.
2. Observe the result and verify the full behavior: Tier change pricing on renewal.
**Expected Result:** Tier change pricing on renewal. — delivered exactly as documented.
**Priority:** High

### TC-SPN-6-01-011 — Rule: Proration for mid-cycle changes.
**Type:** Positive
**Covers:** 6.1 → Rule: Proration for mid-cycle changes.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Proration for mid-cycle changes.
2. Observe the result and verify the full behavior: Proration for mid-cycle changes.
**Expected Result:** Proration for mid-cycle changes. — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-012 — Rule: Renewal payment tracking.
**Type:** Positive
**Covers:** 6.1 → Rule: Renewal payment tracking.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Renewal payment tracking.
2. Observe the result and verify the full behavior: Renewal payment tracking.
**Expected Result:** Renewal payment tracking. — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-01-013 — Rule: Renewal billing history.
**Type:** Positive
**Covers:** 6.1 → Rule: Renewal billing history.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Renewal billing history.
2. Observe the result and verify the full behavior: Renewal billing history.
**Expected Result:** Renewal billing history. — delivered exactly as documented.
**Priority:** Medium

## 6.2 Spend Summary

### TC-SPN-6-02-014 — Spend by period (monthly, quarterly, annual)
**Type:** Positive
**Covers:** 6.2 → Spend by period (monthly, quarterly, annual); Rule: Spend by period (monthly, quarterly, annual).
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend by period (monthly, quarterly, annual).
2. Observe the result and verify the full behavior: Spend by period (monthly, quarterly, annual).
**Expected Result:** Spend by period (monthly, quarterly, annual) — delivered exactly as documented.
**Priority:** Critical

### TC-SPN-6-02-015 — Spend by sponsorship and tier
**Type:** Positive
**Covers:** 6.2 → Spend by sponsorship and tier; Rule: Spend by sponsorship and tier.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend by sponsorship and tier.
2. Observe the result and verify the full behavior: Spend by sponsorship and tier.
**Expected Result:** Spend by sponsorship and tier — delivered exactly as documented.
**Priority:** High

### TC-SPN-6-02-016 — Spend vs budget comparison
**Type:** Positive
**Covers:** 6.2 → Spend vs budget comparison; Rule: Spend vs budget comparison.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend vs budget comparison.
2. Observe the result and verify the full behavior: Spend vs budget comparison.
**Expected Result:** Spend vs budget comparison — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-017 — Spend summary export
**Type:** Positive
**Covers:** 6.2 → Spend summary export; Rule: Spend summary export.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend summary export.
2. Observe the result and verify the full behavior: Spend summary export.
**Expected Result:** Spend summary export — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-018 — Spend history archive
**Type:** Positive
**Covers:** 6.2 → Spend history archive; Rule: Spend history archive.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend history archive.
2. Observe the result and verify the full behavior: Spend history archive.
**Expected Result:** Spend history archive — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-019 — Spend Summary available on web and mobile
**Type:** Positive
**Covers:** 6.2 → Spend Summary available on web and mobile; Rule: Spend by period (monthly, quarterly, annual).
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Spend Summary available on web and mobile.
2. Observe the result and verify the full behavior: Spend Summary available on web and mobile.
**Expected Result:** Spend Summary available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-020 — spend summary event logging (viewed)
**Type:** Positive
**Covers:** 6.2 → spend summary event logging (viewed); Rule: Spend by sponsorship and tier.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: spend summary event logging (viewed).
2. Observe the result and verify the full behavior: spend summary event logging (viewed).
**Expected Result:** spend summary event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-021 — Audit logging of spend summary
**Type:** Positive
**Covers:** 6.2 → Audit logging of spend summary; Rule: Spend vs budget comparison.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform: Audit logging of spend summary.
2. Observe the result and verify the full behavior: Audit logging of spend summary.
**Expected Result:** Audit logging of spend summary — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-022 — Rule: Spend by period (monthly, quarterly, annual).
**Type:** Positive
**Covers:** 6.2 → Rule: Spend by period (monthly, quarterly, annual).
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Spend by period (monthly, quarterly, annual).
2. Observe the result and verify the full behavior: Spend by period (monthly, quarterly, annual).
**Expected Result:** Spend by period (monthly, quarterly, annual). — delivered exactly as documented.
**Priority:** Critical

### TC-SPN-6-02-023 — Rule: Spend by sponsorship and tier.
**Type:** Positive
**Covers:** 6.2 → Rule: Spend by sponsorship and tier.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Spend by sponsorship and tier.
2. Observe the result and verify the full behavior: Spend by sponsorship and tier.
**Expected Result:** Spend by sponsorship and tier. — delivered exactly as documented.
**Priority:** High

### TC-SPN-6-02-024 — Rule: Spend vs budget comparison.
**Type:** Positive
**Covers:** 6.2 → Rule: Spend vs budget comparison.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Spend vs budget comparison.
2. Observe the result and verify the full behavior: Spend vs budget comparison.
**Expected Result:** Spend vs budget comparison. — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-025 — Rule: Spend summary export.
**Type:** Positive
**Covers:** 6.2 → Rule: Spend summary export.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Spend summary export.
2. Observe the result and verify the full behavior: Spend summary export.
**Expected Result:** Spend summary export. — delivered exactly as documented.
**Priority:** Medium

### TC-SPN-6-02-026 — Rule: Spend history archive.
**Type:** Positive
**Covers:** 6.2 → Rule: Spend history archive.
**Preconditions:** A Sponsor account is active and the Sponsor is in the state required for this behavior.
**Steps:**
1. As a Sponsor, set up the precondition and perform the action that triggers the rule: Spend history archive.
2. Observe the result and verify the full behavior: Spend history archive.
**Expected Result:** Spend history archive. — delivered exactly as documented.
**Priority:** Medium
