# 4. Smart Study Planner & Spaced Repetition — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: smart_study_planner_srs.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 Smart Study Planner | AI-generated personalized study plan | TC-ST-05-04-001 |
| 4.1 Smart Study Planner | Plan based on goals, exam dates, available time, and performance | TC-ST-05-04-002 |
| 4.1 Smart Study Planner | View the plan by day and by week | TC-ST-05-04-003 |
| 4.1 Smart Study Planner | Mark a planned task complete | TC-ST-05-04-004 |
| 4.1 Smart Study Planner | Plan adapts as tasks are completed and performance changes | TC-ST-05-04-005 |
| 4.1 Smart Study Planner | Adjust daily/weekly available study time | TC-ST-05-04-006 |
| 4.1 Smart Study Planner | Reschedule a task to another day | TC-ST-05-04-007 |
| 4.1 Smart Study Planner | Plan progress (tasks completed vs planned) | TC-ST-05-04-008 |
| 4.1 Smart Study Planner | Plan event logging (generated, task completed, rescheduled) | TC-ST-05-04-009 |
| 4.1 Smart Study Planner | Audit logging of the smart study planner | TC-ST-05-04-010 |
| 4.1 Smart Study Planner | Rule: The plan is generated from the Student's goals, exam dates, available time, and performance. | TC-ST-05-04-001 |
| 4.1 Smart Study Planner | Rule: The plan adapts as tasks are completed and as performance changes. | TC-ST-05-04-002 |
| 4.1 Smart Study Planner | Rule: A task can be rescheduled; the plan re-balances around it. | TC-ST-05-04-003 |
| 4.1 Smart Study Planner | Rule: Adjusting available time re-balances the plan. | TC-ST-05-04-004 |
| 4.1 Smart Study Planner | Rule: Plan progress is computed as tasks completed vs planned. | TC-ST-05-04-005 |
| 4.1 Smart Study Planner | Rule: Plan events (generated, task completed, rescheduled) are logged with the plan and the timestamp. | TC-ST-05-04-006 |
| 4.1 Smart Study Planner | Rule: The smart study planner is audit-logged with the account, the plan, and the timestamp. | TC-ST-05-04-007 |
| 4.2 Spaced Repetition System (SRS) | SRS schedules reviews at increasing intervals based on recall success | TC-ST-05-04-011 |
| 4.2 Spaced Repetition System (SRS) | "Due for review" queue of items | TC-ST-05-04-012 |
| 4.2 Spaced Repetition System (SRS) | Review an item and rate recall (Again, Good, Easy) | TC-ST-05-04-013 |
| 4.2 Spaced Repetition System (SRS) | Interval increases on success, resets on failure | TC-ST-05-04-014 |
| 4.2 Spaced Repetition System (SRS) | SRS integrates with flashcards and key concepts | TC-ST-05-04-015 |
| 4.2 Spaced Repetition System (SRS) | Daily review count and retention estimate | TC-ST-05-04-016 |
| 4.2 Spaced Repetition System (SRS) | SRS progress (items mastered, items due) | TC-ST-05-04-017 |
| 4.2 Spaced Repetition System (SRS) | SRS event logging (reviewed, interval updated) | TC-ST-05-04-018 |
| 4.2 Spaced Repetition System (SRS) | Audit logging of the spaced repetition system | TC-ST-05-04-019 |
| 4.2 Spaced Repetition System (SRS) | Rule: Review intervals increase on successful recall and reset on failure. | TC-ST-05-04-011 |
| 4.2 Spaced Repetition System (SRS) | Rule: The due-for-review queue is ordered by the SRS schedule. | TC-ST-05-04-012 |
| 4.2 Spaced Repetition System (SRS) | Rule: The SRS integrates with flashcards and key concepts. | TC-ST-05-04-013 |
| 4.2 Spaced Repetition System (SRS) | Rule: The retention estimate reflects the Student's recall history. | TC-ST-05-04-014 |
| 4.2 Spaced Repetition System (SRS) | Rule: SRS events (reviewed, interval updated) are logged with the item and the timestamp. | TC-ST-05-04-015 |
| 4.2 Spaced Repetition System (SRS) | Rule: The spaced repetition system is audit-logged with the account, the item, and the timestamp. | TC-ST-05-04-016 |
| 4.3 Study Reminders and Streaks | Study reminders for planned sessions and due reviews | TC-ST-05-04-020 |
| 4.3 Study Reminders and Streaks | Reminder timing based on the study plan | TC-ST-05-04-021 |
| 4.3 Study Reminders and Streaks | Study streak (consecutive days of studying) | TC-ST-05-04-022 |
| 4.3 Study Reminders and Streaks | Streak counter with milestone celebrations | TC-ST-05-04-023 |
| 4.3 Study Reminders and Streaks | Streak protection (a missed day does not always break the streak) | TC-ST-05-04-024 |
| 4.3 Study Reminders and Streaks | Consistency metric (days studied in a period) | TC-ST-05-04-025 |
| 4.3 Study Reminders and Streaks | Reminders respect the Student's notification preferences | TC-ST-05-04-026 |
| 4.3 Study Reminders and Streaks | Reminder and streak event logging (reminded, streak updated) | TC-ST-05-04-027 |
| 4.3 Study Reminders and Streaks | Audit logging of the study reminders and streaks | TC-ST-05-04-028 |
| 4.3 Study Reminders and Streaks | Rule: Reminders are scheduled from the study plan and the SRS due queue. | TC-ST-05-04-020 |
| 4.3 Study Reminders and Streaks | Rule: A streak counts consecutive days with at least one study action. | TC-ST-05-04-021 |
| 4.3 Study Reminders and Streaks | Rule: Streak protection can preserve a streak for a missed day per the platform's rules. | TC-ST-05-04-022 |
| 4.3 Study Reminders and Streaks | Rule: The consistency metric is computed over a rolling period. | TC-ST-05-04-023 |
| 4.3 Study Reminders and Streaks | Rule: Reminders respect the Student's notification preferences. | TC-ST-05-04-024 |
| 4.3 Study Reminders and Streaks | Rule: Reminder and streak events (reminded, streak updated) are logged with the timestamp. | TC-ST-05-04-025 |
| 4.3 Study Reminders and Streaks | Rule: The study reminders and streaks is audit-logged with the account and the timestamp. | TC-ST-05-04-026 |

## 4.1 Smart Study Planner

### TC-ST-05-04-001 — AI-generated personalized study plan
**Type:** Positive
**Covers:** 4.1 → AI-generated personalized study plan; Rule: The plan is generated from the Student's goals, exam dates, available time, and 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: AI-generated personalized study plan.
2. Observe the result and verify the full behavior: AI-generated personalized study plan.
**Expected Result:** AI-generated personalized study plan — delivered exactly as documented.
**Priority:** Critical

### TC-ST-05-04-002 — Plan based on goals, exam dates, available time, and performance
**Type:** Positive
**Covers:** 4.1 → Plan based on goals, exam dates, available time, and performance; Rule: The plan adapts as tasks are completed and as performance changes.
**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: Plan based on goals.
2. Observe the result and verify the full behavior: Plan based on goals, exam dates, available time, and performance.
**Expected Result:** Plan based on goals, exam dates, available time, and performance — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-003 — View the plan by day and by week
**Type:** Positive
**Covers:** 4.1 → View the plan by day and by week; Rule: A task can be rescheduled; the plan re-balances around it.
**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 the plan by day and by week.
2. Observe the result and verify the full behavior: View the plan by day and by week.
**Expected Result:** View the plan by day and by week — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-004 — Mark a planned task complete
**Type:** Positive
**Covers:** 4.1 → Mark a planned task complete; Rule: Adjusting available time re-balances the plan.
**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: Mark a planned task complete.
2. Observe the result and verify the full behavior: Mark a planned task complete.
**Expected Result:** Mark a planned task complete — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-005 — Plan adapts as tasks are completed and performance changes
**Type:** Positive
**Covers:** 4.1 → Plan adapts as tasks are completed and performance changes; Rule: Plan progress is computed as tasks completed vs planned.
**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: Plan adapts as tasks are completed and performance changes.
2. Observe the result and verify the full behavior: Plan adapts as tasks are completed and performance changes.
**Expected Result:** Plan adapts as tasks are completed and performance changes — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-006 — Adjust daily/weekly available study time
**Type:** Positive
**Covers:** 4.1 → Adjust daily/weekly available study time; Rule: Plan events (generated, task completed, rescheduled) are logged with the plan 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: Adjust daily/weekly available study time.
2. Observe the result and verify the full behavior: Adjust daily/weekly available study time.
**Expected Result:** Adjust daily/weekly available study time — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-007 — Reschedule a task to another day
**Type:** Positive
**Covers:** 4.1 → Reschedule a task to another day; Rule: The smart study planner is audit-logged with the account, the plan, 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: Reschedule a task to another day.
2. Observe the result and verify the full behavior: Reschedule a task to another day.
**Expected Result:** Reschedule a task to another day — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-008 — Plan progress (tasks completed vs planned)
**Type:** Positive
**Covers:** 4.1 → Plan progress (tasks completed vs planned)
**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: Plan progress (tasks completed vs planned).
2. Observe the result and verify the full behavior: Plan progress (tasks completed vs planned).
**Expected Result:** Plan progress (tasks completed vs planned) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-009 — Plan event logging (generated, task completed, rescheduled)
**Type:** Positive
**Covers:** 4.1 → Plan event logging (generated, task completed, rescheduled)
**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: Plan event logging (generated.
2. Observe the result and verify the full behavior: Plan event logging (generated, task completed, rescheduled).
**Expected Result:** Plan event logging (generated, task completed, rescheduled) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-010 — Audit logging of the smart study planner
**Type:** Positive
**Covers:** 4.1 → Audit logging of the smart study planner
**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 smart study planner.
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 Spaced Repetition System (SRS)

### TC-ST-05-04-011 — SRS schedules reviews at increasing intervals based on recall success
**Type:** Positive
**Covers:** 4.2 → SRS schedules reviews at increasing intervals based on recall success; Rule: Review intervals increase on successful recall and reset on failure.
**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: SRS schedules reviews at increasing intervals based on recall success.
2. Observe the result and verify the full behavior: SRS schedules reviews at increasing intervals based on recall success.
**Expected Result:** SRS schedules reviews at increasing intervals based on recall success — delivered exactly as documented.
**Priority:** Critical

### TC-ST-05-04-012 — "Due for review" queue of items
**Type:** Positive
**Covers:** 4.2 → "Due for review" queue of items; Rule: The due-for-review queue is ordered by the SRS schedule.
**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: "Due for review" queue of items.
2. Observe the result and verify the full behavior: "Due for review" queue of items.
**Expected Result:** "Due for review" queue of items — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-013 — Review an item and rate recall (Again, Good, Easy)
**Type:** Positive
**Covers:** 4.2 → Review an item and rate recall (Again, Good, Easy); Rule: The SRS integrates with flashcards and key concepts.
**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: Review an item and rate recall (Again.
2. Observe the result and verify the full behavior: Review an item and rate recall (Again, Good, Easy).
**Expected Result:** Review an item and rate recall (Again, Good, Easy) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-014 — Interval increases on success, resets on failure
**Type:** Positive
**Covers:** 4.2 → Interval increases on success, resets on failure; Rule: The retention estimate reflects the Student's recall 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: Interval increases on success.
2. Observe the result and verify the full behavior: Interval increases on success, resets on failure.
**Expected Result:** Interval increases on success, resets on failure — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-015 — SRS integrates with flashcards and key concepts
**Type:** Positive
**Covers:** 4.2 → SRS integrates with flashcards and key concepts; Rule: SRS events (reviewed, interval updated) 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: SRS integrates with flashcards and key concepts.
2. Observe the result and verify the full behavior: SRS integrates with flashcards and key concepts.
**Expected Result:** SRS integrates with flashcards and key concepts — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-016 — Daily review count and retention estimate
**Type:** Positive
**Covers:** 4.2 → Daily review count and retention estimate; Rule: The spaced repetition system 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: Daily review count and retention estimate.
2. Observe the result and verify the full behavior: Daily review count and retention estimate.
**Expected Result:** Daily review count and retention estimate — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-017 — SRS progress (items mastered, items due)
**Type:** Positive
**Covers:** 4.2 → SRS progress (items mastered, items due)
**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: SRS progress (items mastered.
2. Observe the result and verify the full behavior: SRS progress (items mastered, items due).
**Expected Result:** SRS progress (items mastered, items due) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-018 — SRS event logging (reviewed, interval updated)
**Type:** Positive
**Covers:** 4.2 → SRS event logging (reviewed, interval 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: SRS event logging (reviewed.
2. Observe the result and verify the full behavior: SRS event logging (reviewed, interval updated).
**Expected Result:** SRS event logging (reviewed, interval updated) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-019 — Audit logging of the spaced repetition system
**Type:** Positive
**Covers:** 4.2 → Audit logging of the spaced repetition system
**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 spaced repetition system.
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 Study Reminders and Streaks

### TC-ST-05-04-020 — Study reminders for planned sessions and due reviews
**Type:** Positive
**Covers:** 4.3 → Study reminders for planned sessions and due reviews; Rule: Reminders are scheduled from the study plan and the SRS due queue.
**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 reminders for planned sessions and due reviews.
2. Observe the result and verify the full behavior: Study reminders for planned sessions and due reviews.
**Expected Result:** Study reminders for planned sessions and due reviews — delivered exactly as documented.
**Priority:** Critical

### TC-ST-05-04-021 — Reminder timing based on the study plan
**Type:** Positive
**Covers:** 4.3 → Reminder timing based on the study plan; Rule: A streak counts consecutive days with at least one study action.
**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 timing based on the study plan.
2. Observe the result and verify the full behavior: Reminder timing based on the study plan.
**Expected Result:** Reminder timing based on the study plan — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-022 — Study streak (consecutive days of studying)
**Type:** Positive
**Covers:** 4.3 → Study streak (consecutive days of studying); Rule: Streak protection can preserve a streak for a missed day 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: Study streak (consecutive days of studying).
2. Observe the result and verify the full behavior: Study streak (consecutive days of studying).
**Expected Result:** Study streak (consecutive days of studying) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-023 — Streak counter with milestone celebrations
**Type:** Positive
**Covers:** 4.3 → Streak counter with milestone celebrations; Rule: The consistency metric is computed over a rolling 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 counter with milestone celebrations.
2. Observe the result and verify the full behavior: Streak counter with milestone celebrations.
**Expected Result:** Streak counter with milestone celebrations — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-024 — Streak protection (a missed day does not always break the streak)
**Type:** Positive
**Covers:** 4.3 → Streak protection (a missed day does not always break the streak); Rule: Reminders respect 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: Streak protection (a missed day does not always break the streak).
2. Observe the result and verify the full behavior: Streak protection (a missed day does not always break the streak).
**Expected Result:** Streak protection (a missed day does not always break the streak) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-025 — Consistency metric (days studied in a period)
**Type:** Positive
**Covers:** 4.3 → Consistency metric (days studied in a period); Rule: Reminder and streak events (reminded, streak updated) 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: Consistency metric (days studied in a period).
2. Observe the result and verify the full behavior: Consistency metric (days studied in a period).
**Expected Result:** Consistency metric (days studied in a period) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-026 — Reminders respect the Student's notification preferences
**Type:** Positive
**Covers:** 4.3 → Reminders respect the Student's notification preferences; Rule: The study reminders and streaks 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: Reminders respect the Student's notification preferences.
2. Observe the result and verify the full behavior: Reminders respect the Student's notification preferences.
**Expected Result:** Reminders respect the Student's notification preferences — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-027 — Reminder and streak event logging (reminded, streak updated)
**Type:** Positive
**Covers:** 4.3 → Reminder and streak event logging (reminded, streak 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: Reminder and streak event logging (reminded.
2. Observe the result and verify the full behavior: Reminder and streak event logging (reminded, streak updated).
**Expected Result:** Reminder and streak event logging (reminded, streak updated) — delivered exactly as documented.
**Priority:** High

### TC-ST-05-04-028 — Audit logging of the study reminders and streaks
**Type:** Positive
**Covers:** 4.3 → Audit logging of the study reminders and streaks
**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 and streaks.
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
