# 1. Commission & Payout Alerts — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: commission_payout_alerts.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 |
|---------|--------------------|----------|
| 1.1 | Alert on new commission earned | TC-AF-9-01-001 |
| 1.1 | Alert on commission status change | TC-AF-9-01-002 |
| 1.1 | Alert on commission dispute update | TC-AF-9-01-003 |
| 1.1 | Alert shows the commission details | TC-AF-9-01-004 |
| 1.1 | Tap through to the commission | TC-AF-9-01-005 |
| 1.1 | Alerts available on web and mobile | TC-AF-9-01-006 |
| 1.1 | Alerts event logging (sent, viewed) | TC-AF-9-01-007 |
| 1.1 | Audit logging of the commission alerts | TC-AF-9-01-008 |
| 1.1 | Rule: The alerts are sent on commission events. | TC-AF-9-01-001 |
| 1.1 | Rule: The alert shows the commission details. | TC-AF-9-01-002 |
| 1.1 | Rule: Alerts events (sent, viewed) are logged with the account and the timestamp. | TC-AF-9-01-003 |
| 1.1 | Rule: The commission alerts is audit-logged with the account and the timestamp. | TC-AF-9-01-004 |
| 1.2 | Alert on payment request submitted | TC-AF-9-01-009 |
| 1.2 | Alert on payout processed | TC-AF-9-01-010 |
| 1.2 | Alert on payout completed | TC-AF-9-01-011 |
| 1.2 | Alert shows the payout details | TC-AF-9-01-012 |
| 1.2 | Tap through to the payment history | TC-AF-9-01-013 |
| 1.2 | Alerts available on web and mobile | TC-AF-9-01-014 |
| 1.2 | Alerts event logging (sent, viewed) | TC-AF-9-01-015 |
| 1.2 | Audit logging of the payout alerts | TC-AF-9-01-016 |
| 1.2 | Rule: The alerts are sent on payout events. | TC-AF-9-01-009 |
| 1.2 | Rule: The alert shows the payout details. | TC-AF-9-01-010 |
| 1.2 | Rule: Alerts events (sent, viewed) are logged with the account and the timestamp. | TC-AF-9-01-011 |
| 1.2 | Rule: The payout alerts is audit-logged with the account and the timestamp. | TC-AF-9-01-012 |
| 1.3 | Alert on new sign-up through the link | TC-AF-9-01-017 |
| 1.3 | Alert on new purchase | TC-AF-9-01-018 |
| 1.3 | Alert on referred customer renewal | TC-AF-9-01-019 |
| 1.3 | Alert shows the referral details | TC-AF-9-01-020 |
| 1.3 | Tap through to the referrals | TC-AF-9-01-021 |
| 1.3 | Alerts available on web and mobile | TC-AF-9-01-022 |
| 1.3 | Alerts event logging (sent, viewed) | TC-AF-9-01-023 |
| 1.3 | Audit logging of the referral activity alerts | TC-AF-9-01-024 |
| 1.3 | Rule: The alerts are sent on referral activity. | TC-AF-9-01-017 |
| 1.3 | Rule: The alert shows the referral details. | TC-AF-9-01-018 |
| 1.3 | Rule: Alerts events (sent, viewed) are logged with the account and the timestamp. | TC-AF-9-01-019 |
| 1.3 | Rule: The referral activity alerts is audit-logged with the account and the timestamp. | TC-AF-9-01-020 |

## 1.1 Commission Alerts

### TC-AF-9-01-001 — Alert on new commission earned
**Type:** Positive
**Covers:** 1.1 → Alert on new commission earned; Rule: The alerts are sent on commission events.
**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: Alert on new commission earned.
2. Observe the result and verify the full behavior: Alert on new commission earned.
**Expected Result:** Alert on new commission earned — delivered exactly as documented.
**Priority:** Critical

### TC-AF-9-01-002 — Alert on commission status change
**Type:** Positive
**Covers:** 1.1 → Alert on commission status change; Rule: The alert shows the commission 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: Alert on commission status change.
2. Observe the result and verify the full behavior: Alert on commission status change.
**Expected Result:** Alert on commission status change — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-003 — Alert on commission dispute update
**Type:** Positive
**Covers:** 1.1 → Alert on commission dispute update; Rule: Alerts events (sent, 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: Alert on commission dispute update.
2. Observe the result and verify the full behavior: Alert on commission dispute update.
**Expected Result:** Alert on commission dispute update — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-004 — Alert shows the commission details
**Type:** Positive
**Covers:** 1.1 → Alert shows the commission details; Rule: The commission alerts 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: Alert shows the commission details.
2. Observe the result and verify the full behavior: Alert shows the commission details.
**Expected Result:** Alert shows the commission details — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-005 — Tap through to the commission
**Type:** Positive
**Covers:** 1.1 → Tap through to the 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: Tap through to the commission.
2. Observe the result and verify the full behavior: Tap through to the commission.
**Expected Result:** Tap through to the commission — delivered exactly as documented.
**Priority:** High

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

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

### TC-AF-9-01-008 — Audit logging of the commission alerts
**Type:** Positive
**Covers:** 1.1 → Audit logging of the commission alerts
**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 alerts action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The commission alerts action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 1.2 Payout Alerts

### TC-AF-9-01-009 — Alert on payment request submitted
**Type:** Positive
**Covers:** 1.2 → Alert on payment request submitted; Rule: The alerts are sent on payout events.
**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: Alert on payment request submitted.
2. Observe the result and verify the full behavior: Alert on payment request submitted.
**Expected Result:** Alert on payment request submitted — delivered exactly as documented.
**Priority:** Critical

### TC-AF-9-01-010 — Alert on payout processed
**Type:** Positive
**Covers:** 1.2 → Alert on payout processed; Rule: The alert shows the payout 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: Alert on payout processed.
2. Observe the result and verify the full behavior: Alert on payout processed.
**Expected Result:** Alert on payout processed — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-011 — Alert on payout completed
**Type:** Positive
**Covers:** 1.2 → Alert on payout completed; Rule: Alerts events (sent, 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: Alert on payout completed.
2. Observe the result and verify the full behavior: Alert on payout completed.
**Expected Result:** Alert on payout completed — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-012 — Alert shows the payout details
**Type:** Positive
**Covers:** 1.2 → Alert shows the payout details; Rule: The payout alerts 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: Alert shows the payout details.
2. Observe the result and verify the full behavior: Alert shows the payout details.
**Expected Result:** Alert shows the payout details — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-013 — Tap through to the payment history
**Type:** Positive
**Covers:** 1.2 → Tap through to the payment 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: Tap through to the payment history.
2. Observe the result and verify the full behavior: Tap through to the payment history.
**Expected Result:** Tap through to the payment history — delivered exactly as documented.
**Priority:** High

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

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

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


## 1.3 Referral Activity Alerts

### TC-AF-9-01-017 — Alert on new sign-up through the link
**Type:** Positive
**Covers:** 1.3 → Alert on new sign-up through the link; Rule: The alerts are sent on referral activity.
**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: Alert on new sign-up through the link.
2. Observe the result and verify the full behavior: Alert on new sign-up through the link.
**Expected Result:** Alert on new sign-up through the link — delivered exactly as documented.
**Priority:** Critical

### TC-AF-9-01-018 — Alert on new purchase
**Type:** Positive
**Covers:** 1.3 → Alert on new purchase; Rule: The alert shows the referral 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: Alert on new purchase.
2. Observe the result and verify the full behavior: Alert on new purchase.
**Expected Result:** Alert on new purchase — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-019 — Alert on referred customer renewal
**Type:** Positive
**Covers:** 1.3 → Alert on referred customer renewal; Rule: Alerts events (sent, 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: Alert on referred customer renewal.
2. Observe the result and verify the full behavior: Alert on referred customer renewal.
**Expected Result:** Alert on referred customer renewal — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-020 — Alert shows the referral details
**Type:** Positive
**Covers:** 1.3 → Alert shows the referral details; Rule: The referral activity alerts 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: Alert shows the referral details.
2. Observe the result and verify the full behavior: Alert shows the referral details.
**Expected Result:** Alert shows the referral details — delivered exactly as documented.
**Priority:** High

### TC-AF-9-01-021 — Tap through to the referrals
**Type:** Positive
**Covers:** 1.3 → Tap through to the referrals
**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: Tap through to the referrals.
2. Observe the result and verify the full behavior: Tap through to the referrals.
**Expected Result:** Tap through to the referrals — delivered exactly as documented.
**Priority:** High

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

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

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