# 2. Certification & Progress — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: certification_progress.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 | Certification requirements shown | TC-AF-8-02-001 |
| 2.1 | Complete the required training | TC-AF-8-02-002 |
| 2.1 | Take the certification assessment | TC-AF-8-02-003 |
| 2.1 | Certification received on passing | TC-AF-8-02-004 |
| 2.1 | Certification displayed on the profile | TC-AF-8-02-005 |
| 2.1 | Retake the assessment if failed | TC-AF-8-02-006 |
| 2.1 | Certification available on web and mobile | TC-AF-8-02-007 |
| 2.1 | Certification event logging (attempted, passed) | TC-AF-8-02-008 |
| 2.1 | Audit logging of the affiliate certification | TC-AF-8-02-009 |
| 2.1 | Rule: The certification requires completing training and passing an assessment. | TC-AF-8-02-001 |
| 2.1 | Rule: The assessment can be retaken if failed. | TC-AF-8-02-002 |
| 2.1 | Rule: Certification events (attempted, passed) are logged with the account and the timestamp. | TC-AF-8-02-003 |
| 2.1 | Rule: The affiliate certification is audit-logged with the account and the timestamp. | TC-AF-8-02-004 |
| 2.2 | Courses completed | TC-AF-8-02-010 |
| 2.2 | Lessons finished | TC-AF-8-02-011 |
| 2.2 | Academy completion percentage | TC-AF-8-02-012 |
| 2.2 | Progress toward certification | TC-AF-8-02-013 |
| 2.2 | Training progress by category | TC-AF-8-02-014 |
| 2.2 | Progress available on web and mobile | TC-AF-8-02-015 |
| 2.2 | Progress event logging (viewed) | TC-AF-8-02-016 |
| 2.2 | Audit logging of the training progress | TC-AF-8-02-017 |
| 2.2 | Rule: The progress shows courses, lessons, and percentage. | TC-AF-8-02-010 |
| 2.2 | Rule: The progress toward certification is shown. | TC-AF-8-02-011 |
| 2.2 | Rule: Progress events (viewed) are logged with the account and the timestamp. | TC-AF-8-02-012 |
| 2.2 | Rule: The training progress is audit-logged with the account and the timestamp. | TC-AF-8-02-013 |
| 2.3 | Recommended learning path | TC-AF-8-02-018 |
| 2.3 | Courses and best practices in order | TC-AF-8-02-019 |
| 2.3 | Follow the path step by step | TC-AF-8-02-020 |
| 2.3 | Position in the path shown | TC-AF-8-02-021 |
| 2.3 | Path completion tracking | TC-AF-8-02-022 |
| 2.3 | Path available on web and mobile | TC-AF-8-02-023 |
| 2.3 | Path event logging (viewed, advanced) | TC-AF-8-02-024 |
| 2.3 | Audit logging of the learning path | TC-AF-8-02-025 |
| 2.3 | Rule: The path is ordered by priority. | TC-AF-8-02-018 |
| 2.3 | Rule: The position in the path is shown. | TC-AF-8-02-019 |
| 2.3 | Rule: Path events (viewed, advanced) are logged with the account and the timestamp. | TC-AF-8-02-020 |
| 2.3 | Rule: The learning path is audit-logged with the account and the timestamp. | TC-AF-8-02-021 |

## 2.1 Affiliate Certification

### TC-AF-8-02-001 — Certification requirements shown
**Type:** Positive
**Covers:** 2.1 → Certification requirements shown; Rule: The certification requires completing training and passing an assessment.
**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: Certification requirements shown.
2. Observe the result and verify the full behavior: Certification requirements shown.
**Expected Result:** Certification requirements shown — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-02-002 — Complete the required training
**Type:** Edge
**Covers:** 2.1 → Complete the required training; Rule: The assessment can be retaken if failed.
**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: Complete the required training.
2. Observe the result and verify the full behavior: Complete the required training.
**Expected Result:** Complete the required training — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-003 — Take the certification assessment
**Type:** Positive
**Covers:** 2.1 → Take the certification assessment; Rule: Certification events (attempted, passed) 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: Take the certification assessment.
2. Observe the result and verify the full behavior: Take the certification assessment.
**Expected Result:** Take the certification assessment — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-004 — Certification received on passing
**Type:** Positive
**Covers:** 2.1 → Certification received on passing; Rule: The affiliate certification 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: Certification received on passing.
2. Observe the result and verify the full behavior: Certification received on passing.
**Expected Result:** Certification received on passing — delivered exactly as documented.
**Priority:** High

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

### TC-AF-8-02-006 — Retake the assessment if failed
**Type:** Positive
**Covers:** 2.1 → Retake the assessment if failed
**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: Retake the assessment if failed.
2. Observe the result and verify the full behavior: Retake the assessment if failed.
**Expected Result:** Retake the assessment if failed — delivered exactly as documented.
**Priority:** High

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

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

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


## 2.2 Training Progress

### TC-AF-8-02-010 — Courses completed
**Type:** Positive
**Covers:** 2.2 → Courses completed; Rule: The progress shows courses, lessons, and percentage.
**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: Courses completed.
2. Observe the result and verify the full behavior: Courses completed.
**Expected Result:** Courses completed — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-02-011 — Lessons finished
**Type:** Positive
**Covers:** 2.2 → Lessons finished; Rule: The progress toward certification 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: Lessons finished.
2. Observe the result and verify the full behavior: Lessons finished.
**Expected Result:** Lessons finished — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-012 — Academy completion percentage
**Type:** Positive
**Covers:** 2.2 → Academy completion percentage; 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: Academy completion percentage.
2. Observe the result and verify the full behavior: Academy completion percentage.
**Expected Result:** Academy completion percentage — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-013 — Progress toward certification
**Type:** Positive
**Covers:** 2.2 → Progress toward certification; Rule: The training 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: Progress toward certification.
2. Observe the result and verify the full behavior: Progress toward certification.
**Expected Result:** Progress toward certification — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-014 — Training progress by category
**Type:** Positive
**Covers:** 2.2 → Training progress by category
**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: Training progress by category.
2. Observe the result and verify the full behavior: Training progress by category.
**Expected Result:** Training progress by category — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-015 — Progress available on web and mobile
**Type:** Positive
**Covers:** 2.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-8-02-016 — Progress event logging (viewed)
**Type:** Positive
**Covers:** 2.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-8-02-017 — Audit logging of the training progress
**Type:** Positive
**Covers:** 2.2 → Audit logging of the training 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 training progress action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The training progress action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 2.3 Learning Path

### TC-AF-8-02-018 — Recommended learning path
**Type:** Positive
**Covers:** 2.3 → Recommended learning path; Rule: The path is ordered by priority.
**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: Recommended learning path.
2. Observe the result and verify the full behavior: Recommended learning path.
**Expected Result:** Recommended learning path — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-02-019 — Courses and best practices in order
**Type:** Positive
**Covers:** 2.3 → Courses and best practices in order; Rule: The position in the path 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: Courses and best practices in order.
2. Observe the result and verify the full behavior: Courses and best practices in order.
**Expected Result:** Courses and best practices in order — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-020 — Follow the path step by step
**Type:** Positive
**Covers:** 2.3 → Follow the path step by step; Rule: Path events (viewed, advanced) 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: Follow the path step by step.
2. Observe the result and verify the full behavior: Follow the path step by step.
**Expected Result:** Follow the path step by step — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-021 — Position in the path shown
**Type:** Positive
**Covers:** 2.3 → Position in the path shown; Rule: The learning path 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: Position in the path shown.
2. Observe the result and verify the full behavior: Position in the path shown.
**Expected Result:** Position in the path shown — delivered exactly as documented.
**Priority:** High

### TC-AF-8-02-022 — Path completion tracking
**Type:** Positive
**Covers:** 2.3 → Path completion tracking
**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 completion tracking.
2. Observe the result and verify the full behavior: Path completion tracking.
**Expected Result:** Path completion tracking — delivered exactly as documented.
**Priority:** High

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

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

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