# 3. Academic Goals & Milestones — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: academic_goals_milestones.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 |
|---------|--------------------|----------|
| 3.1 Academic Goals | Add an academic goal with a title, target, and optional deadline | TC-ST-02-03-001 |
| 3.1 Academic Goals | Select goal type: improve grades, prepare for exam, master a subject, achieve a score | TC-ST-02-03-002 |
| 3.1 Academic Goals | Set a target value (e.g., 75% in Mathematics) and an optional deadline | TC-ST-02-03-003 |
| 3.1 Academic Goals | View all goals on the dashboard with status (active, paused, completed) | TC-ST-02-03-004 |
| 3.1 Academic Goals | Edit a goal's target, deadline, or type | TC-ST-02-03-005 |
| 3.1 Academic Goals | Pause and resume a goal | TC-ST-02-03-006 |
| 3.1 Academic Goals | Mark a goal as completed (manual or automatic when target reached) | TC-ST-02-03-007 |
| 3.1 Academic Goals | Goal progress tracking against the target | TC-ST-02-03-008 |
| 3.1 Academic Goals | Goal visibility in the profile summary | TC-ST-02-03-009 |
| 3.1 Academic Goals | Goal change event logging | TC-ST-02-03-010 |
| 3.1 Academic Goals | Audit logging of the academic goals | TC-ST-02-03-011 |
| 3.1 Academic Goals | Rule: A goal requires a title and a target; the deadline is optional. | TC-ST-02-03-001 |
| 3.1 Academic Goals | Rule: The target value is validated (e.g., a score within 0–100). | TC-ST-02-03-002 |
| 3.1 Academic Goals | Rule: A paused goal is excluded from the active plan and reminders but retains its progress. | TC-ST-02-03-003 |
| 3.1 Academic Goals | Rule: A goal is completed automatically when the target is reached, or manually by the Student. | TC-ST-02-03-004 |
| 3.1 Academic Goals | Rule: Goal events (add, edit, pause, resume, complete) are logged with the values and the timestamp. | TC-ST-02-03-005 |
| 3.1 Academic Goals | Rule: The academic goals are audit-logged with the account, the goal, and the timestamp. | TC-ST-02-03-006 |
| 3.2 Milestones | Add a milestone to a goal with a title and optional target date | TC-ST-02-03-012 |
| 3.2 Milestones | Order milestones within a goal | TC-ST-02-03-013 |
| 3.2 Milestones | Mark a milestone as complete (manual or automatic) | TC-ST-02-03-014 |
| 3.2 Milestones | View milestone progress on the goal and the dashboard | TC-ST-02-03-015 |
| 3.2 Milestones | Edit a milestone's title or target date | TC-ST-02-03-016 |
| 3.2 Milestones | Remove a milestone | TC-ST-02-03-017 |
| 3.2 Milestones | Milestone completion feeds gamification (points, badges) | TC-ST-02-03-018 |
| 3.2 Milestones | Milestone visibility in the profile summary | TC-ST-02-03-019 |
| 3.2 Milestones | Milestone change event logging | TC-ST-02-03-020 |
| 3.2 Milestones | Audit logging of the milestones | TC-ST-02-03-021 |
| 3.2 Milestones | Rule: A milestone belongs to a goal and requires a title; the target date is optional. | TC-ST-02-03-012 |
| 3.2 Milestones | Rule: Milestones are ordered within a goal; reordering is allowed. | TC-ST-02-03-013 |
| 3.2 Milestones | Rule: A milestone is completed manually or automatically when its condition is met. | TC-ST-02-03-014 |
| 3.2 Milestones | Rule: Completing a milestone awards gamification points/badges per the platform's rules. | TC-ST-02-03-015 |
| 3.2 Milestones | Rule: Removing a milestone does not affect the goal's overall target. | TC-ST-02-03-016 |
| 3.2 Milestones | Rule: Milestone events (add, complete, edit, remove) are logged with the values and the timestamp. | TC-ST-02-03-017 |
| 3.2 Milestones | Rule: The milestones are audit-logged with the account, the milestone, and the timestamp. | TC-ST-02-03-018 |
| 3.3 Target Score and Exam Date Tracking | Record a target score per subject (e.g., 75% in Mathematics) | TC-ST-02-03-022 |
| 3.3 Target Score and Exam Date Tracking | Record an important exam date with name, type, and date | TC-ST-02-03-023 |
| 3.3 Target Score and Exam Date Tracking | View target scores and exam dates on the dashboard | TC-ST-02-03-024 |
| 3.3 Target Score and Exam Date Tracking | Current projection vs target shown for each subject | TC-ST-02-03-025 |
| 3.3 Target Score and Exam Date Tracking | Exam countdown shown for upcoming exam dates | TC-ST-02-03-026 |
| 3.3 Target Score and Exam Date Tracking | Entries feed the Smart Study Planner countdown scheduling | TC-ST-02-03-027 |
| 3.3 Target Score and Exam Date Tracking | Entries feed the Target Exam Feature | TC-ST-02-03-028 |
| 3.3 Target Score and Exam Date Tracking | Edit or remove a target score or exam date | TC-ST-02-03-029 |
| 3.3 Target Score and Exam Date Tracking | Visibility in the profile summary | TC-ST-02-03-030 |
| 3.3 Target Score and Exam Date Tracking | Change event logging | TC-ST-02-03-031 |
| 3.3 Target Score and Exam Date Tracking | Audit logging of the target score and exam date tracking | TC-ST-02-03-032 |
| 3.3 Target Score and Exam Date Tracking | Rule: A target score is per subject and within 0–100. | TC-ST-02-03-022 |
| 3.3 Target Score and Exam Date Tracking | Rule: An exam date must be a valid date; past dates are flagged as "completed". | TC-ST-02-03-023 |
| 3.3 Target Score and Exam Date Tracking | Rule: The current projection is computed from the Student's recent performance, not the stated target. | TC-ST-02-03-024 |
| 3.3 Target Score and Exam Date Tracking | Rule: The exam countdown drives the Smart Study Planner's intensity as the date approaches. | TC-ST-02-03-025 |
| 3.3 Target Score and Exam Date Tracking | Rule: Entries feed the Target Exam Feature; a target exam can be created from an exam date. | TC-ST-02-03-026 |
| 3.3 Target Score and Exam Date Tracking | Rule: Changes are logged with the old and new values and the timestamp. | TC-ST-02-03-027 |
| 3.3 Target Score and Exam Date Tracking | Rule: The target score and exam date tracking is audit-logged with the account, the entry, and the timestamp. | TC-ST-02-03-028 |

## 3.1 Academic Goals

### TC-ST-02-03-001 — Add an academic goal with a title, target, and optional deadline
**Type:** Positive
**Covers:** 3.1 → Add an academic goal with a title, target, and optional deadline; Rule: A goal requires a title and a target; the deadline is optional.
**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: Add an academic goal with a title.
2. Observe the result and verify the full behavior: Add an academic goal with a title, target, and optional deadline.
**Expected Result:** Add an academic goal with a title, target, and optional deadline — delivered exactly as documented.
**Priority:** Critical

### TC-ST-02-03-002 — Select goal type: improve grades, prepare for exam, master a subject, achieve a score
**Type:** Positive
**Covers:** 3.1 → Select goal type: improve grades, prepare for exam, master a subject, achieve a score; Rule: The target value is validated (e.g., a score within 0–100).
**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: Select goal type: improve grades.
2. Observe the result and verify the full behavior: Select goal type: improve grades, prepare for exam, master a subject, achieve a score.
**Expected Result:** Select goal type: improve grades, prepare for exam, master a subject, achieve a score — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-003 — Set a target value (e.g., 75% in Mathematics) and an optional deadline
**Type:** Positive
**Covers:** 3.1 → Set a target value (e.g., 75% in Mathematics) and an optional deadline; Rule: A paused goal is excluded from the active plan and reminders but retains its progress.
**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: Set a target value (e.g..
2. Observe the result and verify the full behavior: Set a target value (e.g., 75% in Mathematics) and an optional deadline.
**Expected Result:** Set a target value (e.g., 75% in Mathematics) and an optional deadline — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-004 — View all goals on the dashboard with status (active, paused, completed)
**Type:** Positive
**Covers:** 3.1 → View all goals on the dashboard with status (active, paused, completed); Rule: A goal is completed automatically when the target is reached, or manually 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: View all goals on the dashboard with status (active.
2. Observe the result and verify the full behavior: View all goals on the dashboard with status (active, paused, completed).
**Expected Result:** View all goals on the dashboard with status (active, paused, completed) — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-005 — Edit a goal's target, deadline, or type
**Type:** Positive
**Covers:** 3.1 → Edit a goal's target, deadline, or type; Rule: Goal events (add, edit, pause, resume, complete) are logged with the values 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: Edit a goal's target.
2. Observe the result and verify the full behavior: Edit a goal's target, deadline, or type.
**Expected Result:** Edit a goal's target, deadline, or type — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-006 — Pause and resume a goal
**Type:** Positive
**Covers:** 3.1 → Pause and resume a goal; Rule: The academic goals are audit-logged with the account, the goal, 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: Pause and resume a goal.
2. Observe the result and verify the full behavior: Pause and resume a goal.
**Expected Result:** Pause and resume a goal — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-007 — Mark a goal as completed (manual or automatic when target reached)
**Type:** Positive
**Covers:** 3.1 → Mark a goal as completed (manual or automatic when target reached)
**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 goal as completed (manual or automatic when target reached).
2. Observe the result and verify the full behavior: Mark a goal as completed (manual or automatic when target reached).
**Expected Result:** Mark a goal as completed (manual or automatic when target reached) — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-008 — Goal progress tracking against the target
**Type:** Positive
**Covers:** 3.1 → Goal progress tracking against the target
**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: Goal progress tracking against the target.
2. Observe the result and verify the full behavior: Goal progress tracking against the target.
**Expected Result:** Goal progress tracking against the target — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-009 — Goal visibility in the profile summary
**Type:** Positive
**Covers:** 3.1 → Goal visibility in the profile summary
**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: Goal visibility in the profile summary.
2. Observe the result and verify the full behavior: Goal visibility in the profile summary.
**Expected Result:** Goal visibility in the profile summary — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-010 — Goal change event logging
**Type:** Positive
**Covers:** 3.1 → Goal change event logging
**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: Goal change event logging.
2. Observe the result and verify the full behavior: Goal change event logging.
**Expected Result:** Goal change event logging — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-011 — Audit logging of the academic goals
**Type:** Positive
**Covers:** 3.1 → Audit logging of the academic goals
**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 academic goals.
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

## 3.2 Milestones

### TC-ST-02-03-012 — Add a milestone to a goal with a title and optional target date
**Type:** Positive
**Covers:** 3.2 → Add a milestone to a goal with a title and optional target date; Rule: A milestone belongs to a goal and requires a title; the target date is optional.
**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: Add a milestone to a goal with a title and optional target date.
2. Observe the result and verify the full behavior: Add a milestone to a goal with a title and optional target date.
**Expected Result:** Add a milestone to a goal with a title and optional target date — delivered exactly as documented.
**Priority:** Critical

### TC-ST-02-03-013 — Order milestones within a goal
**Type:** Positive
**Covers:** 3.2 → Order milestones within a goal; Rule: Milestones are ordered within a goal; reordering is allowed.
**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: Order milestones within a goal.
2. Observe the result and verify the full behavior: Order milestones within a goal.
**Expected Result:** Order milestones within a goal — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-014 — Mark a milestone as complete (manual or automatic)
**Type:** Positive
**Covers:** 3.2 → Mark a milestone as complete (manual or automatic); Rule: A milestone is completed manually or automatically when its condition is met.
**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 milestone as complete (manual or automatic).
2. Observe the result and verify the full behavior: Mark a milestone as complete (manual or automatic).
**Expected Result:** Mark a milestone as complete (manual or automatic) — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-015 — View milestone progress on the goal and the dashboard
**Type:** Positive
**Covers:** 3.2 → View milestone progress on the goal and the dashboard; Rule: Completing a milestone awards gamification points/badges 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: View milestone progress on the goal and the dashboard.
2. Observe the result and verify the full behavior: View milestone progress on the goal and the dashboard.
**Expected Result:** View milestone progress on the goal and the dashboard — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-016 — Edit a milestone's title or target date
**Type:** Positive
**Covers:** 3.2 → Edit a milestone's title or target date; Rule: Removing a milestone does not affect the goal's overall target.
**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: Edit a milestone's title or target date.
2. Observe the result and verify the full behavior: Edit a milestone's title or target date.
**Expected Result:** Edit a milestone's title or target date — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-017 — Remove a milestone
**Type:** Positive
**Covers:** 3.2 → Remove a milestone; Rule: Milestone events (add, complete, edit, remove) are logged with the values 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: Remove a milestone.
2. Observe the result and verify the full behavior: Remove a milestone.
**Expected Result:** Remove a milestone — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-018 — Milestone completion feeds gamification (points, badges)
**Type:** Positive
**Covers:** 3.2 → Milestone completion feeds gamification (points, badges); Rule: The milestones are audit-logged with the account, the milestone, 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: Milestone completion feeds gamification (points.
2. Observe the result and verify the full behavior: Milestone completion feeds gamification (points, badges).
**Expected Result:** Milestone completion feeds gamification (points, badges) — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-019 — Milestone visibility in the profile summary
**Type:** Positive
**Covers:** 3.2 → Milestone visibility in the profile summary
**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 visibility in the profile summary.
2. Observe the result and verify the full behavior: Milestone visibility in the profile summary.
**Expected Result:** Milestone visibility in the profile summary — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-020 — Milestone change event logging
**Type:** Positive
**Covers:** 3.2 → Milestone change event logging
**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 change event logging.
2. Observe the result and verify the full behavior: Milestone change event logging.
**Expected Result:** Milestone change event logging — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-021 — Audit logging of the milestones
**Type:** Positive
**Covers:** 3.2 → Audit logging of the milestones
**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 milestones.
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

## 3.3 Target Score and Exam Date Tracking

### TC-ST-02-03-022 — Record a target score per subject (e.g., 75% in Mathematics)
**Type:** Positive
**Covers:** 3.3 → Record a target score per subject (e.g., 75% in Mathematics); Rule: A target score is per subject and within 0–100.
**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: Record a target score per subject (e.g..
2. Observe the result and verify the full behavior: Record a target score per subject (e.g., 75% in Mathematics).
**Expected Result:** Record a target score per subject (e.g., 75% in Mathematics) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-02-03-023 — Record an important exam date with name, type, and date
**Type:** Positive
**Covers:** 3.3 → Record an important exam date with name, type, and date; Rule: An exam date must be a valid date; past dates are flagged as "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: Record an important exam date with name.
2. Observe the result and verify the full behavior: Record an important exam date with name, type, and date.
**Expected Result:** Record an important exam date with name, type, and date — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-024 — View target scores and exam dates on the dashboard
**Type:** Positive
**Covers:** 3.3 → View target scores and exam dates on the dashboard; Rule: The current projection is computed from the Student's recent performance, not the stated target.
**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 target scores and exam dates on the dashboard.
2. Observe the result and verify the full behavior: View target scores and exam dates on the dashboard.
**Expected Result:** View target scores and exam dates on the dashboard — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-025 — Current projection vs target shown for each subject
**Type:** Positive
**Covers:** 3.3 → Current projection vs target shown for each subject; Rule: The exam countdown drives the Smart Study Planner's intensity as the date approaches.
**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: Current projection vs target shown for each subject.
2. Observe the result and verify the full behavior: Current projection vs target shown for each subject.
**Expected Result:** Current projection vs target shown for each subject — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-026 — Exam countdown shown for upcoming exam dates
**Type:** Positive
**Covers:** 3.3 → Exam countdown shown for upcoming exam dates; Rule: Entries feed the Target Exam Feature; a target exam can be created from an exam date.
**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: Exam countdown shown for upcoming exam dates.
2. Observe the result and verify the full behavior: Exam countdown shown for upcoming exam dates.
**Expected Result:** Exam countdown shown for upcoming exam dates — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-027 — Entries feed the Smart Study Planner countdown scheduling
**Type:** Positive
**Covers:** 3.3 → Entries feed the Smart Study Planner countdown scheduling; Rule: Changes are logged with the old and new values 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: Entries feed the Smart Study Planner countdown scheduling.
2. Observe the result and verify the full behavior: Entries feed the Smart Study Planner countdown scheduling.
**Expected Result:** Entries feed the Smart Study Planner countdown scheduling — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-028 — Entries feed the Target Exam Feature
**Type:** Positive
**Covers:** 3.3 → Entries feed the Target Exam Feature; Rule: The target score and exam date tracking is audit-logged with the account, the entry, 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: Entries feed the Target Exam Feature.
2. Observe the result and verify the full behavior: Entries feed the Target Exam Feature.
**Expected Result:** Entries feed the Target Exam Feature — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-029 — Edit or remove a target score or exam date
**Type:** Positive
**Covers:** 3.3 → Edit or remove a target score or exam date
**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: Edit or remove a target score or exam date.
2. Observe the result and verify the full behavior: Edit or remove a target score or exam date.
**Expected Result:** Edit or remove a target score or exam date — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-030 — Visibility in the profile summary
**Type:** Positive
**Covers:** 3.3 → Visibility in the profile summary
**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: Visibility in the profile summary.
2. Observe the result and verify the full behavior: Visibility in the profile summary.
**Expected Result:** Visibility in the profile summary — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-031 — Change event logging
**Type:** Positive
**Covers:** 3.3 → Change event logging
**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: Change event logging.
2. Observe the result and verify the full behavior: Change event logging.
**Expected Result:** Change event logging — delivered exactly as documented.
**Priority:** High

### TC-ST-02-03-032 — Audit logging of the target score and exam date tracking
**Type:** Positive
**Covers:** 3.3 → Audit logging of the target score and exam date 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 target score and exam date 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
