# 1. Achievement Milestones — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: achievement_milestones.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 | Milestone tiers shown (Bronze, Silver, Gold, Platinum) | TC-AF-6-01-001 |
| 1.1 | Criteria per tier | TC-AF-6-01-002 |
| 1.1 | Benefits per tier | TC-AF-6-01-003 |
| 1.1 | Current tier shown | TC-AF-6-01-004 |
| 1.1 | Path to the next tier | TC-AF-6-01-005 |
| 1.1 | Tiers available on web and mobile | TC-AF-6-01-006 |
| 1.1 | Tiers event logging (viewed) | TC-AF-6-01-007 |
| 1.1 | Audit logging of the milestone tiers | TC-AF-6-01-008 |
| 1.1 | Rule: The tiers are Bronze, Silver, Gold, and Platinum. | TC-AF-6-01-001 |
| 1.1 | Rule: The criteria and benefits are shown per tier. | TC-AF-6-01-002 |
| 1.1 | Rule: Tiers events (viewed) are logged with the account and the timestamp. | TC-AF-6-01-003 |
| 1.1 | Rule: The milestone tiers is audit-logged with the account and the timestamp. | TC-AF-6-01-004 |
| 1.2 | Progress toward the next tier | TC-AF-6-01-009 |
| 1.2 | Metric values shown | TC-AF-6-01-010 |
| 1.2 | Threshold for the next tier | TC-AF-6-01-011 |
| 1.2 | Remaining amount to qualify | TC-AF-6-01-012 |
| 1.2 | Progress bar | TC-AF-6-01-013 |
| 1.2 | Progress available on web and mobile | TC-AF-6-01-014 |
| 1.2 | Progress event logging (viewed) | TC-AF-6-01-015 |
| 1.2 | Audit logging of the milestone progress | TC-AF-6-01-016 |
| 1.2 | Rule: The progress is toward the next tier. | TC-AF-6-01-009 |
| 1.2 | Rule: The threshold and remaining amount are shown. | TC-AF-6-01-010 |
| 1.2 | Rule: Progress events (viewed) are logged with the account and the timestamp. | TC-AF-6-01-011 |
| 1.2 | Rule: The milestone progress is audit-logged with the account and the timestamp. | TC-AF-6-01-012 |
| 1.3 | List of achieved milestones | TC-AF-6-01-017 |
| 1.3 | Tier reached and date per milestone | TC-AF-6-01-018 |
| 1.3 | Benefits unlocked per milestone | TC-AF-6-01-019 |
| 1.3 | Badges earned | TC-AF-6-01-020 |
| 1.3 | Achievement history | TC-AF-6-01-021 |
| 1.3 | Achievements available on web and mobile | TC-AF-6-01-022 |
| 1.3 | Achievements event logging (viewed) | TC-AF-6-01-023 |
| 1.3 | Audit logging of the milestone achievements | TC-AF-6-01-024 |
| 1.3 | Rule: The achievements show tier, date, and benefits. | TC-AF-6-01-017 |
| 1.3 | Rule: The badges earned are shown. | TC-AF-6-01-018 |
| 1.3 | Rule: Achievements events (viewed) are logged with the account and the timestamp. | TC-AF-6-01-019 |
| 1.3 | Rule: The milestone achievements is audit-logged with the account and the timestamp. | TC-AF-6-01-020 |

## 1.1 Milestone Tiers

### TC-AF-6-01-001 — Milestone tiers shown (Bronze, Silver, Gold, Platinum)
**Type:** Positive
**Covers:** 1.1 → Milestone tiers shown (Bronze, Silver, Gold, Platinum); Rule: The tiers are Bronze, Silver, Gold, and Platinum.
**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: Milestone tiers shown (Bronze, Silver, Gold, Platinum).
2. Observe the result and verify the full behavior: Milestone tiers shown (Bronze, Silver, Gold, Platinum).
**Expected Result:** Milestone tiers shown (Bronze, Silver, Gold, Platinum) — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-01-002 — Criteria per tier
**Type:** Positive
**Covers:** 1.1 → Criteria per tier; Rule: The criteria and benefits are shown per 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: Criteria per tier.
2. Observe the result and verify the full behavior: Criteria per tier.
**Expected Result:** Criteria per tier — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-003 — Benefits per tier
**Type:** Positive
**Covers:** 1.1 → Benefits per tier; Rule: Tiers 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: Benefits per tier.
2. Observe the result and verify the full behavior: Benefits per tier.
**Expected Result:** Benefits per tier — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-004 — Current tier shown
**Type:** Positive
**Covers:** 1.1 → Current tier shown; Rule: The milestone tiers 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: Current tier shown.
2. Observe the result and verify the full behavior: Current tier shown.
**Expected Result:** Current tier shown — delivered exactly as documented.
**Priority:** High

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

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

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

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


## 1.2 Milestone Progress

### TC-AF-6-01-009 — Progress toward the next tier
**Type:** Positive
**Covers:** 1.2 → Progress toward the next tier; Rule: The progress is toward the next 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: Progress toward the next tier.
2. Observe the result and verify the full behavior: Progress toward the next tier.
**Expected Result:** Progress toward the next tier — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-01-010 — Metric values shown
**Type:** Positive
**Covers:** 1.2 → Metric values shown; Rule: The threshold and remaining 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: Metric values shown.
2. Observe the result and verify the full behavior: Metric values shown.
**Expected Result:** Metric values shown — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-011 — Threshold for the next tier
**Type:** Edge
**Covers:** 1.2 → Threshold for the next tier; Rule: Progress 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: Threshold for the next tier.
2. Observe the result and verify the full behavior: Threshold for the next tier.
**Expected Result:** Threshold for the next tier — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-012 — Remaining amount to qualify
**Type:** Positive
**Covers:** 1.2 → Remaining amount to qualify; Rule: The milestone progress 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: Remaining amount to qualify.
2. Observe the result and verify the full behavior: Remaining amount to qualify.
**Expected Result:** Remaining amount to qualify — delivered exactly as documented.
**Priority:** High

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

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

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

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


## 1.3 Milestone Achievements

### TC-AF-6-01-017 — List of achieved milestones
**Type:** Positive
**Covers:** 1.3 → List of achieved milestones; Rule: The achievements show tier, date, and benefits.
**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 achieved milestones.
2. Observe the result and verify the full behavior: List of achieved milestones.
**Expected Result:** List of achieved milestones — delivered exactly as documented.
**Priority:** Critical

### TC-AF-6-01-018 — Tier reached and date per milestone
**Type:** Positive
**Covers:** 1.3 → Tier reached and date per milestone; Rule: The badges earned 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 reached and date per milestone.
2. Observe the result and verify the full behavior: Tier reached and date per milestone.
**Expected Result:** Tier reached and date per milestone — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-019 — Benefits unlocked per milestone
**Type:** Positive
**Covers:** 1.3 → Benefits unlocked per milestone; Rule: Achievements 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: Benefits unlocked per milestone.
2. Observe the result and verify the full behavior: Benefits unlocked per milestone.
**Expected Result:** Benefits unlocked per milestone — delivered exactly as documented.
**Priority:** High

### TC-AF-6-01-020 — Badges earned
**Type:** Positive
**Covers:** 1.3 → Badges earned; Rule: The milestone achievements 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: Badges earned.
2. Observe the result and verify the full behavior: Badges earned.
**Expected Result:** Badges earned — delivered exactly as documented.
**Priority:** High

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

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

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

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