# 3. Commission & Earnings Overview — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: commission_earnings_overview.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 |
|---------|--------------------|----------|
| 3.1 | Pending commission amount | TC-AF-2-03-001 |
| 3.1 | Earned commission amount | TC-AF-2-03-002 |
| 3.1 | Paid commission amount | TC-AF-2-03-003 |
| 3.1 | Total commission | TC-AF-2-03-004 |
| 3.1 | Breakdown by status | TC-AF-2-03-005 |
| 3.1 | Breakdown available on web and mobile | TC-AF-2-03-006 |
| 3.1 | Breakdown event logging (viewed) | TC-AF-2-03-007 |
| 3.1 | Audit logging of the commission breakdown | TC-AF-2-03-008 |
| 3.1 | Rule: The commission is broken down by status. | TC-AF-2-03-001 |
| 3.1 | Rule: The total commission is shown. | TC-AF-2-03-002 |
| 3.1 | Rule: Breakdown events (viewed) are logged with the account and the timestamp. | TC-AF-2-03-003 |
| 3.1 | Rule: The commission breakdown is audit-logged with the account and the timestamp. | TC-AF-2-03-004 |
| 3.2 | Total earnings for the period | TC-AF-2-03-009 |
| 3.2 | Earnings per month | TC-AF-2-03-010 |
| 3.2 | Earnings trend | TC-AF-2-03-011 |
| 3.2 | Select the period | TC-AF-2-03-012 |
| 3.2 | Earnings summary visualization | TC-AF-2-03-013 |
| 3.2 | Summary available on web and mobile | TC-AF-2-03-014 |
| 3.2 | Summary event logging (viewed) | TC-AF-2-03-015 |
| 3.2 | Audit logging of the earnings summary | TC-AF-2-03-016 |
| 3.2 | Rule: The earnings are summarized for the selected period. | TC-AF-2-03-009 |
| 3.2 | Rule: The earnings trend is shown. | TC-AF-2-03-010 |
| 3.2 | Rule: Summary events (viewed) are logged with the account and the timestamp. | TC-AF-2-03-011 |
| 3.2 | Rule: The earnings summary is audit-logged with the account and the timestamp. | TC-AF-2-03-012 |
| 3.3 | Courses ranked by referrals | TC-AF-2-03-017 |
| 3.3 | Courses ranked by conversions | TC-AF-2-03-018 |
| 3.3 | Courses ranked by commission generated | TC-AF-2-03-019 |
| 3.3 | Top courses list | TC-AF-2-03-020 |
| 3.3 | View a course's performance | TC-AF-2-03-021 |
| 3.3 | Report available on web and mobile | TC-AF-2-03-022 |
| 3.3 | Report event logging (viewed) | TC-AF-2-03-023 |
| 3.3 | Audit logging of the top-performing courses report | TC-AF-2-03-024 |
| 3.3 | Rule: The courses are ranked by referrals, conversions, and commission. | TC-AF-2-03-017 |
| 3.3 | Rule: A course's performance can be viewed. | TC-AF-2-03-018 |
| 3.3 | Rule: Report events (viewed) are logged with the account and the timestamp. | TC-AF-2-03-019 |
| 3.3 | Rule: The top-performing courses report is audit-logged with the account and the timestamp. | TC-AF-2-03-020 |

## 3.1 Commission Breakdown

### TC-AF-2-03-001 — Pending commission amount
**Type:** Positive
**Covers:** 3.1 → Pending commission amount; Rule: The commission is broken down by status.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Pending commission amount.
2. Observe the result and verify the full behavior: Pending commission amount.
**Expected Result:** Pending commission amount — delivered exactly as documented.
**Priority:** Critical

### TC-AF-2-03-002 — Earned commission amount
**Type:** Positive
**Covers:** 3.1 → Earned commission amount; Rule: The total commission is shown.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Earned commission amount.
2. Observe the result and verify the full behavior: Earned commission amount.
**Expected Result:** Earned commission amount — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-003 — Paid commission amount
**Type:** Positive
**Covers:** 3.1 → Paid commission amount; Rule: Breakdown events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Paid commission amount.
2. Observe the result and verify the full behavior: Paid commission amount.
**Expected Result:** Paid commission amount — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-004 — Total commission
**Type:** Positive
**Covers:** 3.1 → Total commission; Rule: The commission breakdown is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Total commission.
2. Observe the result and verify the full behavior: Total commission.
**Expected Result:** Total commission — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-005 — Breakdown by status
**Type:** Positive
**Covers:** 3.1 → Breakdown by status
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Breakdown by status.
2. Observe the result and verify the full behavior: Breakdown by status.
**Expected Result:** Breakdown by status — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-006 — Breakdown available on web and mobile
**Type:** Positive
**Covers:** 3.1 → Breakdown available on web and mobile
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Breakdown available on web and mobile.
2. Observe the result and verify the full behavior: Breakdown available on web and mobile.
**Expected Result:** Breakdown available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-007 — Breakdown event logging (viewed)
**Type:** Positive
**Covers:** 3.1 → Breakdown event logging (viewed)
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Breakdown event logging (viewed).
2. Observe the result and verify the full behavior: Breakdown event logging (viewed).
**Expected Result:** Breakdown event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-008 — Audit logging of the commission breakdown
**Type:** Positive
**Covers:** 3.1 → Audit logging of the commission breakdown
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the commission breakdown action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The commission breakdown action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.2 Earnings Summary

### TC-AF-2-03-009 — Total earnings for the period
**Type:** Positive
**Covers:** 3.2 → Total earnings for the period; Rule: The earnings are summarized for the selected period.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Total earnings for the period.
2. Observe the result and verify the full behavior: Total earnings for the period.
**Expected Result:** Total earnings for the period — delivered exactly as documented.
**Priority:** Critical

### TC-AF-2-03-010 — Earnings per month
**Type:** Positive
**Covers:** 3.2 → Earnings per month; Rule: The earnings trend is shown.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Earnings per month.
2. Observe the result and verify the full behavior: Earnings per month.
**Expected Result:** Earnings per month — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-011 — Earnings trend
**Type:** Positive
**Covers:** 3.2 → Earnings trend; Rule: Summary events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Earnings trend.
2. Observe the result and verify the full behavior: Earnings trend.
**Expected Result:** Earnings trend — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-012 — Select the period
**Type:** Positive
**Covers:** 3.2 → Select the period; Rule: The earnings summary is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Select the period.
2. Observe the result and verify the full behavior: Select the period.
**Expected Result:** Select the period — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-013 — Earnings summary visualization
**Type:** Positive
**Covers:** 3.2 → Earnings summary visualization
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Earnings summary visualization.
2. Observe the result and verify the full behavior: Earnings summary visualization.
**Expected Result:** Earnings summary visualization — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-014 — Summary available on web and mobile
**Type:** Positive
**Covers:** 3.2 → Summary available on web and mobile
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Summary available on web and mobile.
2. Observe the result and verify the full behavior: Summary available on web and mobile.
**Expected Result:** Summary available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-015 — Summary event logging (viewed)
**Type:** Positive
**Covers:** 3.2 → Summary event logging (viewed)
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Summary event logging (viewed).
2. Observe the result and verify the full behavior: Summary event logging (viewed).
**Expected Result:** Summary event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-016 — Audit logging of the earnings summary
**Type:** Positive
**Covers:** 3.2 → Audit logging of the earnings summary
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the earnings summary action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The earnings summary action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.3 Top-Performing Courses Report

### TC-AF-2-03-017 — Courses ranked by referrals
**Type:** Positive
**Covers:** 3.3 → Courses ranked by referrals; Rule: The courses are ranked by referrals, conversions, and commission.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Courses ranked by referrals.
2. Observe the result and verify the full behavior: Courses ranked by referrals.
**Expected Result:** Courses ranked by referrals — delivered exactly as documented.
**Priority:** Critical

### TC-AF-2-03-018 — Courses ranked by conversions
**Type:** Positive
**Covers:** 3.3 → Courses ranked by conversions; Rule: A course's performance can be viewed.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Courses ranked by conversions.
2. Observe the result and verify the full behavior: Courses ranked by conversions.
**Expected Result:** Courses ranked by conversions — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-019 — Courses ranked by commission generated
**Type:** Positive
**Covers:** 3.3 → Courses ranked by commission generated; Rule: Report events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Courses ranked by commission generated.
2. Observe the result and verify the full behavior: Courses ranked by commission generated.
**Expected Result:** Courses ranked by commission generated — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-020 — Top courses list
**Type:** Positive
**Covers:** 3.3 → Top courses list; Rule: The top-performing courses report is audit-logged with the account and the timestamp.
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Top courses list.
2. Observe the result and verify the full behavior: Top courses list.
**Expected Result:** Top courses list — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-021 — View a course's performance
**Type:** Positive
**Covers:** 3.3 → View a course's performance
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: View a course's performance.
2. Observe the result and verify the full behavior: View a course's performance.
**Expected Result:** View a course's performance — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-022 — Report available on web and mobile
**Type:** Positive
**Covers:** 3.3 → Report available on web and mobile
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Report available on web and mobile.
2. Observe the result and verify the full behavior: Report available on web and mobile.
**Expected Result:** Report available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-023 — Report event logging (viewed)
**Type:** Positive
**Covers:** 3.3 → Report event logging (viewed)
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, set up the precondition and perform: Report event logging (viewed).
2. Observe the result and verify the full behavior: Report event logging (viewed).
**Expected Result:** Report event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-AF-2-03-024 — Audit logging of the top-performing courses report
**Type:** Positive
**Covers:** 3.3 → Audit logging of the top-performing courses report
**Preconditions:** A Affiliate account is active and the Affiliate is in the state required for this behavior.
**Steps:**
1. As a Affiliate, perform the top-performing courses report action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The top-performing courses report action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
