# 1. Learning Progress Tracking — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: learning_progress.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 |
|---------|--------------------|----------|
| 1.1 Course Progress Tracking | Video completion tracking per course | TC-ST-08-01-001 |
| 1.1 Course Progress Tracking | Lesson completion tracking per course | TC-ST-08-01-002 |
| 1.1 Course Progress Tracking | Overall course completion percentage | TC-ST-08-01-003 |
| 1.1 Course Progress Tracking | "Continue where you left off" per course | TC-ST-08-01-004 |
| 1.1 Course Progress Tracking | Progress bar per course | TC-ST-08-01-005 |
| 1.1 Course Progress Tracking | Progress list across all enrolled courses | TC-ST-08-01-006 |
| 1.1 Course Progress Tracking | Progress updates in real time | TC-ST-08-01-007 |
| 1.1 Course Progress Tracking | Progress event logging (updated) | TC-ST-08-01-008 |
| 1.1 Course Progress Tracking | Audit logging of the course progress tracking | TC-ST-08-01-009 |
| 1.1 Course Progress Tracking | Rule: Video completion is recorded when a video is watched to the completion threshold. | TC-ST-08-01-001 |
| 1.1 Course Progress Tracking | Rule: Course completion is the percentage of lessons completed. | TC-ST-08-01-002 |
| 1.1 Course Progress Tracking | Rule: "Continue where you left off" resumes the last position. | TC-ST-08-01-003 |
| 1.1 Course Progress Tracking | Rule: Progress updates in real time as the Student studies. | TC-ST-08-01-004 |
| 1.1 Course Progress Tracking | Rule: Progress events (updated) are logged with the course and the timestamp. | TC-ST-08-01-005 |
| 1.1 Course Progress Tracking | Rule: The course progress tracking is audit-logged with the account, the course, and the timestamp. | TC-ST-08-01-006 |
| 1.2 Time Spent Tracking | Total study time tracked | TC-ST-08-01-010 |
| 1.2 Time Spent Tracking | Time per course and per subject | TC-ST-08-01-011 |
| 1.2 Time Spent Tracking | Time per day and per week | TC-ST-08-01-012 |
| 1.2 Time Spent Tracking | Study time trends over time | TC-ST-08-01-013 |
| 1.2 Time Spent Tracking | Compare study time across periods | TC-ST-08-01-014 |
| 1.2 Time Spent Tracking | Study time available on web and mobile | TC-ST-08-01-015 |
| 1.2 Time Spent Tracking | Time tracking event logging (session recorded) | TC-ST-08-01-016 |
| 1.2 Time Spent Tracking | Audit logging of the time spent tracking | TC-ST-08-01-017 |
| 1.2 Time Spent Tracking | Rule: Study time is accumulated from active study sessions. | TC-ST-08-01-010 |
| 1.2 Time Spent Tracking | Rule: Time is broken down per course, subject, day, and week. | TC-ST-08-01-011 |
| 1.2 Time Spent Tracking | Rule: Trends are computed over the selected period. | TC-ST-08-01-012 |
| 1.2 Time Spent Tracking | Rule: Time spent is an input to the AI score prediction and study planner. | TC-ST-08-01-013 |
| 1.2 Time Spent Tracking | Rule: Time tracking events (session recorded) are logged with the course and the timestamp. | TC-ST-08-01-014 |
| 1.2 Time Spent Tracking | Rule: The time spent tracking is audit-logged with the account, the course, and the timestamp. | TC-ST-08-01-015 |
| 1.3 Activity Log | Chronological activity log of learning actions | TC-ST-08-01-018 |
| 1.3 Activity Log | Log entries for videos, quizzes, exams, flashcards, and more | TC-ST-08-01-019 |
| 1.3 Activity Log | Filter the log by action type | TC-ST-08-01-020 |
| 1.3 Activity Log | Filter the log by date range | TC-ST-08-01-021 |
| 1.3 Activity Log | Activity log available on web and mobile | TC-ST-08-01-022 |
| 1.3 Activity Log | Log is read-only to the Student | TC-ST-08-01-023 |
| 1.3 Activity Log | Activity log event logging (viewed) | TC-ST-08-01-024 |
| 1.3 Activity Log | Audit logging of the activity log | TC-ST-08-01-025 |
| 1.3 Activity Log | Rule: The activity log is chronological and read-only. | TC-ST-08-01-018 |
| 1.3 Activity Log | Rule: Each entry records the action, the item, and the timestamp. | TC-ST-08-01-019 |
| 1.3 Activity Log | Rule: Filters operate on action type and date range. | TC-ST-08-01-020 |
| 1.3 Activity Log | Rule: The log is available on web and mobile. | TC-ST-08-01-021 |
| 1.3 Activity Log | Rule: Activity log events (viewed) are logged with the timestamp. | TC-ST-08-01-022 |
| 1.3 Activity Log | Rule: The activity log is audit-logged with the account and the timestamp. | TC-ST-08-01-023 |

## 1.1 Course Progress Tracking

### TC-ST-08-01-001 — Video completion tracking per course
**Type:** Positive
**Covers:** 1.1 → Video completion tracking per course; Rule: Video completion is recorded when a video is watched to the completion threshold.
**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: Video completion tracking per course.
2. Observe the result and verify the full behavior: Video completion tracking per course.
**Expected Result:** Video completion tracking per course — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-01-002 — Lesson completion tracking per course
**Type:** Positive
**Covers:** 1.1 → Lesson completion tracking per course; Rule: Course completion is the percentage of lessons 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: Lesson completion tracking per course.
2. Observe the result and verify the full behavior: Lesson completion tracking per course.
**Expected Result:** Lesson completion tracking per course — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-003 — Overall course completion percentage
**Type:** Positive
**Covers:** 1.1 → Overall course completion percentage; Rule: "Continue where you left off" resumes the last position.
**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: Overall course completion percentage.
2. Observe the result and verify the full behavior: Overall course completion percentage.
**Expected Result:** Overall course completion percentage — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-004 — "Continue where you left off" per course
**Type:** Positive
**Covers:** 1.1 → "Continue where you left off" per course; 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: "Continue where you left off" per course.
2. Observe the result and verify the full behavior: "Continue where you left off" per course.
**Expected Result:** "Continue where you left off" per course — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-005 — Progress bar per course
**Type:** Positive
**Covers:** 1.1 → Progress bar per course; Rule: Progress events (updated) are logged with the course 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 bar per course.
2. Observe the result and verify the full behavior: Progress bar per course.
**Expected Result:** Progress bar per course — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-006 — Progress list across all enrolled courses
**Type:** Positive
**Covers:** 1.1 → Progress list across all enrolled courses; Rule: The course progress tracking is audit-logged with the account, the course, 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 list across all enrolled courses.
2. Observe the result and verify the full behavior: Progress list across all enrolled courses.
**Expected Result:** Progress list across all enrolled courses — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-007 — Progress updates in real time
**Type:** Positive
**Covers:** 1.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-08-01-008 — Progress event logging (updated)
**Type:** Positive
**Covers:** 1.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-08-01-009 — Audit logging of the course progress tracking
**Type:** Positive
**Covers:** 1.1 → Audit logging of the course progress tracking
**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 course progress tracking.
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

## 1.2 Time Spent Tracking

### TC-ST-08-01-010 — Total study time tracked
**Type:** Positive
**Covers:** 1.2 → Total study time tracked; Rule: Study time is accumulated from active study sessions.
**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: Total study time tracked.
2. Observe the result and verify the full behavior: Total study time tracked.
**Expected Result:** Total study time tracked — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-01-011 — Time per course and per subject
**Type:** Positive
**Covers:** 1.2 → Time per course and per subject; Rule: Time is broken down per course, subject, day, and week.
**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: Time per course and per subject.
2. Observe the result and verify the full behavior: Time per course and per subject.
**Expected Result:** Time per course and per subject — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-012 — Time per day and per week
**Type:** Positive
**Covers:** 1.2 → Time per day and per week; Rule: Trends are computed over the selected period.
**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: Time per day and per week.
2. Observe the result and verify the full behavior: Time per day and per week.
**Expected Result:** Time per day and per week — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-013 — Study time trends over time
**Type:** Positive
**Covers:** 1.2 → Study time trends over time; Rule: Time spent is an input to the AI score prediction and study planner.
**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: Study time trends over time.
2. Observe the result and verify the full behavior: Study time trends over time.
**Expected Result:** Study time trends over time — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-014 — Compare study time across periods
**Type:** Positive
**Covers:** 1.2 → Compare study time across periods; Rule: Time tracking events (session recorded) are logged with the course 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: Compare study time across periods.
2. Observe the result and verify the full behavior: Compare study time across periods.
**Expected Result:** Compare study time across periods — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-015 — Study time available on web and mobile
**Type:** Positive
**Covers:** 1.2 → Study time available on web and mobile; Rule: The time spent tracking is audit-logged with the account, the course, 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: Study time available on web and mobile.
2. Observe the result and verify the full behavior: Study time available on web and mobile.
**Expected Result:** Study time available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-016 — Time tracking event logging (session recorded)
**Type:** Positive
**Covers:** 1.2 → Time tracking event logging (session 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: Time tracking event logging (session recorded).
2. Observe the result and verify the full behavior: Time tracking event logging (session recorded).
**Expected Result:** Time tracking event logging (session recorded) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-017 — Audit logging of the time spent tracking
**Type:** Positive
**Covers:** 1.2 → Audit logging of the time spent tracking
**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 time spent tracking.
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

## 1.3 Activity Log

### TC-ST-08-01-018 — Chronological activity log of learning actions
**Type:** Positive
**Covers:** 1.3 → Chronological activity log of learning actions; Rule: The activity log is chronological and read-only.
**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: Chronological activity log of learning actions.
2. Observe the result and verify the full behavior: Chronological activity log of learning actions.
**Expected Result:** Chronological activity log of learning actions — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-01-019 — Log entries for videos, quizzes, exams, flashcards, and more
**Type:** Positive
**Covers:** 1.3 → Log entries for videos, quizzes, exams, flashcards, and more; Rule: Each entry records the action, the item, 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: Log entries for videos.
2. Observe the result and verify the full behavior: Log entries for videos, quizzes, exams, flashcards, and more.
**Expected Result:** Log entries for videos, quizzes, exams, flashcards, and more — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-020 — Filter the log by action type
**Type:** Positive
**Covers:** 1.3 → Filter the log by action type; Rule: Filters operate on action type and date range.
**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: Filter the log by action type.
2. Observe the result and verify the full behavior: Filter the log by action type.
**Expected Result:** Filter the log by action type — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-021 — Filter the log by date range
**Type:** Positive
**Covers:** 1.3 → Filter the log by date range; Rule: The log is available on web and mobile.
**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: Filter the log by date range.
2. Observe the result and verify the full behavior: Filter the log by date range.
**Expected Result:** Filter the log by date range — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-022 — Activity log available on web and mobile
**Type:** Positive
**Covers:** 1.3 → Activity log available on web and mobile; Rule: Activity log events (viewed) are logged with 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: Activity log available on web and mobile.
2. Observe the result and verify the full behavior: Activity log available on web and mobile.
**Expected Result:** Activity log available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-ST-08-01-023 — Log is read-only to the Student
**Type:** Positive
**Covers:** 1.3 → Log is read-only to the Student; Rule: The activity log is audit-logged with the account 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: Log is read-only to the Student.
2. Observe the result and verify the full behavior: Log is read-only to the Student.
**Expected Result:** Log is read-only to the Student — delivered exactly as documented.
**Priority:** High

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

### TC-ST-08-01-025 — Audit logging of the activity log
**Type:** Positive
**Covers:** 1.3 → Audit logging of the activity log
**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 activity log.
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
