# 2. Commission Rate Incentives — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: commission_rate_incentives.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 |
|---------|--------------------|----------|
| 2.1 | Commission rate per milestone tier | TC-AF-6-02-001 |
| 2.1 | Current commission rate shown | TC-AF-6-02-002 |
| 2.1 | Rate at the next tier shown | TC-AF-6-02-003 |
| 2.1 | Performance that unlocks a higher rate | TC-AF-6-02-004 |
| 2.1 | Rate increase history | TC-AF-6-02-005 |
| 2.1 | Rates available on web and mobile | TC-AF-6-02-006 |
| 2.1 | Rates event logging (viewed) | TC-AF-6-02-007 |
| 2.1 | Audit logging of the increasing commission rates | TC-AF-6-02-008 |
| 2.1 | Rule: The rate increases with the milestone tier. | TC-AF-6-02-001 |
| 2.1 | Rule: The current and next-tier rates are shown. | TC-AF-6-02-002 |
| 2.1 | Rule: Rates events (viewed) are logged with the account and the timestamp. | TC-AF-6-02-003 |
| 2.1 | Rule: The increasing commission rates is audit-logged with the account and the timestamp. | TC-AF-6-02-004 |
| 2.2 | Performance bonus criteria | TC-AF-6-02-009 |
| 2.2 | Bonuses earned | TC-AF-6-02-010 |
| 2.2 | Bonus amount | TC-AF-6-02-011 |
| 2.2 | Bonuses by period | TC-AF-6-02-012 |
| 2.2 | View a bonus's details | TC-AF-6-02-013 |
| 2.2 | Bonuses available on web and mobile | TC-AF-6-02-014 |
| 2.2 | Bonuses event logging (viewed) | TC-AF-6-02-015 |
| 2.2 | Audit logging of the performance bonus | TC-AF-6-02-016 |
| 2.2 | Rule: The bonuses are for exceeding targets. | TC-AF-6-02-009 |
| 2.2 | Rule: The criteria and amount are shown. | TC-AF-6-02-010 |
| 2.2 | Rule: Bonuses events (viewed) are logged with the account and the timestamp. | TC-AF-6-02-011 |
| 2.2 | Rule: The performance bonus is audit-logged with the account and the timestamp. | TC-AF-6-02-012 |
| 2.3 | Performance targets shown | TC-AF-6-02-017 |
| 2.3 | Current value per target | TC-AF-6-02-018 |
| 2.3 | Remaining amount per target | TC-AF-6-02-019 |
| 2.3 | Bonus at stake per target | TC-AF-6-02-020 |
| 2.3 | Target status (on track, at risk) | TC-AF-6-02-021 |
| 2.3 | Tracking available on web and mobile | TC-AF-6-02-022 |
| 2.3 | Tracking event logging (viewed) | TC-AF-6-02-023 |
| 2.3 | Audit logging of the target tracking | TC-AF-6-02-024 |
| 2.3 | Rule: The targets show current, remaining, and bonus. | TC-AF-6-02-017 |
| 2.3 | Rule: The target status is shown. | TC-AF-6-02-018 |
| 2.3 | Rule: Tracking events (viewed) are logged with the account and the timestamp. | TC-AF-6-02-019 |
| 2.3 | Rule: The target tracking is audit-logged with the account and the timestamp. | TC-AF-6-02-020 |

## 2.1 Increasing Commission Rates

### TC-AF-6-02-001 — Commission rate per milestone tier
**Type:** Positive
**Covers:** 2.1 → Commission rate per milestone tier; Rule: The rate increases with the milestone tier.
**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: Commission rate per milestone tier.
2. Observe the result and verify the full behavior: Commission rate per milestone tier.
**Expected Result:** Commission rate per milestone tier — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-02-002 — Current commission rate shown
**Type:** Positive
**Covers:** 2.1 → Current commission rate shown; Rule: The current and next-tier rates 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: Current commission rate shown.
2. Observe the result and verify the full behavior: Current commission rate shown.
**Expected Result:** Current commission rate shown — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-003 — Rate at the next tier shown
**Type:** Positive
**Covers:** 2.1 → Rate at the next tier shown; Rule: Rates 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: Rate at the next tier shown.
2. Observe the result and verify the full behavior: Rate at the next tier shown.
**Expected Result:** Rate at the next tier shown — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-004 — Performance that unlocks a higher rate
**Type:** Positive
**Covers:** 2.1 → Performance that unlocks a higher rate; Rule: The increasing commission rates 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: Performance that unlocks a higher rate.
2. Observe the result and verify the full behavior: Performance that unlocks a higher rate.
**Expected Result:** Performance that unlocks a higher rate — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-005 — Rate increase history
**Type:** Positive
**Covers:** 2.1 → Rate increase history
**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: Rate increase history.
2. Observe the result and verify the full behavior: Rate increase history.
**Expected Result:** Rate increase history — delivered exactly as documented.
**Priority:** High

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

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

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


## 2.2 Performance Bonus

### TC-AF-6-02-009 — Performance bonus criteria
**Type:** Positive
**Covers:** 2.2 → Performance bonus criteria; Rule: The bonuses are for exceeding targets.
**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: Performance bonus criteria.
2. Observe the result and verify the full behavior: Performance bonus criteria.
**Expected Result:** Performance bonus criteria — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-02-010 — Bonuses earned
**Type:** Positive
**Covers:** 2.2 → 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-6-02-011 — Bonus amount
**Type:** Positive
**Covers:** 2.2 → Bonus amount; Rule: Bonuses 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-6-02-012 — Bonuses by period
**Type:** Positive
**Covers:** 2.2 → Bonuses by period; Rule: The performance bonus 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-6-02-013 — View a bonus's details
**Type:** Positive
**Covers:** 2.2 → 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-6-02-014 — Bonuses available on web and mobile
**Type:** Positive
**Covers:** 2.2 → Bonuses 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: Bonuses available on web and mobile.
2. Observe the result and verify the full behavior: Bonuses available on web and mobile.
**Expected Result:** Bonuses available on web and mobile — delivered exactly as documented.
**Priority:** High

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

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


## 2.3 Target Tracking

### TC-AF-6-02-017 — Performance targets shown
**Type:** Positive
**Covers:** 2.3 → Performance targets shown; Rule: The targets show current, remaining, and bonus.
**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: Performance targets shown.
2. Observe the result and verify the full behavior: Performance targets shown.
**Expected Result:** Performance targets shown — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-02-018 — Current value per target
**Type:** Positive
**Covers:** 2.3 → Current value per target; Rule: The target status 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: Current value per target.
2. Observe the result and verify the full behavior: Current value per target.
**Expected Result:** Current value per target — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-019 — Remaining amount per target
**Type:** Positive
**Covers:** 2.3 → Remaining amount per target; 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: Remaining amount per target.
2. Observe the result and verify the full behavior: Remaining amount per target.
**Expected Result:** Remaining amount per target — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-020 — Bonus at stake per target
**Type:** Positive
**Covers:** 2.3 → Bonus at stake per target; Rule: The target 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: Bonus at stake per target.
2. Observe the result and verify the full behavior: Bonus at stake per target.
**Expected Result:** Bonus at stake per target — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-021 — Target status (on track, at risk)
**Type:** Positive
**Covers:** 2.3 → Target status (on track, at risk)
**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: Target status (on track, at risk).
2. Observe the result and verify the full behavior: Target status (on track, at risk).
**Expected Result:** Target status (on track, at risk) — delivered exactly as documented.
**Priority:** High

### TC-AF-6-02-022 — Tracking available on web and mobile
**Type:** Positive
**Covers:** 2.3 → 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-6-02-023 — Tracking event logging (viewed)
**Type:** Positive
**Covers:** 2.3 → 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-6-02-024 — Audit logging of the target tracking
**Type:** Positive
**Covers:** 2.3 → Audit logging of the target 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 target tracking action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The target tracking action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
