# 1. Affiliate Academy — Test Cases

User Type: **Affiliate**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: affiliate_academy.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 | Browse the sales training courses | TC-AF-8-01-001 |
| 1.1 | Enroll in a course | TC-AF-8-01-002 |
| 1.1 | Complete the course lessons | TC-AF-8-01-003 |
| 1.1 | Course progress tracking | TC-AF-8-01-004 |
| 1.1 | Courses are practical and updated | TC-AF-8-01-005 |
| 1.1 | Courses available on web and mobile | TC-AF-8-01-006 |
| 1.1 | Courses event logging (enrolled, completed) | TC-AF-8-01-007 |
| 1.1 | Audit logging of the sales training courses | TC-AF-8-01-008 |
| 1.1 | Rule: The courses are structured lessons on selling. | TC-AF-8-01-001 |
| 1.1 | Rule: The course progress is tracked. | TC-AF-8-01-002 |
| 1.1 | Rule: Courses events (enrolled, completed) are logged with the account and the timestamp. | TC-AF-8-01-003 |
| 1.1 | Rule: The sales training courses is audit-logged with the account and the timestamp. | TC-AF-8-01-004 |
| 1.2 | Browse the digital marketing courses | TC-AF-8-01-009 |
| 1.2 | Enroll in a course | TC-AF-8-01-010 |
| 1.2 | Complete the course lessons | TC-AF-8-01-011 |
| 1.2 | Course progress tracking | TC-AF-8-01-012 |
| 1.2 | Courses cover social, email, content, and paid channels | TC-AF-8-01-013 |
| 1.2 | Courses available on web and mobile | TC-AF-8-01-014 |
| 1.2 | Courses event logging (enrolled, completed) | TC-AF-8-01-015 |
| 1.2 | Audit logging of the digital marketing courses | TC-AF-8-01-016 |
| 1.2 | Rule: The courses cover social, email, content, and paid channels. | TC-AF-8-01-009 |
| 1.2 | Rule: The course progress is tracked. | TC-AF-8-01-010 |
| 1.2 | Rule: Courses events (enrolled, completed) are logged with the account and the timestamp. | TC-AF-8-01-011 |
| 1.2 | Rule: The digital marketing courses is audit-logged with the account and the timestamp. | TC-AF-8-01-012 |
| 1.3 | Browse the best practices library | TC-AF-8-01-017 |
| 1.3 | Articles, checklists, and case studies | TC-AF-8-01-018 |
| 1.3 | Read a best practice | TC-AF-8-01-019 |
| 1.3 | Bookmark a best practice | TC-AF-8-01-020 |
| 1.3 | Library updated with new strategies | TC-AF-8-01-021 |
| 1.3 | Library available on web and mobile | TC-AF-8-01-022 |
| 1.3 | Library event logging (viewed, bookmarked) | TC-AF-8-01-023 |
| 1.3 | Audit logging of the best practices library | TC-AF-8-01-024 |
| 1.3 | Rule: The library includes articles, checklists, and case studies. | TC-AF-8-01-017 |
| 1.3 | Rule: The library is updated with new strategies. | TC-AF-8-01-018 |
| 1.3 | Rule: Library events (viewed, bookmarked) are logged with the account and the timestamp. | TC-AF-8-01-019 |
| 1.3 | Rule: The best practices library is audit-logged with the account and the timestamp. | TC-AF-8-01-020 |

## 1.1 Sales Training Courses

### TC-AF-8-01-001 — Browse the sales training courses
**Type:** Positive
**Covers:** 1.1 → Browse the sales training courses; Rule: The courses are structured lessons on selling.
**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: Browse the sales training courses.
2. Observe the result and verify the full behavior: Browse the sales training courses.
**Expected Result:** Browse the sales training courses — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-01-002 — Enroll in a course
**Type:** Positive
**Covers:** 1.1 → Enroll in a course; Rule: The course progress is 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: Enroll in a course.
2. Observe the result and verify the full behavior: Enroll in a course.
**Expected Result:** Enroll in a course — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-003 — Complete the course lessons
**Type:** Positive
**Covers:** 1.1 → Complete the course lessons; Rule: Courses events (enrolled, completed) 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: Complete the course lessons.
2. Observe the result and verify the full behavior: Complete the course lessons.
**Expected Result:** Complete the course lessons — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-004 — Course progress tracking
**Type:** Positive
**Covers:** 1.1 → Course progress tracking; Rule: The sales training courses 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: Course progress tracking.
2. Observe the result and verify the full behavior: Course progress tracking.
**Expected Result:** Course progress tracking — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-005 — Courses are practical and updated
**Type:** Positive
**Covers:** 1.1 → Courses are practical and updated
**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 are practical and updated.
2. Observe the result and verify the full behavior: Courses are practical and updated.
**Expected Result:** Courses are practical and updated — delivered exactly as documented.
**Priority:** High

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

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

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


## 1.2 Digital Marketing Courses

### TC-AF-8-01-009 — Browse the digital marketing courses
**Type:** Positive
**Covers:** 1.2 → Browse the digital marketing courses; Rule: The courses cover social, email, content, and paid channels.
**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: Browse the digital marketing courses.
2. Observe the result and verify the full behavior: Browse the digital marketing courses.
**Expected Result:** Browse the digital marketing courses — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-01-010 — Enroll in a course
**Type:** Positive
**Covers:** 1.2 → Enroll in a course; Rule: The course progress is 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: Enroll in a course.
2. Observe the result and verify the full behavior: Enroll in a course.
**Expected Result:** Enroll in a course — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-011 — Complete the course lessons
**Type:** Positive
**Covers:** 1.2 → Complete the course lessons; Rule: Courses events (enrolled, completed) 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: Complete the course lessons.
2. Observe the result and verify the full behavior: Complete the course lessons.
**Expected Result:** Complete the course lessons — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-012 — Course progress tracking
**Type:** Positive
**Covers:** 1.2 → Course progress tracking; Rule: The digital marketing courses 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: Course progress tracking.
2. Observe the result and verify the full behavior: Course progress tracking.
**Expected Result:** Course progress tracking — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-013 — Courses cover social, email, content, and paid channels
**Type:** Positive
**Covers:** 1.2 → Courses cover social, email, content, and paid channels
**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 cover social, email, content, and paid channels.
2. Observe the result and verify the full behavior: Courses cover social, email, content, and paid channels.
**Expected Result:** Courses cover social, email, content, and paid channels — delivered exactly as documented.
**Priority:** High

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

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

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


## 1.3 Best Practices Library

### TC-AF-8-01-017 — Browse the best practices library
**Type:** Positive
**Covers:** 1.3 → Browse the best practices library; Rule: The library includes articles, checklists, and case studies.
**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: Browse the best practices library.
2. Observe the result and verify the full behavior: Browse the best practices library.
**Expected Result:** Browse the best practices library — delivered exactly as documented.
**Priority:** Critical

### TC-AF-8-01-018 — Articles, checklists, and case studies
**Type:** Positive
**Covers:** 1.3 → Articles, checklists, and case studies; Rule: The library is updated with new strategies.
**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: Articles, checklists, and case studies.
2. Observe the result and verify the full behavior: Articles, checklists, and case studies.
**Expected Result:** Articles, checklists, and case studies — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-019 — Read a best practice
**Type:** Positive
**Covers:** 1.3 → Read a best practice; Rule: Library events (viewed, bookmarked) 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: Read a best practice.
2. Observe the result and verify the full behavior: Read a best practice.
**Expected Result:** Read a best practice — delivered exactly as documented.
**Priority:** High

### TC-AF-8-01-020 — Bookmark a best practice
**Type:** Positive
**Covers:** 1.3 → Bookmark a best practice; Rule: The best practices library 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: Bookmark a best practice.
2. Observe the result and verify the full behavior: Bookmark a best practice.
**Expected Result:** Bookmark a best practice — delivered exactly as documented.
**Priority:** High

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

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

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

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