# 2. Commission Overview — Test Cases

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

---

## Test Execution Policy
- Zero tolerance: any deviation from documented behavior = FAILED = bug
- Every bug is immediately logged/reported (Bug ID, feature, sub-feature,
  expected vs actual, severity) and fixed 100% before the group passes
- Feature group passes only at 100% test pass rate

## Coverage Matrix
| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 2.1 Commission Management Overview | Commission: the commission (the commission, the affiliate, the amount, the date, the status) | TC-SA-17-02-001 |
| 2.1 Commission Management Overview | Commission count: the count (the count of the commissions) | TC-SA-17-02-002 |
| 2.1 Commission Management Overview | Commission amount: the amount (the amount of the commissions) | TC-SA-17-02-003 |
| 2.1 Commission Management Overview | Commission status: the status (the pending, the earned, the paid) | TC-SA-17-02-004 |
| 2.1 Commission Management Overview | Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly) | TC-SA-17-02-005 |
| 2.1 Commission Management Overview | Commission view: the view (the commissions, the affiliates, the amounts, the period) | TC-SA-17-02-006 |
| 2.1 Commission Management Overview | Commission export: the export (the commissions, the format, the period) | TC-SA-17-02-007 |
| 2.1 Commission Management Overview | Audit logging of the commission overview viewing | TC-SA-17-02-008 |
| 2.1 Commission Management Overview | Rule: the commission is the earning (the commission, the affiliate, the amount, the date, the status); the commission is the value | TC-SA-17-02-001 |
| 2.1 Commission Management Overview | Rule: the commission count is the measure (the count of the commissions); the count is the volume | TC-SA-17-02-002 |
| 2.1 Commission Management Overview | Rule: the commission amount is the value (the amount of the commissions); the amount is the measure | TC-SA-17-02-003 |
| 2.1 Commission Management Overview | Rule: the commission status is the state (the pending, the earned, the paid); the status is the control | TC-SA-17-02-004 |
| 2.1 Commission Management Overview | Rule: the commissions are visible (the commissions, the affiliates, the amounts, the period); the viewing is managed | TC-SA-17-02-006 |
| 2.1 Commission Management Overview | Rule: commission overview viewing is audit-logged with the commission, period, and timestamp | TC-SA-17-02-008 |
| 2.2 Pending, Earned, and Paid Commissions | Pending commission: the commission (the pending commission, the affiliate, the amount, the date) | TC-SA-17-02-009 |
| 2.2 Pending, Earned, and Paid Commissions | Earned commission: the commission (the earned commission, the affiliate, the amount, the date) | TC-SA-17-02-010 |
| 2.2 Pending, Earned, and Paid Commissions | Paid commission: the commission (the paid commission, the affiliate, the amount, the date) | TC-SA-17-02-011 |
| 2.2 Pending, Earned, and Paid Commissions | Commission status: the status (the pending, the earned, the paid) | TC-SA-17-02-012 |
| 2.2 Pending, Earned, and Paid Commissions | Commission amount: the amount (the amount of the commissions by status) | TC-SA-17-02-013 |
| 2.2 Pending, Earned, and Paid Commissions | Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly) | TC-SA-17-02-014 |
| 2.2 Pending, Earned, and Paid Commissions | Commission view: the view (the commissions, the statuses, the amounts, the period) | TC-SA-17-02-015 |
| 2.2 Pending, Earned, and Paid Commissions | Audit logging of the commission status viewing | TC-SA-17-02-016 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: the pending commission is the in-progress (the pending commission, the affiliate, the amount, the date); the commission is the state | TC-SA-17-02-009 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: the earned commission is the accrued (the earned commission, the affiliate, the amount, the date); the commission is the state | TC-SA-17-02-010 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: the paid commission is the settled (the paid commission, the affiliate, the amount, the date); the commission is the state | TC-SA-17-02-011 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: the commission status is the control (the pending, the earned, the paid); the status is the gate | TC-SA-17-02-012 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: the commissions are visible (the commissions, the statuses, the amounts, the period); the viewing is managed | TC-SA-17-02-015 |
| 2.2 Pending, Earned, and Paid Commissions | Rule: commission status viewing is audit-logged with the commission, status, and timestamp | TC-SA-17-02-016 |
| 2.3 Affiliate Payout Status | Payout: the payout (the payout, the affiliate, the amount, the date, the status) | TC-SA-17-02-017 |
| 2.3 Affiliate Payout Status | Payout status: the status (the pending, the processed, the paid) | TC-SA-17-02-018 |
| 2.3 Affiliate Payout Status | Payout amount: the amount (the amount of the payouts) | TC-SA-17-02-019 |
| 2.3 Affiliate Payout Status | Payout count: the count (the count of the payouts) | TC-SA-17-02-020 |
| 2.3 Affiliate Payout Status | Payout period: the period (the period of the payouts, e.g., the monthly, the quarterly) | TC-SA-17-02-021 |
| 2.3 Affiliate Payout Status | Payout view: the view (the payouts, the affiliates, the amounts, the period) | TC-SA-17-02-022 |
| 2.3 Affiliate Payout Status | Payout export: the export (the payouts, the format, the period) | TC-SA-17-02-023 |
| 2.3 Affiliate Payout Status | Audit logging of the affiliate payout status viewing | TC-SA-17-02-024 |
| 2.3 Affiliate Payout Status | Rule: the payout is the payment (the payout, the affiliate, the amount, the date, the status); the payout is the settlement | TC-SA-17-02-017 |
| 2.3 Affiliate Payout Status | Rule: the payout status is the state (the pending, the processed, the paid); the status is the control | TC-SA-17-02-018 |
| 2.3 Affiliate Payout Status | Rule: the payout amount is the value (the amount of the payouts); the amount is the measure | TC-SA-17-02-019 |
| 2.3 Affiliate Payout Status | Rule: the payout count is the measure (the count of the payouts); the count is the volume | TC-SA-17-02-020 |
| 2.3 Affiliate Payout Status | Rule: the payouts are visible (the payouts, the affiliates, the amounts, the period); the viewing is managed | TC-SA-17-02-022 |
| 2.3 Affiliate Payout Status | Rule: affiliate payout status viewing is audit-logged with the payout, status, and timestamp | TC-SA-17-02-024 |

## 2.1 Commission Management Overview

### TC-SA-17-02-001 — Commission: the commission (the commission, the affiliate, the amount, the date, the status); the commission is the value
**Type:** Positive
**Covers:** 2.1 → Commission: the commission (the commission, the affiliate, the amount, the date, the status); Rule: the commission is the earning (the commission, the affiliate, the amount, the date, the status); the commission is the value
**Preconditions:** Super Admin is logged in; commissions exist for multiple affiliates.
**Steps:**
1. Open the Commission Overview.
2. View the commissions: the commission (the commission, the affiliate, the amount, the date, the status) — verify the commission is the earning.
3. Verify each commission shows the affiliate, the amount, the date, and the status.
**Expected Result:** The commissions are shown — the commission, the affiliate, the amount, the date, and the status are the value.
**Priority:** Critical

### TC-SA-17-02-002 — Commission count: the count (the count of the commissions); the count is the volume
**Type:** Positive
**Covers:** 2.1 → Commission count: the count (the count of the commissions); Rule: the commission count is the measure (the count of the commissions); the count is the volume
**Preconditions:** Commissions exist.
**Steps:**
1. View the commission count: the count (the count of the commissions) — verify the count is the measure.
2. Verify the count matches the actual number of commissions.
**Expected Result:** The commission count is shown — the count of the commissions is the volume.
**Priority:** High

### TC-SA-17-02-003 — Commission amount: the amount (the amount of the commissions); the amount is the measure
**Type:** Positive
**Covers:** 2.1 → Commission amount: the amount (the amount of the commissions); Rule: the commission amount is the value (the amount of the commissions); the amount is the measure
**Preconditions:** Commissions exist.
**Steps:**
1. View the commission amount: the amount (the amount of the commissions) — verify the amount is the value.
2. Verify the amount matches the sum of the commissions' amounts.
**Expected Result:** The commission amount is shown — the amount of the commissions is the measure.
**Priority:** High

### TC-SA-17-02-004 — Commission status: the status (the pending, the earned, the paid); the status is the control
**Type:** Positive
**Covers:** 2.1 → Commission status: the status (the pending, the earned, the paid); Rule: the commission status is the state (the pending, the earned, the paid); the status is the control
**Preconditions:** Commissions exist in all three statuses (pending, earned, paid).
**Steps:**
1. View the commission statuses: the status (the pending, the earned, the paid) — verify the status is the state.
2. Verify each commission shows its status (the pending, the earned, or the paid).
3. Verify the status is the control for the commission lifecycle.
**Expected Result:** The commission status is shown — the pending, the earned, or the paid state is visible for each commission.
**Priority:** High

### TC-SA-17-02-005 — Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly); the period is the scope
**Type:** Positive
**Covers:** 2.1 → Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly)
**Preconditions:** Commissions exist across monthly and quarterly periods.
**Steps:**
1. Set the commission period: the period (the period of the commissions, e.g., the monthly, the quarterly) — verify the period is the scope.
2. View the commissions for a monthly period and a quarterly period — verify each covers the correct period.
**Expected Result:** The commission period is set — the period of the commissions (the monthly, the quarterly) is the scope.
**Priority:** High

### TC-SA-17-02-006 — Commission view: the view (the commissions, the affiliates, the amounts, the period); the viewing is managed
**Type:** Positive
**Covers:** 2.1 → Commission view: the view (the commissions, the affiliates, the amounts, the period); Rule: the commissions are visible (the commissions, the affiliates, the amounts, the period); the viewing is managed
**Preconditions:** Commissions exist across a period.
**Steps:**
1. View the commissions: the view (the commissions, the affiliates, the amounts, the period) — verify the commissions are visible.
2. Verify the view is complete for the period.
**Expected Result:** The commission view works — the commissions, the affiliates, the amounts, and the period are visible.
**Priority:** High

### TC-SA-17-02-007 — Commission export: the export (the commissions, the format, the period); the export is the record
**Type:** Positive
**Covers:** 2.1 → Commission export: the export (the commissions, the format, the period)
**Preconditions:** Commissions exist for a period.
**Steps:**
1. Export the commissions: the export (the commissions, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the commission view.
**Expected Result:** The commissions are exported — the commissions in the selected format for the period are generated.
**Priority:** Medium

### TC-SA-17-02-008 — Commission overview viewing is audit-logged with the commission, period, and timestamp
**Type:** Positive
**Covers:** 2.1 → Audit logging of the commission overview viewing; Rule: commission overview viewing is audit-logged with the commission, period, and timestamp
**Preconditions:** Super Admin has viewed the commission overview.
**Steps:**
1. Open the audit trail and filter by "commission overview".
2. Verify entries show the commission, the period, and the timestamp.
**Expected Result:** The commission overview viewing is audit-logged with the commission, period, and timestamp.
**Priority:** Critical

## 2.2 Pending, Earned, and Paid Commissions

### TC-SA-17-02-009 — Pending commission: the commission (the pending commission, the affiliate, the amount, the date); the commission is the state
**Type:** Positive
**Covers:** 2.2 → Pending commission: the commission (the pending commission, the affiliate, the amount, the date); Rule: the pending commission is the in-progress (the pending commission, the affiliate, the amount, the date); the commission is the state
**Preconditions:** Pending commissions exist.
**Steps:**
1. View the pending commissions: the commission (the pending commission, the affiliate, the amount, the date) — verify the commission is the in-progress.
2. Verify each pending commission shows the affiliate, the amount, and the date.
3. Verify only pending commissions are shown (no earned or paid).
**Expected Result:** The pending commissions are shown — the pending commission, the affiliate, the amount, and the date are the state.
**Priority:** Critical

### TC-SA-17-02-010 — Earned commission: the commission (the earned commission, the affiliate, the amount, the date); the commission is the state
**Type:** Positive
**Covers:** 2.2 → Earned commission: the commission (the earned commission, the affiliate, the amount, the date); Rule: the earned commission is the accrued (the earned commission, the affiliate, the amount, the date); the commission is the state
**Preconditions:** Earned commissions exist.
**Steps:**
1. View the earned commissions: the commission (the earned commission, the affiliate, the amount, the date) — verify the commission is the accrued.
2. Verify each earned commission shows the affiliate, the amount, and the date.
3. Verify only earned commissions are shown (no pending or paid).
**Expected Result:** The earned commissions are shown — the earned commission, the affiliate, the amount, and the date are the state.
**Priority:** Critical

### TC-SA-17-02-011 — Paid commission: the commission (the paid commission, the affiliate, the amount, the date); the commission is the state
**Type:** Positive
**Covers:** 2.2 → Paid commission: the commission (the paid commission, the affiliate, the amount, the date); Rule: the paid commission is the settled (the paid commission, the affiliate, the amount, the date); the commission is the state
**Preconditions:** Paid commissions exist.
**Steps:**
1. View the paid commissions: the commission (the paid commission, the affiliate, the amount, the date) — verify the commission is the settled.
2. Verify each paid commission shows the affiliate, the amount, and the date.
3. Verify only paid commissions are shown (no pending or earned).
**Expected Result:** The paid commissions are shown — the paid commission, the affiliate, the amount, and the date are the state.
**Priority:** Critical

### TC-SA-17-02-012 — Commission status: the status (the pending, the earned, the paid); the status is the gate
**Type:** Edge
**Covers:** 2.2 → Commission status: the status (the pending, the earned, the paid); Rule: the commission status is the control (the pending, the earned, the paid); the status is the gate
**Preconditions:** Commissions exist in all three statuses.
**Steps:**
1. View the commissions by status: the status (the pending, the earned, the paid) — verify the status is the control.
2. Verify each status segment shows only commissions with that status.
3. Verify a commission with no status recorded is not shown in any segment (no orphan).
**Expected Result:** The commission status is shown — the pending, the earned, or the paid state is the gate for each segment.
**Priority:** High

### TC-SA-17-02-013 — Commission amount: the amount (the amount of the commissions by status); the amount is the value
**Type:** Positive
**Covers:** 2.2 → Commission amount: the amount (the amount of the commissions by status)
**Preconditions:** Commissions exist in all three statuses.
**Steps:**
1. View the commission amount by status: the amount (the amount of the commissions by status) — verify the amount is the value.
2. Verify the amount for each status matches the sum of that status's commissions.
3. Verify the total across statuses matches the overall commission amount.
**Expected Result:** The commission amount is shown — the amount of the commissions by status is the value.
**Priority:** High

### TC-SA-17-02-014 — Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly); the period is the scope
**Type:** Positive
**Covers:** 2.2 → Commission period: the period (the period of the commissions, e.g., the monthly, the quarterly)
**Preconditions:** Commissions exist across monthly and quarterly periods.
**Steps:**
1. Set the commission period: the period (the period of the commissions, e.g., the monthly, the quarterly) — verify the period is the scope.
2. View the commissions by status for a monthly period and a quarterly period — verify each covers the correct period.
**Expected Result:** The commission period is set — the period of the commissions (the monthly, the quarterly) is the scope.
**Priority:** High

### TC-SA-17-02-015 — Commission view: the view (the commissions, the statuses, the amounts, the period); the viewing is managed
**Type:** Positive
**Covers:** 2.2 → Commission view: the view (the commissions, the statuses, the amounts, the period); Rule: the commissions are visible (the commissions, the statuses, the amounts, the period); the viewing is managed
**Preconditions:** Commissions exist across a period.
**Steps:**
1. View the commissions: the view (the commissions, the statuses, the amounts, the period) — verify the commissions are visible.
2. Verify the view is complete for the period.
**Expected Result:** The commission view works — the commissions, the statuses, the amounts, and the period are visible.
**Priority:** High

### TC-SA-17-02-016 — Commission status viewing is audit-logged with the commission, status, and timestamp
**Type:** Positive
**Covers:** 2.2 → Audit logging of the commission status viewing; Rule: commission status viewing is audit-logged with the commission, status, and timestamp
**Preconditions:** Super Admin has viewed the commissions by status.
**Steps:**
1. Open the audit trail and filter by "commission status".
2. Verify entries show the commission, the status, and the timestamp.
**Expected Result:** The commission status viewing is audit-logged with the commission, status, and timestamp.
**Priority:** Critical

## 2.3 Affiliate Payout Status

### TC-SA-17-02-017 — Payout: the payout (the payout, the affiliate, the amount, the date, the status); the payout is the settlement
**Type:** Positive
**Covers:** 2.3 → Payout: the payout (the payout, the affiliate, the amount, the date, the status); Rule: the payout is the payment (the payout, the affiliate, the amount, the date, the status); the payout is the settlement
**Preconditions:** Payouts exist for multiple affiliates.
**Steps:**
1. View the affiliate payout status: the payout (the payout, the affiliate, the amount, the date, the status) — verify the payout is the payment.
2. Verify each payout shows the affiliate, the amount, the date, and the status.
3. Verify the payout is the settlement of the commission.
**Expected Result:** The payouts are shown — the payout, the affiliate, the amount, the date, and the status are the settlement.
**Priority:** Critical

### TC-SA-17-02-018 — Payout status: the status (the pending, the processed, the paid); the status is the control
**Type:** Positive
**Covers:** 2.3 → Payout status: the status (the pending, the processed, the paid); Rule: the payout status is the state (the pending, the processed, the paid); the status is the control
**Preconditions:** Payouts exist in all three statuses (pending, processed, paid).
**Steps:**
1. View the payout statuses: the status (the pending, the processed, the paid) — verify the status is the state.
2. Verify each payout shows its status (the pending, the processed, or the paid).
3. Verify the status transitions are correct (pending → processed → paid).
**Expected Result:** The payout status is shown — the pending, the processed, or the paid state is visible for each payout.
**Priority:** High

### TC-SA-17-02-019 — Payout amount: the amount (the amount of the payouts); the amount is the measure
**Type:** Positive
**Covers:** 2.3 → Payout amount: the amount (the amount of the payouts); Rule: the payout amount is the value (the amount of the payouts); the amount is the measure
**Preconditions:** Payouts exist.
**Steps:**
1. View the payout amount: the amount (the amount of the payouts) — verify the amount is the value.
2. Verify the amount matches the sum of the payouts' amounts.
**Expected Result:** The payout amount is shown — the amount of the payouts is the measure.
**Priority:** High

### TC-SA-17-02-020 — Payout count: the count (the count of the payouts); the count is the volume
**Type:** Positive
**Covers:** 2.3 → Payout count: the count (the count of the payouts); Rule: the payout count is the measure (the count of the payouts); the count is the volume
**Preconditions:** Payouts exist.
**Steps:**
1. View the payout count: the count (the count of the payouts) — verify the count is the measure.
2. Verify the count matches the actual number of payouts.
**Expected Result:** The payout count is shown — the count of the payouts is the volume.
**Priority:** High

### TC-SA-17-02-021 — Payout period: the period (the period of the payouts, e.g., the monthly, the quarterly); the period is the scope
**Type:** Positive
**Covers:** 2.3 → Payout period: the period (the period of the payouts, e.g., the monthly, the quarterly)
**Preconditions:** Payouts exist across monthly and quarterly periods.
**Steps:**
1. Set the payout period: the period (the period of the payouts, e.g., the monthly, the quarterly) — verify the period is the scope.
2. View the payouts for a monthly period and a quarterly period — verify each covers the correct period.
**Expected Result:** The payout period is set — the period of the payouts (the monthly, the quarterly) is the scope.
**Priority:** High

### TC-SA-17-02-022 — Payout view: the view (the payouts, the affiliates, the amounts, the period); the viewing is managed
**Type:** Positive
**Covers:** 2.3 → Payout view: the view (the payouts, the affiliates, the amounts, the period); Rule: the payouts are visible (the payouts, the affiliates, the amounts, the period); the viewing is managed
**Preconditions:** Payouts exist across a period.
**Steps:**
1. View the payouts: the view (the payouts, the affiliates, the amounts, the period) — verify the payouts are visible.
2. Verify the view is complete for the period.
**Expected Result:** The payout view works — the payouts, the affiliates, the amounts, and the period are visible.
**Priority:** High

### TC-SA-17-02-023 — Payout export: the export (the payouts, the format, the period); the export is the record
**Type:** Positive
**Covers:** 2.3 → Payout export: the export (the payouts, the format, the period)
**Preconditions:** Payouts exist for a period.
**Steps:**
1. Export the payouts: the export (the payouts, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the payout view.
**Expected Result:** The payouts are exported — the payouts in the selected format for the period are generated.
**Priority:** Medium

### TC-SA-17-02-024 — Affiliate payout status viewing is audit-logged with the payout, status, and timestamp
**Type:** Positive
**Covers:** 2.3 → Audit logging of the affiliate payout status viewing; Rule: affiliate payout status viewing is audit-logged with the payout, status, and timestamp
**Preconditions:** Super Admin has viewed the affiliate payout status.
**Steps:**
1. Open the audit trail and filter by "payout status".
2. Verify entries show the payout, the status, and the timestamp.
**Expected Result:** The affiliate payout status viewing is audit-logged with the payout, status, and timestamp.
**Priority:** Critical
