# 1. Target Exam Creation & Management — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: target_exam_creation.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 Create Multiple Target Exams | Create a target exam with a name and type (school, board, competitive, professional) | TC-ST-06-01-001 |
| 1.1 Create Multiple Target Exams | Set the exam date with a live countdown | TC-ST-06-01-002 |
| 1.1 Create Multiple Target Exams | Set a target score/grade | TC-ST-06-01-003 |
| 1.1 Create Multiple Target Exams | Set an importance level (priority: high, medium, low) | TC-ST-06-01-004 |
| 1.1 Create Multiple Target Exams | Edit a target exam's details | TC-ST-06-01-005 |
| 1.1 Create Multiple Target Exams | Pause and resume a target exam | TC-ST-06-01-006 |
| 1.1 Create Multiple Target Exams | Archive a completed target exam | TC-ST-06-01-007 |
| 1.1 Create Multiple Target Exams | List of all target exams with status and countdown | TC-ST-06-01-008 |
| 1.1 Create Multiple Target Exams | Exam event logging (created, edited, paused, archived) | TC-ST-06-01-009 |
| 1.1 Create Multiple Target Exams | Audit logging of the target exam creation and management | TC-ST-06-01-010 |
| 1.1 Create Multiple Target Exams | Rule: A target exam requires a name, a type, and a date; the target score and importance are optional. | TC-ST-06-01-001 |
| 1.1 Create Multiple Target Exams | Rule: The countdown updates in real time to the exam date. | TC-ST-06-01-002 |
| 1.1 Create Multiple Target Exams | Rule: A paused exam stops its study plan and reminders until resumed. | TC-ST-06-01-003 |
| 1.1 Create Multiple Target Exams | Rule: An archived exam is hidden from the active list but retained for history. | TC-ST-06-01-004 |
| 1.1 Create Multiple Target Exams | Rule: Exam events (created, edited, paused, archived) are logged with the exam and the timestamp. | TC-ST-06-01-005 |
| 1.1 Create Multiple Target Exams | Rule: The target exam creation and management is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-01-006 |
| 1.2 Subject & Topic Mapping | Attach relevant subjects from the Student's subscription to an exam | TC-ST-06-01-011 |
| 1.2 Subject & Topic Mapping | Select specific topics/chapters for the exam | TC-ST-06-01-012 |
| 1.2 Subject & Topic Mapping | Mark topic importance (high, medium, low) | TC-ST-06-01-013 |
| 1.2 Subject & Topic Mapping | Add custom study materials to a topic | TC-ST-06-01-014 |
| 1.2 Subject & Topic Mapping | Link to external resources | TC-ST-06-01-015 |
| 1.2 Subject & Topic Mapping | View the exam's subject and topic map | TC-ST-06-01-016 |
| 1.2 Subject & Topic Mapping | Update the mapping as the syllabus changes | TC-ST-06-01-017 |
| 1.2 Subject & Topic Mapping | Mapping event logging (subject attached, topic marked, material added) | TC-ST-06-01-018 |
| 1.2 Subject & Topic Mapping | Audit logging of the subject and topic mapping | TC-ST-06-01-019 |
| 1.2 Subject & Topic Mapping | Rule: Only subjects within the Student's subscription can be attached. | TC-ST-06-01-011 |
| 1.2 Subject & Topic Mapping | Rule: Topic importance is high, medium, or low; it weights the study plan and prediction. | TC-ST-06-01-012 |
| 1.2 Subject & Topic Mapping | Rule: Custom study materials and external links are attached to a topic. | TC-ST-06-01-013 |
| 1.2 Subject & Topic Mapping | Rule: The mapping can be updated as the syllabus changes. | TC-ST-06-01-014 |
| 1.2 Subject & Topic Mapping | Rule: Mapping events (subject attached, topic marked, material added) are logged with the exam and the timestamp. | TC-ST-06-01-015 |
| 1.2 Subject & Topic Mapping | Rule: The subject and topic mapping is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-01-016 |
| 1.3 Exam Priority and Scheduling | Order active exams by importance and date | TC-ST-06-01-020 |
| 1.3 Exam Priority and Scheduling | Flag scheduling conflicts between exams | TC-ST-06-01-021 |
| 1.3 Exam Priority and Scheduling | Allocate study time across active exams | TC-ST-06-01-022 |
| 1.3 Exam Priority and Scheduling | Set a study-time split (e.g., 60/40) between exams | TC-ST-06-01-023 |
| 1.3 Exam Priority and Scheduling | View upcoming exams on a timeline | TC-ST-06-01-024 |
| 1.3 Exam Priority and Scheduling | Priority changes reflected in the study plan | TC-ST-06-01-025 |
| 1.3 Exam Priority and Scheduling | Exam scheduling event logging (priority set, time split set) | TC-ST-06-01-026 |
| 1.3 Exam Priority and Scheduling | Audit logging of the exam priority and scheduling | TC-ST-06-01-027 |
| 1.3 Exam Priority and Scheduling | Rule: Active exams are ordered by importance and date. | TC-ST-06-01-020 |
| 1.3 Exam Priority and Scheduling | Rule: A scheduling conflict is flagged when exams fall close together. | TC-ST-06-01-021 |
| 1.3 Exam Priority and Scheduling | Rule: The study-time split must total 100% across active exams. | TC-ST-06-01-022 |
| 1.3 Exam Priority and Scheduling | Rule: Priority changes are reflected in the study plan. | TC-ST-06-01-023 |
| 1.3 Exam Priority and Scheduling | Rule: Scheduling events (priority set, time split set) are logged with the exam and the timestamp. | TC-ST-06-01-024 |
| 1.3 Exam Priority and Scheduling | Rule: The exam priority and scheduling is audit-logged with the account, the exam, and the timestamp. | TC-ST-06-01-025 |

## 1.1 Create Multiple Target Exams

### TC-ST-06-01-001 — Create a target exam with a name and type (school, board, competitive, professional)
**Type:** Positive
**Covers:** 1.1 → Create a target exam with a name and type (school, board, competitive, professional); Rule: A target exam requires a name, a type, and a date; the target score and importance are 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: Create a target exam with a name and type (school.
2. Observe the result and verify the full behavior: Create a target exam with a name and type (school, board, competitive, professional).
**Expected Result:** Create a target exam with a name and type (school, board, competitive, professional) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-01-002 — Set the exam date with a live countdown
**Type:** Positive
**Covers:** 1.1 → Set the exam date with a live countdown; Rule: The countdown updates in real time to the 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: Set the exam date with a live countdown.
2. Observe the result and verify the full behavior: Set the exam date with a live countdown.
**Expected Result:** Set the exam date with a live countdown — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-003 — Set a target score/grade
**Type:** Positive
**Covers:** 1.1 → Set a target score/grade; Rule: A paused exam stops its study plan and reminders until resumed.
**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 score/grade.
2. Observe the result and verify the full behavior: Set a target score/grade.
**Expected Result:** Set a target score/grade — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-004 — Set an importance level (priority: high, medium, low)
**Type:** Positive
**Covers:** 1.1 → Set an importance level (priority: high, medium, low); Rule: An archived exam is hidden from the active list but retained for 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: Set an importance level (priority: high.
2. Observe the result and verify the full behavior: Set an importance level (priority: high, medium, low).
**Expected Result:** Set an importance level (priority: high, medium, low) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-005 — Edit a target exam's details
**Type:** Positive
**Covers:** 1.1 → Edit a target exam's details; Rule: Exam events (created, edited, paused, archived) are logged with the exam 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 target exam's details.
2. Observe the result and verify the full behavior: Edit a target exam's details.
**Expected Result:** Edit a target exam's details — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-006 — Pause and resume a target exam
**Type:** Positive
**Covers:** 1.1 → Pause and resume a target exam; Rule: The target exam creation and management is audit-logged with the account, the exam, 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 target exam.
2. Observe the result and verify the full behavior: Pause and resume a target exam.
**Expected Result:** Pause and resume a target exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-007 — Archive a completed target exam
**Type:** Positive
**Covers:** 1.1 → Archive a completed target exam
**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: Archive a completed target exam.
2. Observe the result and verify the full behavior: Archive a completed target exam.
**Expected Result:** Archive a completed target exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-008 — List of all target exams with status and countdown
**Type:** Positive
**Covers:** 1.1 → List of all target exams with status and countdown
**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: List of all target exams with status and countdown.
2. Observe the result and verify the full behavior: List of all target exams with status and countdown.
**Expected Result:** List of all target exams with status and countdown — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-009 — Exam event logging (created, edited, paused, archived)
**Type:** Positive
**Covers:** 1.1 → Exam event logging (created, edited, paused, archived)
**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 event logging (created.
2. Observe the result and verify the full behavior: Exam event logging (created, edited, paused, archived).
**Expected Result:** Exam event logging (created, edited, paused, archived) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-010 — Audit logging of the target exam creation and management
**Type:** Positive
**Covers:** 1.1 → Audit logging of the target exam creation and management
**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 exam creation and management.
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 Subject & Topic Mapping

### TC-ST-06-01-011 — Attach relevant subjects from the Student's subscription to an exam
**Type:** Positive
**Covers:** 1.2 → Attach relevant subjects from the Student's subscription to an exam; Rule: Only subjects within the Student's subscription can be attached.
**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: Attach relevant subjects from the Student's subscription to an exam.
2. Observe the result and verify the full behavior: Attach relevant subjects from the Student's subscription to an exam.
**Expected Result:** Attach relevant subjects from the Student's subscription to an exam — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-01-012 — Select specific topics/chapters for the exam
**Type:** Positive
**Covers:** 1.2 → Select specific topics/chapters for the exam; Rule: Topic importance is high, medium, or low; it weights the study plan and prediction.
**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 specific topics/chapters for the exam.
2. Observe the result and verify the full behavior: Select specific topics/chapters for the exam.
**Expected Result:** Select specific topics/chapters for the exam — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-013 — Mark topic importance (high, medium, low)
**Type:** Positive
**Covers:** 1.2 → Mark topic importance (high, medium, low); Rule: Custom study materials and external links are attached to a topic.
**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 topic importance (high.
2. Observe the result and verify the full behavior: Mark topic importance (high, medium, low).
**Expected Result:** Mark topic importance (high, medium, low) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-014 — Add custom study materials to a topic
**Type:** Positive
**Covers:** 1.2 → Add custom study materials to a topic; Rule: The mapping can be updated as the syllabus 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: Add custom study materials to a topic.
2. Observe the result and verify the full behavior: Add custom study materials to a topic.
**Expected Result:** Add custom study materials to a topic — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-015 — Link to external resources
**Type:** Positive
**Covers:** 1.2 → Link to external resources; Rule: Mapping events (subject attached, topic marked, material added) are logged with the exam 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: Link to external resources.
2. Observe the result and verify the full behavior: Link to external resources.
**Expected Result:** Link to external resources — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-016 — View the exam's subject and topic map
**Type:** Positive
**Covers:** 1.2 → View the exam's subject and topic map; Rule: The subject and topic mapping is audit-logged with the account, the exam, 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: View the exam's subject and topic map.
2. Observe the result and verify the full behavior: View the exam's subject and topic map.
**Expected Result:** View the exam's subject and topic map — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-017 — Update the mapping as the syllabus changes
**Type:** Positive
**Covers:** 1.2 → Update the mapping as the syllabus 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: Update the mapping as the syllabus changes.
2. Observe the result and verify the full behavior: Update the mapping as the syllabus changes.
**Expected Result:** Update the mapping as the syllabus changes — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-018 — Mapping event logging (subject attached, topic marked, material added)
**Type:** Positive
**Covers:** 1.2 → Mapping event logging (subject attached, topic marked, material added)
**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: Mapping event logging (subject attached.
2. Observe the result and verify the full behavior: Mapping event logging (subject attached, topic marked, material added).
**Expected Result:** Mapping event logging (subject attached, topic marked, material added) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-019 — Audit logging of the subject and topic mapping
**Type:** Positive
**Covers:** 1.2 → Audit logging of the subject and topic mapping
**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 subject and topic mapping.
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 Exam Priority and Scheduling

### TC-ST-06-01-020 — Order active exams by importance and date
**Type:** Positive
**Covers:** 1.3 → Order active exams by importance and date; Rule: Active exams are ordered by importance and 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: Order active exams by importance and date.
2. Observe the result and verify the full behavior: Order active exams by importance and date.
**Expected Result:** Order active exams by importance and date — delivered exactly as documented.
**Priority:** Critical

### TC-ST-06-01-021 — Flag scheduling conflicts between exams
**Type:** Positive
**Covers:** 1.3 → Flag scheduling conflicts between exams; Rule: A scheduling conflict is flagged when exams fall close together.
**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: Flag scheduling conflicts between exams.
2. Observe the result and verify the full behavior: Flag scheduling conflicts between exams.
**Expected Result:** Flag scheduling conflicts between exams — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-022 — Allocate study time across active exams
**Type:** Positive
**Covers:** 1.3 → Allocate study time across active exams; Rule: The study-time split must total 100% across active exams.
**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: Allocate study time across active exams.
2. Observe the result and verify the full behavior: Allocate study time across active exams.
**Expected Result:** Allocate study time across active exams — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-023 — Set a study-time split (e.g., 60/40) between exams
**Type:** Positive
**Covers:** 1.3 → Set a study-time split (e.g., 60/40) between exams; Rule: Priority changes are reflected in the study 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: Set a study-time split (e.g..
2. Observe the result and verify the full behavior: Set a study-time split (e.g., 60/40) between exams.
**Expected Result:** Set a study-time split (e.g., 60/40) between exams — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-024 — View upcoming exams on a timeline
**Type:** Positive
**Covers:** 1.3 → View upcoming exams on a timeline; Rule: Scheduling events (priority set, time split set) are logged with the exam 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: View upcoming exams on a timeline.
2. Observe the result and verify the full behavior: View upcoming exams on a timeline.
**Expected Result:** View upcoming exams on a timeline — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-025 — Priority changes reflected in the study plan
**Type:** Positive
**Covers:** 1.3 → Priority changes reflected in the study plan; Rule: The exam priority and scheduling is audit-logged with the account, the exam, 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: Priority changes reflected in the study plan.
2. Observe the result and verify the full behavior: Priority changes reflected in the study plan.
**Expected Result:** Priority changes reflected in the study plan — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-026 — Exam scheduling event logging (priority set, time split set)
**Type:** Positive
**Covers:** 1.3 → Exam scheduling event logging (priority set, time split set)
**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 scheduling event logging (priority set.
2. Observe the result and verify the full behavior: Exam scheduling event logging (priority set, time split set).
**Expected Result:** Exam scheduling event logging (priority set, time split set) — delivered exactly as documented.
**Priority:** High

### TC-ST-06-01-027 — Audit logging of the exam priority and scheduling
**Type:** Positive
**Covers:** 1.3 → Audit logging of the exam priority and scheduling
**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 priority and scheduling.
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
