# 4. Progress Tracking & Countdown — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: progress_countdown.md — every feature, sub-feature, and rule covered

---

## Test Execution Policy
- Zero tolerance: any deviation from documented behavior = FAILED = bug
- Every bug is immediately logged/reported (Bug ID, feature, sub-feature, expected vs actual, severity) and fixed 100% before the group passes
- Feature group passes only at 100% test pass rate

## Coverage Matrix
| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 4.1 Progress Tracking Towards Target | Syllabus coverage percentage per exam | TC-ST-06-04-001 |
| 4.1 Progress Tracking Towards Target | Topic mastery levels per exam | TC-ST-06-04-002 |
| 4.1 Progress Tracking Towards Target | Practice and revision completion | TC-ST-06-04-003 |
| 4.1 Progress Tracking Towards Target | Readiness indicator per exam | TC-ST-06-04-004 |
| 4.1 Progress Tracking Towards Target | Progress view per target exam | TC-ST-06-04-005 |
| 4.1 Progress Tracking Towards Target | Remaining topics and tasks list | TC-ST-06-04-006 |
| 4.1 Progress Tracking Towards Target | Progress updates in real time | TC-ST-06-04-007 |
| 4.1 Progress Tracking Towards Target | Progress event logging (updated) | TC-ST-06-04-008 |
| 4.1 Progress Tracking Towards Target | Audit logging of the progress tracking towards target | TC-ST-06-04-009 |
| 4.1 Progress Tracking Towards Target | Rule: Syllabus coverage is computed from the mapped topics completed. | TC-ST-06-04-001 |
| 4.1 Progress Tracking Towards Target | Rule: Topic mastery is derived from assessment and practice performance. | TC-ST-06-04-002 |
| 4.1 Progress Tracking Towards Target | Rule: The readiness indicator reflects coverage, mastery, and time remaining. | TC-ST-06-04-003 |
| 4.1 Progress Tracking Towards Target | Rule: Progress updates in real time as the Student studies. | TC-ST-06-04-004 |
| 4.1 Progress Tracking Towards Target | Rule: Progress events (updated) are logged with the exam and the timestamp. | TC-ST-06-04-005 |
| 4.1 Progress Tracking Towards Target | Rule: The progress tracking towards target is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-04-006 |
| 4.2 Countdown Timer to Exam Date | Live countdown to the exam date (days, hours, minutes) | TC-ST-06-04-010 |
| 4.2 Countdown Timer to Exam Date | Countdown on the dashboard and the exam page | TC-ST-06-04-011 |
| 4.2 Countdown Timer to Exam Date | Pin a countdown to the dashboard | TC-ST-06-04-012 |
| 4.2 Countdown Timer to Exam Date | Countdown color changes as the exam approaches | TC-ST-06-04-013 |
| 4.2 Countdown Timer to Exam Date | Multiple exam countdowns shown together | TC-ST-06-04-014 |
| 4.2 Countdown Timer to Exam Date | Countdown available on web and mobile | TC-ST-06-04-015 |
| 4.2 Countdown Timer to Exam Date | Countdown event logging (viewed) | TC-ST-06-04-016 |
| 4.2 Countdown Timer to Exam Date | Audit logging of the countdown timer to exam date | TC-ST-06-04-017 |
| 4.2 Countdown Timer to Exam Date | Rule: The countdown is computed from the current time to the exam date. | TC-ST-06-04-010 |
| 4.2 Countdown Timer to Exam Date | Rule: The countdown color changes as the exam approaches (per the platform's thresholds). | TC-ST-06-04-011 |
| 4.2 Countdown Timer to Exam Date | Rule: A countdown can be pinned to the dashboard. | TC-ST-06-04-012 |
| 4.2 Countdown Timer to Exam Date | Rule: Multiple countdowns are shown for multiple active exams. | TC-ST-06-04-013 |
| 4.2 Countdown Timer to Exam Date | Rule: Countdown events (viewed) are logged with the exam and the timestamp. | TC-ST-06-04-014 |
| 4.2 Countdown Timer to Exam Date | Rule: The countdown timer to exam date is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-04-015 |
| 4.3 Exam Day and Post-Exam | "Exam day" view with exam details | TC-ST-06-04-018 |
| 4.3 Exam Day and Post-Exam | Last-minute revision list for exam day | TC-ST-06-04-019 |
| 4.3 Exam Day and Post-Exam | Record the actual result after the exam | TC-ST-06-04-020 |
| 4.3 Exam Day and Post-Exam | Post-exam reflection prompt | TC-ST-06-04-021 |
| 4.3 Exam Day and Post-Exam | Result feeds the prediction accuracy | TC-ST-06-04-022 |
| 4.3 Exam Day and Post-Exam | Exam closed and moved to history | TC-ST-06-04-023 |
| 4.3 Exam Day and Post-Exam | Exam day and post-exam event logging (result recorded) | TC-ST-06-04-024 |
| 4.3 Exam Day and Post-Exam | Audit logging of the exam day and post-exam | TC-ST-06-04-025 |
| 4.3 Exam Day and Post-Exam | Rule: The "exam day" view is shown on the exam date. | TC-ST-06-04-018 |
| 4.3 Exam Day and Post-Exam | Rule: The last-minute revision list is drawn from the high-importance topics. | TC-ST-06-04-019 |
| 4.3 Exam Day and Post-Exam | Rule: Recording the actual result is required to close the exam loop. | TC-ST-06-04-020 |
| 4.3 Exam Day and Post-Exam | Rule: The result feeds the prediction accuracy. | TC-ST-06-04-021 |
| 4.3 Exam Day and Post-Exam | Rule: Exam day and post-exam events (result recorded) are logged with the exam and the timestamp. | TC-ST-06-04-022 |
| 4.3 Exam Day and Post-Exam | Rule: The exam day and post-exam is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-04-023 |

## 4.1 Progress Tracking Towards Target

### TC-ST-06-04-001 — Syllabus coverage percentage per exam
**Type:** Positive
**Covers:** 4.1 → Syllabus coverage percentage per exam; Rule: Syllabus coverage is computed from the mapped topics completed.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Syllabus coverage percentage per exam.
2. Observe the result and verify the full behavior: Syllabus coverage percentage per exam.
**Expected Result:** Syllabus coverage percentage per exam — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-04-002 — Topic mastery levels per exam
**Type:** Positive
**Covers:** 4.1 → Topic mastery levels per exam; Rule: Topic mastery is derived from assessment and practice performance.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Topic mastery levels per exam.
2. Observe the result and verify the full behavior: Topic mastery levels per exam.
**Expected Result:** Topic mastery levels per exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-003 — Practice and revision completion
**Type:** Positive
**Covers:** 4.1 → Practice and revision completion; Rule: The readiness indicator reflects coverage, mastery, and time remaining.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Practice and revision completion.
2. Observe the result and verify the full behavior: Practice and revision completion.
**Expected Result:** Practice and revision completion — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-004 — Readiness indicator per exam
**Type:** Positive
**Covers:** 4.1 → Readiness indicator per exam; Rule: Progress updates in real time as the Student studies.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Readiness indicator per exam.
2. Observe the result and verify the full behavior: Readiness indicator per exam.
**Expected Result:** Readiness indicator per exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-005 — Progress view per target exam
**Type:** Positive
**Covers:** 4.1 → Progress view per target exam; Rule: Progress events (updated) are logged with the exam and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Progress view per target exam.
2. Observe the result and verify the full behavior: Progress view per target exam.
**Expected Result:** Progress view per target exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-006 — Remaining topics and tasks list
**Type:** Positive
**Covers:** 4.1 → Remaining topics and tasks list; Rule: The progress tracking towards target is audit-logged with the account, the exam, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Remaining topics and tasks list.
2. Observe the result and verify the full behavior: Remaining topics and tasks list.
**Expected Result:** Remaining topics and tasks list — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-007 — Progress updates in real time
**Type:** Positive
**Covers:** 4.1 → Progress updates in real time
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Progress updates in real time.
2. Observe the result and verify the full behavior: Progress updates in real time.
**Expected Result:** Progress updates in real time — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-008 — Progress event logging (updated)
**Type:** Positive
**Covers:** 4.1 → Progress event logging (updated)
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Progress event logging (updated).
2. Observe the result and verify the full behavior: Progress event logging (updated).
**Expected Result:** Progress event logging (updated) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-009 — Audit logging of the progress tracking towards target
**Type:** Positive
**Covers:** 4.1 → Audit logging of the progress tracking towards target
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the progress tracking towards target.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical

## 4.2 Countdown Timer to Exam Date

### TC-ST-06-04-010 — Live countdown to the exam date (days, hours, minutes)
**Type:** Positive
**Covers:** 4.2 → Live countdown to the exam date (days, hours, minutes); Rule: The countdown is computed from the current time to the exam date.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Live countdown to the exam date (days.
2. Observe the result and verify the full behavior: Live countdown to the exam date (days, hours, minutes).
**Expected Result:** Live countdown to the exam date (days, hours, minutes) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-04-011 — Countdown on the dashboard and the exam page
**Type:** Positive
**Covers:** 4.2 → Countdown on the dashboard and the exam page; Rule: The countdown color changes as the exam approaches (per the platform's thresholds).
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Countdown on the dashboard and the exam page.
2. Observe the result and verify the full behavior: Countdown on the dashboard and the exam page.
**Expected Result:** Countdown on the dashboard and the exam page — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-012 — Pin a countdown to the dashboard
**Type:** Positive
**Covers:** 4.2 → Pin a countdown to the dashboard; Rule: A countdown can be pinned to the dashboard.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Pin a countdown to the dashboard.
2. Observe the result and verify the full behavior: Pin a countdown to the dashboard.
**Expected Result:** Pin a countdown to the dashboard — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-013 — Countdown color changes as the exam approaches
**Type:** Positive
**Covers:** 4.2 → Countdown color changes as the exam approaches; Rule: Multiple countdowns are shown for multiple active exams.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Countdown color changes as the exam approaches.
2. Observe the result and verify the full behavior: Countdown color changes as the exam approaches.
**Expected Result:** Countdown color changes as the exam approaches — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-014 — Multiple exam countdowns shown together
**Type:** Positive
**Covers:** 4.2 → Multiple exam countdowns shown together; Rule: Countdown events (viewed) are logged with the exam and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Multiple exam countdowns shown together.
2. Observe the result and verify the full behavior: Multiple exam countdowns shown together.
**Expected Result:** Multiple exam countdowns shown together — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-015 — Countdown available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Countdown available on web and mobile; Rule: The countdown timer to exam date is audit-logged with the account, the exam, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Countdown available on web and mobile.
2. Observe the result and verify the full behavior: Countdown available on web and mobile.
**Expected Result:** Countdown available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-016 — Countdown event logging (viewed)
**Type:** Positive
**Covers:** 4.2 → Countdown event logging (viewed)
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Countdown event logging (viewed).
2. Observe the result and verify the full behavior: Countdown event logging (viewed).
**Expected Result:** Countdown event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-017 — Audit logging of the countdown timer to exam date
**Type:** Positive
**Covers:** 4.2 → Audit logging of the countdown timer to exam date
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the countdown timer to exam date.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical

## 4.3 Exam Day and Post-Exam

### TC-ST-06-04-018 — "Exam day" view with exam details
**Type:** Positive
**Covers:** 4.3 → "Exam day" view with exam details; Rule: The "exam day" view is shown on the exam date.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: "Exam day" view with exam details.
2. Observe the result and verify the full behavior: "Exam day" view with exam details.
**Expected Result:** "Exam day" view with exam details — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-04-019 — Last-minute revision list for exam day
**Type:** Positive
**Covers:** 4.3 → Last-minute revision list for exam day; Rule: The last-minute revision list is drawn from the high-importance topics.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Last-minute revision list for exam day.
2. Observe the result and verify the full behavior: Last-minute revision list for exam day.
**Expected Result:** Last-minute revision list for exam day — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-020 — Record the actual result after the exam
**Type:** Positive
**Covers:** 4.3 → Record the actual result after the exam; Rule: Recording the actual result is required to close the exam loop.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Record the actual result after the exam.
2. Observe the result and verify the full behavior: Record the actual result after the exam.
**Expected Result:** Record the actual result after the exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-021 — Post-exam reflection prompt
**Type:** Positive
**Covers:** 4.3 → Post-exam reflection prompt; Rule: The result feeds the prediction accuracy.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Post-exam reflection prompt.
2. Observe the result and verify the full behavior: Post-exam reflection prompt.
**Expected Result:** Post-exam reflection prompt — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-022 — Result feeds the prediction accuracy
**Type:** Positive
**Covers:** 4.3 → Result feeds the prediction accuracy; Rule: Exam day and post-exam events (result recorded) are logged with the exam and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Result feeds the prediction accuracy.
2. Observe the result and verify the full behavior: Result feeds the prediction accuracy.
**Expected Result:** Result feeds the prediction accuracy — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-023 — Exam closed and moved to history
**Type:** Positive
**Covers:** 4.3 → Exam closed and moved to history; Rule: The exam day and post-exam is audit-logged with the account, the exam, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Exam closed and moved to history.
2. Observe the result and verify the full behavior: Exam closed and moved to history.
**Expected Result:** Exam closed and moved to history — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-024 — Exam day and post-exam event logging (result recorded)
**Type:** Positive
**Covers:** 4.3 → Exam day and post-exam event logging (result recorded)
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Exam day and post-exam event logging (result recorded).
2. Observe the result and verify the full behavior: Exam day and post-exam event logging (result recorded).
**Expected Result:** Exam day and post-exam event logging (result recorded) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-04-025 — Audit logging of the exam day and post-exam
**Type:** Positive
**Covers:** 4.3 → Audit logging of the exam day and post-exam
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the exam day and post-exam.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical
