# 2. Study Reminders & Alerts — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: study_reminders_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 |
|---------|--------------------|----------|
| 2.1 Study Reminders | Daily study goal reminders | TC-ST-15-02-001 |
| 2.1 Study Reminders | Study plan reminders | TC-ST-15-02-002 |
| 2.1 Study Reminders | Streak preservation alerts | TC-ST-15-02-003 |
| 2.1 Study Reminders | Configure reminder times | TC-ST-15-02-004 |
| 2.1 Study Reminders | Reminder channels (in-app, push, email) | TC-ST-15-02-005 |
| 2.1 Study Reminders | Pause reminders for a period | TC-ST-15-02-006 |
| 2.1 Study Reminders | Reminder event logging (sent, opened) | TC-ST-15-02-007 |
| 2.1 Study Reminders | Audit logging of the study reminders | TC-ST-15-02-008 |
| 2.1 Study Reminders | Rule: Reminders are sent at the times configured by the Student. | TC-ST-15-02-001 |
| 2.1 Study Reminders | Rule: A streak preservation alert is sent when the streak is at risk. | TC-ST-15-02-002 |
| 2.1 Study Reminders | Rule: Reminders can be paused for a period. | TC-ST-15-02-003 |
| 2.1 Study Reminders | Rule: Reminder events (sent, opened) are logged with the account and the timestamp. | TC-ST-15-02-004 |
| 2.1 Study Reminders | Rule: The study reminders is audit-logged with the account and the timestamp. | TC-ST-15-02-005 |
| 2.2 Exam and Deadline Alerts | Upcoming exam alerts | TC-ST-15-02-009 |
| 2.2 Exam and Deadline Alerts | Mock exam reminders | TC-ST-15-02-010 |
| 2.2 Exam and Deadline Alerts | Assignment due date alerts | TC-ST-15-02-011 |
| 2.2 Exam and Deadline Alerts | Configurable lead time for alerts | TC-ST-15-02-012 |
| 2.2 Exam and Deadline Alerts | Alert links to the relevant exam/task | TC-ST-15-02-013 |
| 2.2 Exam and Deadline Alerts | Alert channels (in-app, push, email) | TC-ST-15-02-014 |
| 2.2 Exam and Deadline Alerts | Alert event logging (sent, opened) | TC-ST-15-02-015 |
| 2.2 Exam and Deadline Alerts | Audit logging of the exam and deadline alerts | TC-ST-15-02-016 |
| 2.2 Exam and Deadline Alerts | Rule: Alerts are sent before the event with the configured lead time. | TC-ST-15-02-009 |
| 2.2 Exam and Deadline Alerts | Rule: An alert links to the relevant exam or task. | TC-ST-15-02-010 |
| 2.2 Exam and Deadline Alerts | Rule: The lead time is configurable. | TC-ST-15-02-011 |
| 2.2 Exam and Deadline Alerts | Rule: Alert events (sent, opened) are logged with the account and the timestamp. | TC-ST-15-02-012 |
| 2.2 Exam and Deadline Alerts | Rule: The exam and deadline alerts is audit-logged with the account and the timestamp. | TC-ST-15-02-013 |
| 2.3 Performance and Progress Alerts | Performance drop alerts | TC-ST-15-02-017 |
| 2.3 Performance and Progress Alerts | Milestone reached alerts | TC-ST-15-02-018 |
| 2.3 Performance and Progress Alerts | Target exam score update alerts | TC-ST-15-02-019 |
| 2.3 Performance and Progress Alerts | Study goal completed alerts | TC-ST-15-02-020 |
| 2.3 Performance and Progress Alerts | Alert links to the relevant analytics | TC-ST-15-02-021 |
| 2.3 Performance and Progress Alerts | Alert channels (in-app, push, email) | TC-ST-15-02-022 |
| 2.3 Performance and Progress Alerts | Alert event logging (sent, opened) | TC-ST-15-02-023 |
| 2.3 Performance and Progress Alerts | Audit logging of the performance and progress alerts | TC-ST-15-02-024 |
| 2.3 Performance and Progress Alerts | Rule: Alerts are sent on significant performance/progress events. | TC-ST-15-02-017 |
| 2.3 Performance and Progress Alerts | Rule: An alert links to the relevant analytics. | TC-ST-15-02-018 |
| 2.3 Performance and Progress Alerts | Rule: The alert channels are in-app, push, and email. | TC-ST-15-02-019 |
| 2.3 Performance and Progress Alerts | Rule: Alert events (sent, opened) are logged with the account and the timestamp. | TC-ST-15-02-020 |
| 2.3 Performance and Progress Alerts | Rule: The performance and progress alerts is audit-logged with the account and the timestamp. | TC-ST-15-02-021 |

## 2.1 Study Reminders

### TC-ST-15-02-001 — Daily study goal reminders
**Type:** Positive
**Covers:** 2.1 → Daily study goal reminders; Rule: Reminders are sent at the times configured 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: Daily study goal reminders.
2. Observe the result and verify the full behavior: Daily study goal reminders.
**Expected Result:** Daily study goal reminders — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-02-002 — Study plan reminders
**Type:** Positive
**Covers:** 2.1 → Study plan reminders; Rule: A streak preservation alert is sent when the streak is at risk.
**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 plan reminders.
2. Observe the result and verify the full behavior: Study plan reminders.
**Expected Result:** Study plan reminders — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-003 — Streak preservation alerts
**Type:** Positive
**Covers:** 2.1 → Streak preservation alerts; Rule: Reminders can be paused for a 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: Streak preservation alerts.
2. Observe the result and verify the full behavior: Streak preservation alerts.
**Expected Result:** Streak preservation alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-004 — Configure reminder times
**Type:** Positive
**Covers:** 2.1 → Configure reminder times; Rule: Reminder events (sent, opened) are 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: Configure reminder times.
2. Observe the result and verify the full behavior: Configure reminder times.
**Expected Result:** Configure reminder times — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-005 — Reminder channels (in-app, push, email)
**Type:** Positive
**Covers:** 2.1 → Reminder channels (in-app, push, email); Rule: The study reminders 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: Reminder channels (in-app.
2. Observe the result and verify the full behavior: Reminder channels (in-app, push, email).
**Expected Result:** Reminder channels (in-app, push, email) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-006 — Pause reminders for a period
**Type:** Positive
**Covers:** 2.1 → Pause reminders for a 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: Pause reminders for a period.
2. Observe the result and verify the full behavior: Pause reminders for a period.
**Expected Result:** Pause reminders for a period — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-007 — Reminder event logging (sent, opened)
**Type:** Positive
**Covers:** 2.1 → Reminder event logging (sent, opened)
**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: Reminder event logging (sent.
2. Observe the result and verify the full behavior: Reminder event logging (sent, opened).
**Expected Result:** Reminder event logging (sent, opened) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-008 — Audit logging of the study reminders
**Type:** Positive
**Covers:** 2.1 → Audit logging of the study reminders
**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 study reminders.
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

## 2.2 Exam and Deadline Alerts

### TC-ST-15-02-009 — Upcoming exam alerts
**Type:** Positive
**Covers:** 2.2 → Upcoming exam alerts; Rule: Alerts are sent before the event with the configured lead 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: Upcoming exam alerts.
2. Observe the result and verify the full behavior: Upcoming exam alerts.
**Expected Result:** Upcoming exam alerts — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-02-010 — Mock exam reminders
**Type:** Positive
**Covers:** 2.2 → Mock exam reminders; Rule: An alert links to the relevant exam or task.
**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: Mock exam reminders.
2. Observe the result and verify the full behavior: Mock exam reminders.
**Expected Result:** Mock exam reminders — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-011 — Assignment due date alerts
**Type:** Positive
**Covers:** 2.2 → Assignment due date alerts; Rule: The lead time is configurable.
**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: Assignment due date alerts.
2. Observe the result and verify the full behavior: Assignment due date alerts.
**Expected Result:** Assignment due date alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-012 — Configurable lead time for alerts
**Type:** Positive
**Covers:** 2.2 → Configurable lead time for alerts; Rule: Alert events (sent, opened) are 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: Configurable lead time for alerts.
2. Observe the result and verify the full behavior: Configurable lead time for alerts.
**Expected Result:** Configurable lead time for alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-013 — Alert links to the relevant exam/task
**Type:** Positive
**Covers:** 2.2 → Alert links to the relevant exam/task; Rule: The exam and deadline alerts 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: Alert links to the relevant exam/task.
2. Observe the result and verify the full behavior: Alert links to the relevant exam/task.
**Expected Result:** Alert links to the relevant exam/task — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-014 — Alert channels (in-app, push, email)
**Type:** Positive
**Covers:** 2.2 → Alert channels (in-app, push, email)
**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 channels (in-app.
2. Observe the result and verify the full behavior: Alert channels (in-app, push, email).
**Expected Result:** Alert channels (in-app, push, email) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-015 — Alert event logging (sent, opened)
**Type:** Positive
**Covers:** 2.2 → Alert event logging (sent, opened)
**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, opened).
**Expected Result:** Alert event logging (sent, opened) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-016 — Audit logging of the exam and deadline alerts
**Type:** Positive
**Covers:** 2.2 → Audit logging of the exam and deadline 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 exam and deadline 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

## 2.3 Performance and Progress Alerts

### TC-ST-15-02-017 — Performance drop alerts
**Type:** Positive
**Covers:** 2.3 → Performance drop alerts; Rule: Alerts are sent on significant performance/progress events.
**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: Performance drop alerts.
2. Observe the result and verify the full behavior: Performance drop alerts.
**Expected Result:** Performance drop alerts — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-02-018 — Milestone reached alerts
**Type:** Positive
**Covers:** 2.3 → Milestone reached alerts; Rule: An alert links to the relevant analytics.
**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: Milestone reached alerts.
2. Observe the result and verify the full behavior: Milestone reached alerts.
**Expected Result:** Milestone reached alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-019 — Target exam score update alerts
**Type:** Positive
**Covers:** 2.3 → Target exam score update alerts; Rule: The alert channels are in-app, push, and email.
**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: Target exam score update alerts.
2. Observe the result and verify the full behavior: Target exam score update alerts.
**Expected Result:** Target exam score update alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-020 — Study goal completed alerts
**Type:** Positive
**Covers:** 2.3 → Study goal completed alerts; Rule: Alert events (sent, opened) are 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: Study goal completed alerts.
2. Observe the result and verify the full behavior: Study goal completed alerts.
**Expected Result:** Study goal completed alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-021 — Alert links to the relevant analytics
**Type:** Positive
**Covers:** 2.3 → Alert links to the relevant analytics; Rule: The performance and progress alerts 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: Alert links to the relevant analytics.
2. Observe the result and verify the full behavior: Alert links to the relevant analytics.
**Expected Result:** Alert links to the relevant analytics — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-022 — Alert channels (in-app, push, email)
**Type:** Positive
**Covers:** 2.3 → Alert channels (in-app, push, email)
**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 channels (in-app.
2. Observe the result and verify the full behavior: Alert channels (in-app, push, email).
**Expected Result:** Alert channels (in-app, push, email) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-023 — Alert event logging (sent, opened)
**Type:** Positive
**Covers:** 2.3 → Alert event logging (sent, opened)
**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, opened).
**Expected Result:** Alert event logging (sent, opened) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-02-024 — Audit logging of the performance and progress alerts
**Type:** Positive
**Covers:** 2.3 → Audit logging of the performance and progress 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 and progress 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
