# 4. Automated Reports & Alerts — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: automated_reports_alerts.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 Automated Progress Reports | Weekly progress report (time, completion, scores) | TC-ST-08-04-001 |
| 4.1 Automated Progress Reports | Monthly progress report | TC-ST-08-04-002 |
| 4.1 Automated Progress Reports | Report generated automatically on a schedule | TC-ST-08-04-003 |
| 4.1 Automated Progress Reports | View a report | TC-ST-08-04-004 |
| 4.1 Automated Progress Reports | Download a report | TC-ST-08-04-005 |
| 4.1 Automated Progress Reports | Share a report (e.g., with a parent) | TC-ST-08-04-006 |
| 4.1 Automated Progress Reports | Report history | TC-ST-08-04-007 |
| 4.1 Automated Progress Reports | Report event logging (generated, viewed, downloaded, shared) | TC-ST-08-04-008 |
| 4.1 Automated Progress Reports | Audit logging of the automated progress reports | TC-ST-08-04-009 |
| 4.1 Automated Progress Reports | Rule: Reports are generated automatically on a schedule (weekly, monthly). | TC-ST-08-04-001 |
| 4.1 Automated Progress Reports | Rule: A report summarizes time, completion, scores, and trends for the period. | TC-ST-08-04-002 |
| 4.1 Automated Progress Reports | Rule: A report can be viewed, downloaded, and shared. | TC-ST-08-04-003 |
| 4.1 Automated Progress Reports | Rule: The report history retains past reports. | TC-ST-08-04-004 |
| 4.1 Automated Progress Reports | Rule: Report events (generated, viewed, downloaded, shared) are logged with the report and the timestamp. | TC-ST-08-04-005 |
| 4.1 Automated Progress Reports | Rule: The automated progress reports is audit-logged with the account, the report, and the timestamp. | TC-ST-08-04-006 |
| 4.2 Performance Alerts | Alert on a drop in scores | TC-ST-08-04-010 |
| 4.2 Performance Alerts | Alert on a missed study plan | TC-ST-08-04-011 |
| 4.2 Performance Alerts | Alert on a streak at risk | TC-ST-08-04-012 |
| 4.2 Performance Alerts | Alert links to the relevant area | TC-ST-08-04-013 |
| 4.2 Performance Alerts | Acknowledge an alert | TC-ST-08-04-014 |
| 4.2 Performance Alerts | Alert frequency respects notification preferences | TC-ST-08-04-015 |
| 4.2 Performance Alerts | Alert event logging (sent, acknowledged) | TC-ST-08-04-016 |
| 4.2 Performance Alerts | Audit logging of the performance alerts | TC-ST-08-04-017 |
| 4.2 Performance Alerts | Rule: An alert is sent when performance crosses a configured threshold. | TC-ST-08-04-010 |
| 4.2 Performance Alerts | Rule: An alert links to the relevant area (subject, plan, streak). | TC-ST-08-04-011 |
| 4.2 Performance Alerts | Rule: An alert can be acknowledged. | TC-ST-08-04-012 |
| 4.2 Performance Alerts | Rule: The alert frequency respects the Student's notification preferences. | TC-ST-08-04-013 |
| 4.2 Performance Alerts | Rule: Alert events (sent, acknowledged) are logged with the alert and the timestamp. | TC-ST-08-04-014 |
| 4.2 Performance Alerts | Rule: The performance alerts is audit-logged with the account, the alert, and the timestamp. | TC-ST-08-04-015 |
| 4.3 Report Sharing with Parent | Share a report with a linked parent | TC-ST-08-04-018 |
| 4.3 Report Sharing with Parent | Share a performance summary | TC-ST-08-04-019 |
| 4.3 Report Sharing with Parent | Sharing controlled by the Student (or parent, per rules) | TC-ST-08-04-020 |
| 4.3 Report Sharing with Parent | Parent sees shared reports in their dashboard | TC-ST-08-04-021 |
| 4.3 Report Sharing with Parent | Unshare a report | TC-ST-08-04-022 |
| 4.3 Report Sharing with Parent | Share status visible | TC-ST-08-04-023 |
| 4.3 Report Sharing with Parent | Share event logging (shared, unshared) | TC-ST-08-04-024 |
| 4.3 Report Sharing with Parent | Audit logging of the report sharing with parent | TC-ST-08-04-025 |
| 4.3 Report Sharing with Parent | Rule: Sharing requires a linked parent account. | TC-ST-08-04-018 |
| 4.3 Report Sharing with Parent | Rule: Sharing is controlled by the Student or the parent per the platform's rules. | TC-ST-08-04-019 |
| 4.3 Report Sharing with Parent | Rule: A shared report appears in the parent's dashboard. | TC-ST-08-04-020 |
| 4.3 Report Sharing with Parent | Rule: Unsharing removes the report from the parent's dashboard. | TC-ST-08-04-021 |
| 4.3 Report Sharing with Parent | Rule: Share events (shared, unshared) are logged with the report and the timestamp. | TC-ST-08-04-022 |
| 4.3 Report Sharing with Parent | Rule: The report sharing with parent is audit-logged with the account, the report, and the timestamp. | TC-ST-08-04-023 |

## 4.1 Automated Progress Reports

### TC-ST-08-04-001 — Weekly progress report (time, completion, scores)
**Type:** Positive
**Covers:** 4.1 → Weekly progress report (time, completion, scores); Rule: Reports are generated automatically on a schedule (weekly, monthly).
**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: Weekly progress report (time.
2. Observe the result and verify the full behavior: Weekly progress report (time, completion, scores).
**Expected Result:** Weekly progress report (time, completion, scores) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-04-002 — Monthly progress report
**Type:** Positive
**Covers:** 4.1 → Monthly progress report; Rule: A report summarizes time, completion, scores, and trends for the 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: Monthly progress report.
2. Observe the result and verify the full behavior: Monthly progress report.
**Expected Result:** Monthly progress report — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-003 — Report generated automatically on a schedule
**Type:** Positive
**Covers:** 4.1 → Report generated automatically on a schedule; Rule: A report can be viewed, downloaded, and shared.
**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: Report generated automatically on a schedule.
2. Observe the result and verify the full behavior: Report generated automatically on a schedule.
**Expected Result:** Report generated automatically on a schedule — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-004 — View a report
**Type:** Positive
**Covers:** 4.1 → View a report; Rule: The report history retains past reports.
**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: View a report.
2. Observe the result and verify the full behavior: View a report.
**Expected Result:** View a report — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-005 — Download a report
**Type:** Positive
**Covers:** 4.1 → Download a report; Rule: Report events (generated, viewed, downloaded, shared) are logged with the report 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: Download a report.
2. Observe the result and verify the full behavior: Download a report.
**Expected Result:** Download a report — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-006 — Share a report (e.g., with a parent)
**Type:** Positive
**Covers:** 4.1 → Share a report (e.g., with a parent); Rule: The automated progress reports is audit-logged with the account, the report, 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: Share a report (e.g..
2. Observe the result and verify the full behavior: Share a report (e.g., with a parent).
**Expected Result:** Share a report (e.g., with a parent) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-007 — Report history
**Type:** Positive
**Covers:** 4.1 → Report history
**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: Report history.
2. Observe the result and verify the full behavior: Report history.
**Expected Result:** Report history — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-008 — Report event logging (generated, viewed, downloaded, shared)
**Type:** Positive
**Covers:** 4.1 → Report event logging (generated, viewed, downloaded, shared)
**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: Report event logging (generated.
2. Observe the result and verify the full behavior: Report event logging (generated, viewed, downloaded, shared).
**Expected Result:** Report event logging (generated, viewed, downloaded, shared) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-009 — Audit logging of the automated progress reports
**Type:** Positive
**Covers:** 4.1 → Audit logging of the automated progress reports
**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 automated progress reports.
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 Performance Alerts

### TC-ST-08-04-010 — Alert on a drop in scores
**Type:** Positive
**Covers:** 4.2 → Alert on a drop in scores; Rule: An alert is sent when performance crosses a configured 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: Alert on a drop in scores.
2. Observe the result and verify the full behavior: Alert on a drop in scores.
**Expected Result:** Alert on a drop in scores — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-04-011 — Alert on a missed study plan
**Type:** Positive
**Covers:** 4.2 → Alert on a missed study plan; Rule: An alert links to the relevant area (subject, plan, streak).
**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: Alert on a missed study plan.
2. Observe the result and verify the full behavior: Alert on a missed study plan.
**Expected Result:** Alert on a missed study plan — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-012 — Alert on a streak at risk
**Type:** Positive
**Covers:** 4.2 → Alert on a streak at risk; Rule: An alert can be acknowledged.
**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: Alert on a streak at risk.
2. Observe the result and verify the full behavior: Alert on a streak at risk.
**Expected Result:** Alert on a streak at risk — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-013 — Alert links to the relevant area
**Type:** Positive
**Covers:** 4.2 → Alert links to the relevant area; Rule: The alert frequency respects the Student's notification preferences.
**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: Alert links to the relevant area.
2. Observe the result and verify the full behavior: Alert links to the relevant area.
**Expected Result:** Alert links to the relevant area — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-014 — Acknowledge an alert
**Type:** Positive
**Covers:** 4.2 → Acknowledge an alert; Rule: Alert events (sent, acknowledged) are logged with the alert 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: Acknowledge an alert.
2. Observe the result and verify the full behavior: Acknowledge an alert.
**Expected Result:** Acknowledge an alert — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-015 — Alert frequency respects notification preferences
**Type:** Positive
**Covers:** 4.2 → Alert frequency respects notification preferences; Rule: The performance alerts is audit-logged with the account, the alert, 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: Alert frequency respects notification preferences.
2. Observe the result and verify the full behavior: Alert frequency respects notification preferences.
**Expected Result:** Alert frequency respects notification preferences — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-016 — Alert event logging (sent, acknowledged)
**Type:** Positive
**Covers:** 4.2 → Alert event logging (sent, acknowledged)
**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: Alert event logging (sent.
2. Observe the result and verify the full behavior: Alert event logging (sent, acknowledged).
**Expected Result:** Alert event logging (sent, acknowledged) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-017 — Audit logging of the performance alerts
**Type:** Positive
**Covers:** 4.2 → Audit logging of the performance alerts
**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 performance alerts.
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 Report Sharing with Parent

### TC-ST-08-04-018 — Share a report with a linked parent
**Type:** Positive
**Covers:** 4.3 → Share a report with a linked parent; Rule: Sharing requires a linked parent account.
**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: Share a report with a linked parent.
2. Observe the result and verify the full behavior: Share a report with a linked parent.
**Expected Result:** Share a report with a linked parent — delivered exactly as documented.
**Priority:** Critical

### TC-ST-08-04-019 — Share a performance summary
**Type:** Positive
**Covers:** 4.3 → Share a performance summary; Rule: Sharing is controlled by the Student or the parent per the platform's rules.
**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: Share a performance summary.
2. Observe the result and verify the full behavior: Share a performance summary.
**Expected Result:** Share a performance summary — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-020 — Sharing controlled by the Student (or parent, per rules)
**Type:** Positive
**Covers:** 4.3 → Sharing controlled by the Student (or parent, per rules); Rule: A shared report appears in the parent's 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: Sharing controlled by the Student (or parent.
2. Observe the result and verify the full behavior: Sharing controlled by the Student (or parent, per rules).
**Expected Result:** Sharing controlled by the Student (or parent, per rules) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-021 — Parent sees shared reports in their dashboard
**Type:** Positive
**Covers:** 4.3 → Parent sees shared reports in their dashboard; Rule: Unsharing removes the report from the parent's 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: Parent sees shared reports in their dashboard.
2. Observe the result and verify the full behavior: Parent sees shared reports in their dashboard.
**Expected Result:** Parent sees shared reports in their dashboard — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-022 — Unshare a report
**Type:** Positive
**Covers:** 4.3 → Unshare a report; Rule: Share events (shared, unshared) are logged with the report 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: Unshare a report.
2. Observe the result and verify the full behavior: Unshare a report.
**Expected Result:** Unshare a report — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-023 — Share status visible
**Type:** Positive
**Covers:** 4.3 → Share status visible; Rule: The report sharing with parent is audit-logged with the account, the report, 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: Share status visible.
2. Observe the result and verify the full behavior: Share status visible.
**Expected Result:** Share status visible — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-024 — Share event logging (shared, unshared)
**Type:** Positive
**Covers:** 4.3 → Share event logging (shared, unshared)
**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: Share event logging (shared.
2. Observe the result and verify the full behavior: Share event logging (shared, unshared).
**Expected Result:** Share event logging (shared, unshared) — delivered exactly as documented.
**Priority:** High

### TC-ST-08-04-025 — Audit logging of the report sharing with parent
**Type:** Positive
**Covers:** 4.3 → Audit logging of the report sharing with parent
**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 report sharing with parent.
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
