# 2. Downline & Team Building — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: downline_team_building.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 | List of downline sub-affiliates | TC-AF-5-02-001 |
| 2.1 | Sub-affiliates organized by tier | TC-AF-5-02-002 |
| 2.1 | Status per sub-affiliate | TC-AF-5-02-003 |
| 2.1 | Performance per sub-affiliate | TC-AF-5-02-004 |
| 2.1 | Downline size summary | TC-AF-5-02-005 |
| 2.1 | Downline available on web and mobile | TC-AF-5-02-006 |
| 2.1 | Downline event logging (viewed) | TC-AF-5-02-007 |
| 2.1 | Audit logging of the downline overview | TC-AF-5-02-008 |
| 2.1 | Rule: The downline is organized by tier. | TC-AF-5-02-001 |
| 2.1 | Rule: The status and performance are shown per sub-affiliate. | TC-AF-5-02-002 |
| 2.1 | Rule: Downline events (viewed) are logged with the account and the timestamp. | TC-AF-5-02-003 |
| 2.1 | Rule: The downline overview is audit-logged with the account and the timestamp. | TC-AF-5-02-004 |
| 2.2 | Recruitment link for the Affiliate | TC-AF-5-02-009 |
| 2.2 | Share the recruitment link | TC-AF-5-02-010 |
| 2.2 | Track who has signed up | TC-AF-5-02-011 |
| 2.2 | Onboarding status per recruit | TC-AF-5-02-012 |
| 2.2 | Recruits added to the Tier 2 downline | TC-AF-5-02-013 |
| 2.2 | Recruitment available on web and mobile | TC-AF-5-02-014 |
| 2.2 | Recruitment event logging (shared, signed up) | TC-AF-5-02-015 |
| 2.2 | Audit logging of the recruit sub-affiliates | TC-AF-5-02-016 |
| 2.2 | Rule: The recruitment uses the Affiliate's recruitment link. | TC-AF-5-02-009 |
| 2.2 | Rule: The sign-ups are tracked. | TC-AF-5-02-010 |
| 2.2 | Rule: The recruits join the Tier 2 downline. | TC-AF-5-02-011 |
| 2.2 | Rule: Recruitment events (shared, signed up) are logged with the account and the timestamp. | TC-AF-5-02-012 |
| 2.2 | Rule: The recruit sub-affiliates is audit-logged with the account and the timestamp. | TC-AF-5-02-013 |
| 2.3 | Total downline sales | TC-AF-5-02-017 |
| 2.3 | Tier 2 commission generated | TC-AF-5-02-018 |
| 2.3 | Top-performing sub-affiliates | TC-AF-5-02-019 |
| 2.3 | Team performance by period | TC-AF-5-02-020 |
| 2.3 | Team performance visualization | TC-AF-5-02-021 |
| 2.3 | Summary available on web and mobile | TC-AF-5-02-022 |
| 2.3 | Summary event logging (viewed) | TC-AF-5-02-023 |
| 2.3 | Audit logging of the team performance summary | TC-AF-5-02-024 |
| 2.3 | Rule: The summary shows downline sales and Tier 2 commission. | TC-AF-5-02-017 |
| 2.3 | Rule: The top-performing sub-affiliates are shown. | TC-AF-5-02-018 |
| 2.3 | Rule: Summary events (viewed) are logged with the account and the timestamp. | TC-AF-5-02-019 |
| 2.3 | Rule: The team performance summary is audit-logged with the account and the timestamp. | TC-AF-5-02-020 |

## 2.1 Downline Overview

### TC-AF-5-02-001 — List of downline sub-affiliates
**Type:** Positive
**Covers:** 2.1 → List of downline sub-affiliates; Rule: The downline is organized by 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: List of downline sub-affiliates.
2. Observe the result and verify the full behavior: List of downline sub-affiliates.
**Expected Result:** List of downline sub-affiliates — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-02-002 — Sub-affiliates organized by tier
**Type:** Positive
**Covers:** 2.1 → Sub-affiliates organized by tier; Rule: The status and performance are shown per sub-affiliate.
**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: Sub-affiliates organized by tier.
2. Observe the result and verify the full behavior: Sub-affiliates organized by tier.
**Expected Result:** Sub-affiliates organized by tier — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-003 — Status per sub-affiliate
**Type:** Positive
**Covers:** 2.1 → Status per sub-affiliate; Rule: Downline 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: Status per sub-affiliate.
2. Observe the result and verify the full behavior: Status per sub-affiliate.
**Expected Result:** Status per sub-affiliate — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-004 — Performance per sub-affiliate
**Type:** Positive
**Covers:** 2.1 → Performance per sub-affiliate; Rule: The downline 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: Performance per sub-affiliate.
2. Observe the result and verify the full behavior: Performance per sub-affiliate.
**Expected Result:** Performance per sub-affiliate — delivered exactly as documented.
**Priority:** High

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

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

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

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


## 2.2 Recruit Sub-Affiliates

### TC-AF-5-02-009 — Recruitment link for the Affiliate
**Type:** Positive
**Covers:** 2.2 → Recruitment link for the Affiliate; Rule: The recruitment uses the Affiliate's recruitment link.
**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: Recruitment link for the Affiliate.
2. Observe the result and verify the full behavior: Recruitment link for the Affiliate.
**Expected Result:** Recruitment link for the Affiliate — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-02-010 — Share the recruitment link
**Type:** Positive
**Covers:** 2.2 → Share the recruitment link; Rule: The sign-ups are tracked.
**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: Share the recruitment link.
2. Observe the result and verify the full behavior: Share the recruitment link.
**Expected Result:** Share the recruitment link — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-011 — Track who has signed up
**Type:** Positive
**Covers:** 2.2 → Track who has signed up; Rule: The recruits join the Tier 2 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: Track who has signed up.
2. Observe the result and verify the full behavior: Track who has signed up.
**Expected Result:** Track who has signed up — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-012 — Onboarding status per recruit
**Type:** Positive
**Covers:** 2.2 → Onboarding status per recruit; Rule: Recruitment events (shared, signed up) 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: Onboarding status per recruit.
2. Observe the result and verify the full behavior: Onboarding status per recruit.
**Expected Result:** Onboarding status per recruit — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-013 — Recruits added to the Tier 2 downline
**Type:** Positive
**Covers:** 2.2 → Recruits added to the Tier 2 downline; Rule: The recruit sub-affiliates 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: Recruits added to the Tier 2 downline.
2. Observe the result and verify the full behavior: Recruits added to the Tier 2 downline.
**Expected Result:** Recruits added to the Tier 2 downline — delivered exactly as documented.
**Priority:** High

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

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

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


## 2.3 Team Performance Summary

### TC-AF-5-02-017 — Total downline sales
**Type:** Positive
**Covers:** 2.3 → Total downline sales; Rule: The summary shows downline sales and Tier 2 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: Total downline sales.
2. Observe the result and verify the full behavior: Total downline sales.
**Expected Result:** Total downline sales — delivered exactly as documented.
**Priority:** Critical

### TC-AF-5-02-018 — Tier 2 commission generated
**Type:** Positive
**Covers:** 2.3 → Tier 2 commission generated; Rule: The top-performing sub-affiliates 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: Tier 2 commission generated.
2. Observe the result and verify the full behavior: Tier 2 commission generated.
**Expected Result:** Tier 2 commission generated — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-019 — Top-performing sub-affiliates
**Type:** Positive
**Covers:** 2.3 → Top-performing sub-affiliates; 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: Top-performing sub-affiliates.
2. Observe the result and verify the full behavior: Top-performing sub-affiliates.
**Expected Result:** Top-performing sub-affiliates — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-020 — Team performance by period
**Type:** Positive
**Covers:** 2.3 → Team performance by period; Rule: The team performance 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: Team performance by period.
2. Observe the result and verify the full behavior: Team performance by period.
**Expected Result:** Team performance by period — delivered exactly as documented.
**Priority:** High

### TC-AF-5-02-021 — Team performance visualization
**Type:** Positive
**Covers:** 2.3 → Team performance 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: Team performance visualization.
2. Observe the result and verify the full behavior: Team performance visualization.
**Expected Result:** Team performance visualization — delivered exactly as documented.
**Priority:** High

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