# 1. Offline Content Download — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: offline_content_download.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 Download Videos for Offline Viewing | Download a video for offline viewing | TC-ST-12-01-001 |
| 1.1 Download Videos for Offline Viewing | Download a whole lesson or course | TC-ST-12-01-002 |
| 1.1 Download Videos for Offline Viewing | Choose the download quality | TC-ST-12-01-003 |
| 1.1 Download Videos for Offline Viewing | Download progress indicator | TC-ST-12-01-004 |
| 1.1 Download Videos for Offline Viewing | Watch a downloaded video offline | TC-ST-12-01-005 |
| 1.1 Download Videos for Offline Viewing | Watch progress tracked on downloaded videos | TC-ST-12-01-006 |
| 1.1 Download Videos for Offline Viewing | Download gated by subscription | TC-ST-12-01-007 |
| 1.1 Download Videos for Offline Viewing | Download event logging (started, completed) | TC-ST-12-01-008 |
| 1.1 Download Videos for Offline Viewing | Audit logging of the download videos for offline viewing | TC-ST-12-01-009 |
| 1.1 Download Videos for Offline Viewing | Rule: A download requires an active subscription. | TC-ST-12-01-001 |
| 1.1 Download Videos for Offline Viewing | Rule: The download quality is chosen by the Student. | TC-ST-12-01-002 |
| 1.1 Download Videos for Offline Viewing | Rule: A downloaded video can be watched without a connection. | TC-ST-12-01-003 |
| 1.1 Download Videos for Offline Viewing | Rule: Watch progress is tracked on downloaded videos. | TC-ST-12-01-004 |
| 1.1 Download Videos for Offline Viewing | Rule: Download events (started, completed) are logged with the video and the timestamp. | TC-ST-12-01-005 |
| 1.1 Download Videos for Offline Viewing | Rule: The download videos for offline viewing is audit-logged with the account, the video, and the timestamp. | TC-ST-12-01-006 |
| 1.2 Offline Access to Notes and Resources | Download notes for offline access | TC-ST-12-01-010 |
| 1.2 Offline Access to Notes and Resources | Download resources (PDFs, worksheets, formula sheets) | TC-ST-12-01-011 |
| 1.2 Offline Access to Notes and Resources | Download progress indicator | TC-ST-12-01-012 |
| 1.2 Offline Access to Notes and Resources | Offline library of downloaded items | TC-ST-12-01-013 |
| 1.2 Offline Access to Notes and Resources | Open a downloaded item offline | TC-ST-12-01-014 |
| 1.2 Offline Access to Notes and Resources | Delete a downloaded item | TC-ST-12-01-015 |
| 1.2 Offline Access to Notes and Resources | Download gated by subscription | TC-ST-12-01-016 |
| 1.2 Offline Access to Notes and Resources | Download event logging (started, completed, deleted) | TC-ST-12-01-017 |
| 1.2 Offline Access to Notes and Resources | Audit logging of the offline access to notes and resources | TC-ST-12-01-018 |
| 1.2 Offline Access to Notes and Resources | Rule: A download requires an active subscription. | TC-ST-12-01-010 |
| 1.2 Offline Access to Notes and Resources | Rule: Downloaded items appear in the offline library. | TC-ST-12-01-011 |
| 1.2 Offline Access to Notes and Resources | Rule: A downloaded item can be opened without a connection. | TC-ST-12-01-012 |
| 1.2 Offline Access to Notes and Resources | Rule: Deleting an item removes it from the device. | TC-ST-12-01-013 |
| 1.2 Offline Access to Notes and Resources | Rule: Download events (started, completed, deleted) are logged with the item and the timestamp. | TC-ST-12-01-014 |
| 1.2 Offline Access to Notes and Resources | Rule: The offline access to notes and resources is audit-logged with the account, the item, and the timestamp. | TC-ST-12-01-015 |
| 1.3 Downloadable Practice Worksheets | Browse practice worksheets by subject and topic | TC-ST-12-01-019 |
| 1.3 Downloadable Practice Worksheets | Download a worksheet for offline practice | TC-ST-12-01-020 |
| 1.3 Downloadable Practice Worksheets | Complete a worksheet offline | TC-ST-12-01-021 |
| 1.3 Downloadable Practice Worksheets | Sync and check answers when back online (where supported) | TC-ST-12-01-022 |
| 1.3 Downloadable Practice Worksheets | Worksheet list (downloaded) | TC-ST-12-01-023 |
| 1.3 Downloadable Practice Worksheets | Delete a downloaded worksheet | TC-ST-12-01-024 |
| 1.3 Downloadable Practice Worksheets | Download gated by subscription | TC-ST-12-01-025 |
| 1.3 Downloadable Practice Worksheets | Download event logging (started, completed, synced) | TC-ST-12-01-026 |
| 1.3 Downloadable Practice Worksheets | Audit logging of the downloadable practice worksheets | TC-ST-12-01-027 |
| 1.3 Downloadable Practice Worksheets | Rule: A download requires an active subscription. | TC-ST-12-01-019 |
| 1.3 Downloadable Practice Worksheets | Rule: A worksheet can be completed offline. | TC-ST-12-01-020 |
| 1.3 Downloadable Practice Worksheets | Rule: Answers sync and are checked when back online where supported. | TC-ST-12-01-021 |
| 1.3 Downloadable Practice Worksheets | Rule: Deleting a worksheet removes it from the device. | TC-ST-12-01-022 |
| 1.3 Downloadable Practice Worksheets | Rule: Download events (started, completed, synced) are logged with the worksheet and the timestamp. | TC-ST-12-01-023 |
| 1.3 Downloadable Practice Worksheets | Rule: The downloadable practice worksheets is audit-logged with the account, the worksheet, and the timestamp. | TC-ST-12-01-024 |

## 1.1 Download Videos for Offline Viewing

### TC-ST-12-01-001 — Download a video for offline viewing
**Type:** Positive
**Covers:** 1.1 → Download a video for offline viewing; Rule: A download requires an active subscription.
**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: Download a video for offline viewing.
2. Observe the result and verify the full behavior: Download a video for offline viewing.
**Expected Result:** Download a video for offline viewing — delivered exactly as documented.
**Priority:** Critical

### TC-ST-12-01-002 — Download a whole lesson or course
**Type:** Positive
**Covers:** 1.1 → Download a whole lesson or course; Rule: The download quality is chosen by the Student.
**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: Download a whole lesson or course.
2. Observe the result and verify the full behavior: Download a whole lesson or course.
**Expected Result:** Download a whole lesson or course — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-003 — Choose the download quality
**Type:** Positive
**Covers:** 1.1 → Choose the download quality; Rule: A downloaded video can be watched without a connection.
**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: Choose the download quality.
2. Observe the result and verify the full behavior: Choose the download quality.
**Expected Result:** Choose the download quality — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-004 — Download progress indicator
**Type:** Positive
**Covers:** 1.1 → Download progress indicator; Rule: Watch progress is tracked on downloaded videos.
**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: Download progress indicator.
2. Observe the result and verify the full behavior: Download progress indicator.
**Expected Result:** Download progress indicator — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-005 — Watch a downloaded video offline
**Type:** Positive
**Covers:** 1.1 → Watch a downloaded video offline; Rule: Download events (started, completed) are logged with the video 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: Watch a downloaded video offline.
2. Observe the result and verify the full behavior: Watch a downloaded video offline.
**Expected Result:** Watch a downloaded video offline — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-006 — Watch progress tracked on downloaded videos
**Type:** Positive
**Covers:** 1.1 → Watch progress tracked on downloaded videos; Rule: The download videos for offline viewing is audit-logged with the account, the video, 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: Watch progress tracked on downloaded videos.
2. Observe the result and verify the full behavior: Watch progress tracked on downloaded videos.
**Expected Result:** Watch progress tracked on downloaded videos — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-007 — Download gated by subscription
**Type:** Positive
**Covers:** 1.1 → Download gated by subscription
**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: Download gated by subscription.
2. Observe the result and verify the full behavior: Download gated by subscription.
**Expected Result:** Download gated by subscription — delivered exactly as documented.
**Priority:** High

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

### TC-ST-12-01-009 — Audit logging of the download videos for offline viewing
**Type:** Positive
**Covers:** 1.1 → Audit logging of the download videos for offline viewing
**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 download videos for offline viewing.
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 Offline Access to Notes and Resources

### TC-ST-12-01-010 — Download notes for offline access
**Type:** Positive
**Covers:** 1.2 → Download notes for offline access; Rule: A download requires an active subscription.
**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: Download notes for offline access.
2. Observe the result and verify the full behavior: Download notes for offline access.
**Expected Result:** Download notes for offline access — delivered exactly as documented.
**Priority:** Critical

### TC-ST-12-01-011 — Download resources (PDFs, worksheets, formula sheets)
**Type:** Positive
**Covers:** 1.2 → Download resources (PDFs, worksheets, formula sheets); Rule: Downloaded items appear in the offline library.
**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: Download resources (PDFs.
2. Observe the result and verify the full behavior: Download resources (PDFs, worksheets, formula sheets).
**Expected Result:** Download resources (PDFs, worksheets, formula sheets) — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-012 — Download progress indicator
**Type:** Positive
**Covers:** 1.2 → Download progress indicator; Rule: A downloaded item can be opened without a connection.
**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: Download progress indicator.
2. Observe the result and verify the full behavior: Download progress indicator.
**Expected Result:** Download progress indicator — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-013 — Offline library of downloaded items
**Type:** Positive
**Covers:** 1.2 → Offline library of downloaded items; Rule: Deleting an item removes it from the device.
**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: Offline library of downloaded items.
2. Observe the result and verify the full behavior: Offline library of downloaded items.
**Expected Result:** Offline library of downloaded items — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-014 — Open a downloaded item offline
**Type:** Positive
**Covers:** 1.2 → Open a downloaded item offline; Rule: Download events (started, completed, deleted) are logged with 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: Open a downloaded item offline.
2. Observe the result and verify the full behavior: Open a downloaded item offline.
**Expected Result:** Open a downloaded item offline — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-015 — Delete a downloaded item
**Type:** Positive
**Covers:** 1.2 → Delete a downloaded item; Rule: The offline access to notes and resources is audit-logged with the account, 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: Delete a downloaded item.
2. Observe the result and verify the full behavior: Delete a downloaded item.
**Expected Result:** Delete a downloaded item — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-016 — Download gated by subscription
**Type:** Positive
**Covers:** 1.2 → Download gated by subscription
**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: Download gated by subscription.
2. Observe the result and verify the full behavior: Download gated by subscription.
**Expected Result:** Download gated by subscription — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-017 — Download event logging (started, completed, deleted)
**Type:** Positive
**Covers:** 1.2 → Download event logging (started, completed, deleted)
**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: Download event logging (started.
2. Observe the result and verify the full behavior: Download event logging (started, completed, deleted).
**Expected Result:** Download event logging (started, completed, deleted) — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-018 — Audit logging of the offline access to notes and resources
**Type:** Positive
**Covers:** 1.2 → Audit logging of the offline access to notes and resources
**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 offline access to notes and resources.
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 Downloadable Practice Worksheets

### TC-ST-12-01-019 — Browse practice worksheets by subject and topic
**Type:** Positive
**Covers:** 1.3 → Browse practice worksheets by subject and topic; Rule: A download requires an active subscription.
**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: Browse practice worksheets by subject and topic.
2. Observe the result and verify the full behavior: Browse practice worksheets by subject and topic.
**Expected Result:** Browse practice worksheets by subject and topic — delivered exactly as documented.
**Priority:** Critical

### TC-ST-12-01-020 — Download a worksheet for offline practice
**Type:** Positive
**Covers:** 1.3 → Download a worksheet for offline practice; Rule: A worksheet can be completed offline.
**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: Download a worksheet for offline practice.
2. Observe the result and verify the full behavior: Download a worksheet for offline practice.
**Expected Result:** Download a worksheet for offline practice — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-021 — Complete a worksheet offline
**Type:** Positive
**Covers:** 1.3 → Complete a worksheet offline; Rule: Answers sync and are checked when back online where supported.
**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: Complete a worksheet offline.
2. Observe the result and verify the full behavior: Complete a worksheet offline.
**Expected Result:** Complete a worksheet offline — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-022 — Sync and check answers when back online (where supported)
**Type:** Positive
**Covers:** 1.3 → Sync and check answers when back online (where supported); Rule: Deleting a worksheet removes it from the device.
**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: Sync and check answers when back online (where supported).
2. Observe the result and verify the full behavior: Sync and check answers when back online (where supported).
**Expected Result:** Sync and check answers when back online (where supported) — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-023 — Worksheet list (downloaded)
**Type:** Positive
**Covers:** 1.3 → Worksheet list (downloaded); Rule: Download events (started, completed, synced) are logged with the worksheet 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: Worksheet list (downloaded).
2. Observe the result and verify the full behavior: Worksheet list (downloaded).
**Expected Result:** Worksheet list (downloaded) — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-024 — Delete a downloaded worksheet
**Type:** Positive
**Covers:** 1.3 → Delete a downloaded worksheet; Rule: The downloadable practice worksheets is audit-logged with the account, the worksheet, 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: Delete a downloaded worksheet.
2. Observe the result and verify the full behavior: Delete a downloaded worksheet.
**Expected Result:** Delete a downloaded worksheet — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-025 — Download gated by subscription
**Type:** Positive
**Covers:** 1.3 → Download gated by subscription
**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: Download gated by subscription.
2. Observe the result and verify the full behavior: Download gated by subscription.
**Expected Result:** Download gated by subscription — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-026 — Download event logging (started, completed, synced)
**Type:** Positive
**Covers:** 1.3 → Download event logging (started, completed, synced)
**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: Download event logging (started.
2. Observe the result and verify the full behavior: Download event logging (started, completed, synced).
**Expected Result:** Download event logging (started, completed, synced) — delivered exactly as documented.
**Priority:** High

### TC-ST-12-01-027 — Audit logging of the downloadable practice worksheets
**Type:** Positive
**Covers:** 1.3 → Audit logging of the downloadable practice worksheets
**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 downloadable practice worksheets.
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
