# 4. Leadership Bonuses — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: leadership_bonuses.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 | Leadership bonus criteria | TC-AF-5-04-001 |
| 4.1 | Bonuses earned | TC-AF-5-04-002 |
| 4.1 | Bonus amount | TC-AF-5-04-003 |
| 4.1 | Bonuses by period | TC-AF-5-04-004 |
| 4.1 | View a bonus's details | TC-AF-5-04-005 |
| 4.1 | Overview available on web and mobile | TC-AF-5-04-006 |
| 4.1 | Overview event logging (viewed) | TC-AF-5-04-007 |
| 4.1 | Audit logging of the leadership bonus overview | TC-AF-5-04-008 |
| 4.1 | Rule: The bonuses are for building and leading a downline. | TC-AF-5-04-001 |
| 4.1 | Rule: The criteria and amount are shown. | TC-AF-5-04-002 |
| 4.1 | Rule: Overview events (viewed) are logged with the account and the timestamp. | TC-AF-5-04-003 |
| 4.1 | Rule: The leadership bonus overview is audit-logged with the account and the timestamp. | TC-AF-5-04-004 |
| 4.2 | Downline size toward the threshold | TC-AF-5-04-009 |
| 4.2 | Active sub-affiliates count | TC-AF-5-04-010 |
| 4.2 | Progress to the next bonus | TC-AF-5-04-011 |
| 4.2 | Threshold per bonus level | TC-AF-5-04-012 |
| 4.2 | Qualification status | TC-AF-5-04-013 |
| 4.2 | Tracking available on web and mobile | TC-AF-5-04-014 |
| 4.2 | Tracking event logging (viewed) | TC-AF-5-04-015 |
| 4.2 | Audit logging of the bonus qualification tracking | TC-AF-5-04-016 |
| 4.2 | Rule: The qualification is based on downline size and active sub-affiliates. | TC-AF-5-04-009 |
| 4.2 | Rule: The progress to the next bonus is shown. | TC-AF-5-04-010 |
| 4.2 | Rule: Tracking events (viewed) are logged with the account and the timestamp. | TC-AF-5-04-011 |
| 4.2 | Rule: The bonus qualification tracking is audit-logged with the account and the timestamp. | TC-AF-5-04-012 |
| 4.3 | List of bonus payouts | TC-AF-5-04-017 |
| 4.3 | Amount, period, and status per bonus | TC-AF-5-04-018 |
| 4.3 | View a bonus payout's details | TC-AF-5-04-019 |
| 4.3 | Bonus payouts by period | TC-AF-5-04-020 |
| 4.3 | Total leadership bonuses paid | TC-AF-5-04-021 |
| 4.3 | History available on web and mobile | TC-AF-5-04-022 |
| 4.3 | History event logging (viewed) | TC-AF-5-04-023 |
| 4.3 | Audit logging of the bonus payout history | TC-AF-5-04-024 |
| 4.3 | Rule: The history shows amount, period, and status. | TC-AF-5-04-017 |
| 4.3 | Rule: The total leadership bonuses paid are shown. | TC-AF-5-04-018 |
| 4.3 | Rule: History events (viewed) are logged with the account and the timestamp. | TC-AF-5-04-019 |
| 4.3 | Rule: The bonus payout history is audit-logged with the account and the timestamp. | TC-AF-5-04-020 |

## 4.1 Leadership Bonus Overview

### TC-AF-5-04-001 — Leadership bonus criteria
**Type:** Positive
**Covers:** 4.1 → Leadership bonus criteria; Rule: The bonuses are for building and leading a downline.
**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: Leadership bonus criteria.
2. Observe the result and verify the full behavior: Leadership bonus criteria.
**Expected Result:** Leadership bonus criteria — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-04-002 — Bonuses earned
**Type:** Positive
**Covers:** 4.1 → Bonuses earned; Rule: The criteria and amount are 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: Bonuses earned.
2. Observe the result and verify the full behavior: Bonuses earned.
**Expected Result:** Bonuses earned — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-003 — Bonus amount
**Type:** Positive
**Covers:** 4.1 → Bonus amount; Rule: Overview 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: Bonus amount.
2. Observe the result and verify the full behavior: Bonus amount.
**Expected Result:** Bonus amount — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-004 — Bonuses by period
**Type:** Positive
**Covers:** 4.1 → Bonuses by period; Rule: The leadership bonus overview 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: Bonuses by period.
2. Observe the result and verify the full behavior: Bonuses by period.
**Expected Result:** Bonuses by period — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-005 — View a bonus's details
**Type:** Positive
**Covers:** 4.1 → View a bonus's details
**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 bonus's details.
2. Observe the result and verify the full behavior: View a bonus's details.
**Expected Result:** View a bonus's details — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-006 — Overview available on web and mobile
**Type:** Positive
**Covers:** 4.1 → Overview 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: Overview available on web and mobile.
2. Observe the result and verify the full behavior: Overview available on web and mobile.
**Expected Result:** Overview available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-007 — Overview event logging (viewed)
**Type:** Positive
**Covers:** 4.1 → Overview 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: Overview event logging (viewed).
2. Observe the result and verify the full behavior: Overview event logging (viewed).
**Expected Result:** Overview event logging (viewed) — delivered exactly as documented.
**Priority:** High

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


## 4.2 Bonus Qualification Tracking

### TC-AF-5-04-009 — Downline size toward the threshold
**Type:** Edge
**Covers:** 4.2 → Downline size toward the threshold; Rule: The qualification is based on downline size and active sub-affiliates.
**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: Downline size toward the threshold.
2. Observe the result and verify the full behavior: Downline size toward the threshold.
**Expected Result:** Downline size toward the threshold — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-04-010 — Active sub-affiliates count
**Type:** Positive
**Covers:** 4.2 → Active sub-affiliates count; Rule: The progress to the next bonus 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: Active sub-affiliates count.
2. Observe the result and verify the full behavior: Active sub-affiliates count.
**Expected Result:** Active sub-affiliates count — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-011 — Progress to the next bonus
**Type:** Positive
**Covers:** 4.2 → Progress to the next bonus; Rule: Tracking 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: Progress to the next bonus.
2. Observe the result and verify the full behavior: Progress to the next bonus.
**Expected Result:** Progress to the next bonus — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-012 — Threshold per bonus level
**Type:** Edge
**Covers:** 4.2 → Threshold per bonus level; Rule: The bonus qualification tracking 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: Threshold per bonus level.
2. Observe the result and verify the full behavior: Threshold per bonus level.
**Expected Result:** Threshold per bonus level — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-013 — Qualification status
**Type:** Positive
**Covers:** 4.2 → Qualification 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: Qualification status.
2. Observe the result and verify the full behavior: Qualification status.
**Expected Result:** Qualification status — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-014 — Tracking available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Tracking 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: Tracking available on web and mobile.
2. Observe the result and verify the full behavior: Tracking available on web and mobile.
**Expected Result:** Tracking available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-015 — Tracking event logging (viewed)
**Type:** Positive
**Covers:** 4.2 → Tracking 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: Tracking event logging (viewed).
2. Observe the result and verify the full behavior: Tracking event logging (viewed).
**Expected Result:** Tracking event logging (viewed) — delivered exactly as documented.
**Priority:** High

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


## 4.3 Bonus Payout History

### TC-AF-5-04-017 — List of bonus payouts
**Type:** Positive
**Covers:** 4.3 → List of bonus payouts; Rule: The history shows amount, period, and 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: List of bonus payouts.
2. Observe the result and verify the full behavior: List of bonus payouts.
**Expected Result:** List of bonus payouts — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-04-018 — Amount, period, and status per bonus
**Type:** Positive
**Covers:** 4.3 → Amount, period, and status per bonus; Rule: The total leadership bonuses paid are 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: Amount, period, and status per bonus.
2. Observe the result and verify the full behavior: Amount, period, and status per bonus.
**Expected Result:** Amount, period, and status per bonus — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-019 — View a bonus payout's details
**Type:** Positive
**Covers:** 4.3 → View a bonus payout's details; Rule: History 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: View a bonus payout's details.
2. Observe the result and verify the full behavior: View a bonus payout's details.
**Expected Result:** View a bonus payout's details — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-020 — Bonus payouts by period
**Type:** Positive
**Covers:** 4.3 → Bonus payouts by period; Rule: The bonus payout history 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: Bonus payouts by period.
2. Observe the result and verify the full behavior: Bonus payouts by period.
**Expected Result:** Bonus payouts by period — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-021 — Total leadership bonuses paid
**Type:** Positive
**Covers:** 4.3 → Total leadership bonuses paid
**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 leadership bonuses paid.
2. Observe the result and verify the full behavior: Total leadership bonuses paid.
**Expected Result:** Total leadership bonuses paid — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-022 — History available on web and mobile
**Type:** Positive
**Covers:** 4.3 → History 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: History available on web and mobile.
2. Observe the result and verify the full behavior: History available on web and mobile.
**Expected Result:** History available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-AF-5-04-023 — History event logging (viewed)
**Type:** Positive
**Covers:** 4.3 → History 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: History event logging (viewed).
2. Observe the result and verify the full behavior: History event logging (viewed).
**Expected Result:** History event logging (viewed) — delivered exactly as documented.
**Priority:** High

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