# 3. Simulation Scheduling — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: simulation_scheduling.md — every feature, sub-feature, and rule covered

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 3.1 Schedule Creation | Schedule enablement | TC-SA-EH-03-001 |
| 3.1 Schedule Creation | Schedule date | TC-SA-EH-03-002 |
| 3.1 Schedule Creation | Schedule time | TC-SA-EH-03-003 |
| 3.1 Schedule Creation | Schedule status | TC-SA-EH-03-004 |
| 3.1 Schedule Creation | Schedule log | TC-SA-EH-03-005 |
| 3.1 Schedule Creation | Rule: a schedule without a date cannot be created | TC-SA-EH-03-006 |
| 3.1 Schedule Creation | Rule: schedule actions are audit-logged | TC-SA-EH-03-007 |
| 3.2 Schedule Assignment | Assignment enablement | TC-SA-EH-03-008 |
| 3.2 Schedule Assignment | Assignment scope | TC-SA-EH-03-009 |
| 3.2 Schedule Assignment | Assignment status | TC-SA-EH-03-010 |
| 3.2 Schedule Assignment | Assignment log | TC-SA-EH-03-011 |
| 3.2 Schedule Assignment | Rule: an assignment without a schedule cannot be made | TC-SA-EH-03-012 |
| 3.2 Schedule Assignment | Rule: assignment actions are audit-logged | TC-SA-EH-03-013 |
| 3.3 Schedule Reminders | Reminder enablement | TC-SA-EH-03-014 |
| 3.3 Schedule Reminders | Reminder timing | TC-SA-EH-03-015 |
| 3.3 Schedule Reminders | Reminder channel | TC-SA-EH-03-016 |
| 3.3 Schedule Reminders | Reminder status | TC-SA-EH-03-017 |
| 3.3 Schedule Reminders | Reminder log | TC-SA-EH-03-018 |
| 3.3 Schedule Reminders | Rule: a reminder without a schedule cannot be sent | TC-SA-EH-03-019 |
| 3.3 Schedule Reminders | Rule: reminder actions are audit-logged | TC-SA-EH-03-020 |
| 3.4 Schedule Status | Status tracking | TC-SA-EH-03-021 |
| 3.4 Schedule Status | Status metrics | TC-SA-EH-03-022 |
| 3.4 Schedule Status | Status trends | TC-SA-EH-03-023 |
| 3.4 Schedule Status | Status breakdown | TC-SA-EH-03-024 |
| 3.4 Schedule Status | Status log | TC-SA-EH-03-025 |
| 3.4 Schedule Status | Rule: a status with no schedules shows an empty state | TC-SA-EH-03-026 |
| 3.4 Schedule Status | Rule: status actions are audit-logged | TC-SA-EH-03-027 |
| 3.5 Schedule Log | Log enablement | TC-SA-EH-03-028 |
| 3.5 Schedule Log | Log scope | TC-SA-EH-03-029 |
| 3.5 Schedule Log | Log search | TC-SA-EH-03-030 |
| 3.5 Schedule Log | Log listing | TC-SA-EH-03-031 |
| 3.5 Schedule Log | Log export | TC-SA-EH-03-032 |
| 3.5 Schedule Log | Rule: a log with no entries shows an empty state | TC-SA-EH-03-033 |
| 3.5 Schedule Log | Rule: log actions are audit-logged | TC-SA-EH-03-034 |

### TC-SA-EH-03-001 — Schedule enablement
**Type:** Positive
**Covers:** 3.1 → Schedule enablement: the enablement of the schedule creation
**Preconditions:** A Super Admin account is active.
**Steps:**
1. As a Super Admin, enable the schedule creation and save.
2. Observe the result and verify the full behavior: the schedule creation is enabled.
**Expected Result:** The enablement works — the schedule creation is enabled, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-002 — Schedule date
**Type:** Positive
**Covers:** 3.1 → Schedule date: the date of the schedule
**Preconditions:** A Super Admin account is active; the schedule creation is enabled.
**Steps:**
1. As a Super Admin, set the schedule date and save.
2. Observe the result and verify the full behavior: the date is applied.
**Expected Result:** The date is set — it is applied, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-003 — Schedule time
**Type:** Positive
**Covers:** 3.1 → Schedule time: the time of the schedule
**Preconditions:** A Super Admin account is active; the schedule creation is enabled.
**Steps:**
1. As a Super Admin, set the schedule time and save.
2. Observe the result and verify the full behavior: the time is applied.
**Expected Result:** The time is set — it is applied, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-004 — Schedule status
**Type:** Positive
**Covers:** 3.1 → Schedule status: the status of the schedule
**Preconditions:** A Super Admin account is active; a schedule exists.
**Steps:**
1. As a Super Admin, view the schedule status.
2. Observe the result and verify the full behavior: the status is shown.
**Expected Result:** The status is shown — it reflects the state, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-005 — Schedule log
**Type:** Positive
**Covers:** 3.1 → Schedule log: the log of the schedules
**Preconditions:** A Super Admin account is active; schedules exist.
**Steps:**
1. As a Super Admin, open the schedule log.
2. Observe the result and verify the full behavior: the schedules are listed.
**Expected Result:** The log is shown — the schedules are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-006 — Rule: a schedule without a date cannot be created
**Type:** Negative
**Covers:** 3.1 → Rule: a schedule without a date cannot be created
**Preconditions:** A Super Admin account is active; no date is set.
**Steps:**
1. As a Super Admin, attempt to create the schedule without a date.
2. Observe the result and verify the full behavior: the creation is blocked.
**Expected Result:** The creation is blocked — the date precondition is enforced, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-007 — Rule: schedule actions are audit-logged
**Type:** Positive
**Covers:** 3.1 → Audit logging of schedule creation
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, enable the schedule creation and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-008 — Assignment enablement
**Type:** Positive
**Covers:** 3.2 → Assignment enablement: the enablement of the schedule assignment
**Preconditions:** A Super Admin account is active.
**Steps:**
1. As a Super Admin, enable the schedule assignment and save.
2. Observe the result and verify the full behavior: the schedule assignment is enabled.
**Expected Result:** The enablement works — the schedule assignment is enabled, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-009 — Assignment scope
**Type:** Positive
**Covers:** 3.2 → Assignment scope: the scope of the assignment
**Preconditions:** A Super Admin account is active; the schedule assignment is enabled.
**Steps:**
1. As a Super Admin, set the assignment scope and save.
2. Observe the result and verify the full behavior: the scope is applied.
**Expected Result:** The scope is set — it is applied, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-010 — Assignment status
**Type:** Positive
**Covers:** 3.2 → Assignment status: the status of the assignment
**Preconditions:** A Super Admin account is active; an assignment exists.
**Steps:**
1. As a Super Admin, view the assignment status.
2. Observe the result and verify the full behavior: the status is shown.
**Expected Result:** The status is shown — it reflects the state, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-011 — Assignment log
**Type:** Positive
**Covers:** 3.2 → Assignment log: the log of the assignments
**Preconditions:** A Super Admin account is active; assignments exist.
**Steps:**
1. As a Super Admin, open the assignment log.
2. Observe the result and verify the full behavior: the assignments are listed.
**Expected Result:** The log is shown — the assignments are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-012 — Rule: an assignment without a schedule cannot be made
**Type:** Negative
**Covers:** 3.2 → Rule: an assignment without a schedule cannot be made
**Preconditions:** A Super Admin account is active; no schedule exists.
**Steps:**
1. As a Super Admin, attempt to make the assignment without a schedule.
2. Observe the result and verify the full behavior: the assignment is blocked.
**Expected Result:** The assignment is blocked — the schedule precondition is enforced, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-013 — Rule: assignment actions are audit-logged
**Type:** Positive
**Covers:** 3.2 → Audit logging of schedule assignment
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, enable the schedule assignment and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-014 — Reminder enablement
**Type:** Positive
**Covers:** 3.3 → Reminder enablement: the enablement of the schedule reminders
**Preconditions:** A Super Admin account is active.
**Steps:**
1. As a Super Admin, enable the schedule reminders and save.
2. Observe the result and verify the full behavior: the schedule reminders are enabled.
**Expected Result:** The enablement works — the schedule reminders are enabled, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-015 — Reminder timing
**Type:** Positive
**Covers:** 3.3 → Reminder timing: the timing of the reminders
**Preconditions:** A Super Admin account is active; the schedule reminders are enabled.
**Steps:**
1. As a Super Admin, set the reminder timing and save.
2. Observe the result and verify the full behavior: the timing is applied.
**Expected Result:** The timing is set — it is applied, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-016 — Reminder channel
**Type:** Positive
**Covers:** 3.3 → Reminder channel: the channel of the reminders
**Preconditions:** A Super Admin account is active; the schedule reminders are enabled.
**Steps:**
1. As a Super Admin, set the reminder channel and save.
2. Observe the result and verify the full behavior: the channel is applied.
**Expected Result:** The channel is set — it is applied, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-017 — Reminder status
**Type:** Positive
**Covers:** 3.3 → Reminder status: the status of the reminders
**Preconditions:** A Super Admin account is active; a reminder exists.
**Steps:**
1. As a Super Admin, view the reminder status.
2. Observe the result and verify the full behavior: the status is shown.
**Expected Result:** The status is shown — it reflects the state, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-018 — Reminder log
**Type:** Positive
**Covers:** 3.3 → Reminder log: the log of the reminders
**Preconditions:** A Super Admin account is active; reminders exist.
**Steps:**
1. As a Super Admin, open the reminder log.
2. Observe the result and verify the full behavior: the reminders are listed.
**Expected Result:** The log is shown — the reminders are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-019 — Rule: a reminder without a schedule cannot be sent
**Type:** Negative
**Covers:** 3.3 → Rule: a reminder without a schedule cannot be sent
**Preconditions:** A Super Admin account is active; no schedule exists.
**Steps:**
1. As a Super Admin, attempt to send the reminder without a schedule.
2. Observe the result and verify the full behavior: the reminder is not sent.
**Expected Result:** The reminder is not sent — the schedule precondition is enforced, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-020 — Rule: reminder actions are audit-logged
**Type:** Positive
**Covers:** 3.3 → Audit logging of schedule reminders
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, enable the schedule reminders and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-021 — Status tracking
**Type:** Positive
**Covers:** 3.4 → Status tracking: the tracking of the schedule status
**Preconditions:** A Super Admin account is active; schedules exist.
**Steps:**
1. As a Super Admin, open the status tracking.
2. Observe the result and verify the full behavior: the status is tracked.
**Expected Result:** The tracking works — the status is tracked, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-022 — Status metrics
**Type:** Positive
**Covers:** 3.4 → Status metrics: the metrics of the status
**Preconditions:** A Super Admin account is active; status exists.
**Steps:**
1. As a Super Admin, view the status metrics.
2. Observe the result and verify the full behavior: the metrics are shown.
**Expected Result:** The metrics are shown — they are accurate, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-023 — Status trends
**Type:** Positive
**Covers:** 3.4 → Status trends: the trends of the status
**Preconditions:** A Super Admin account is active; status exists over time.
**Steps:**
1. As a Super Admin, view the status trends.
2. Observe the result and verify the full behavior: the trends are shown.
**Expected Result:** The trends are shown — they are accurate, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-024 — Status breakdown
**Type:** Positive
**Covers:** 3.4 → Status breakdown: the breakdown of the status
**Preconditions:** A Super Admin account is active; status exists.
**Steps:**
1. As a Super Admin, view the status breakdown.
2. Observe the result and verify the full behavior: the breakdown is shown.
**Expected Result:** The breakdown is shown — it is accurate, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-025 — Status log
**Type:** Positive
**Covers:** 3.4 → Status log: the log of the status
**Preconditions:** A Super Admin account is active; status events exist.
**Steps:**
1. As a Super Admin, open the status log.
2. Observe the result and verify the full behavior: the events are listed.
**Expected Result:** The log is shown — the events are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-026 — Rule: a status with no schedules shows an empty state
**Type:** Positive
**Covers:** 3.4 → Rule: a status with no schedules shows an empty state
**Preconditions:** A Super Admin account is active; no schedules exist.
**Steps:**
1. As a Super Admin, open the status.
2. Observe the result and verify the full behavior: an empty state is shown.
**Expected Result:** The empty state is shown — it is displayed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-027 — Rule: status actions are audit-logged
**Type:** Positive
**Covers:** 3.4 → Audit logging of schedule status
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, view the status and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-028 — Log enablement
**Type:** Positive
**Covers:** 3.5 → Log enablement: the enablement of the schedule log
**Preconditions:** A Super Admin account is active.
**Steps:**
1. As a Super Admin, enable the schedule log and save.
2. Observe the result and verify the full behavior: the schedule log is enabled.
**Expected Result:** The enablement works — the schedule log is enabled, delivered exactly as documented.
**Priority:** High

### TC-SA-EH-03-029 — Log scope
**Type:** Positive
**Covers:** 3.5 → Log scope: the scope of the log
**Preconditions:** A Super Admin account is active; the schedule log is enabled.
**Steps:**
1. As a Super Admin, set the log scope and save.
2. Observe the result and verify the full behavior: the scope is applied.
**Expected Result:** The scope is set — it is applied, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-030 — Log search
**Type:** Positive
**Covers:** 3.5 → Log search: the search of the log
**Preconditions:** A Super Admin account is active; log entries exist.
**Steps:**
1. As a Super Admin, search the log.
2. Observe the result and verify the full behavior: the entries are found.
**Expected Result:** The search works — the entries are found, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-031 — Log listing
**Type:** Positive
**Covers:** 3.5 → Log listing: the listing of the log
**Preconditions:** A Super Admin account is active; log entries exist.
**Steps:**
1. As a Super Admin, open the log listing.
2. Observe the result and verify the full behavior: the entries are listed.
**Expected Result:** The listing is shown — the entries are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-032 — Log export
**Type:** Positive
**Covers:** 3.5 → Log export: the export of the log
**Preconditions:** A Super Admin account is active; log entries exist.
**Steps:**
1. As a Super Admin, export the log.
2. Observe the result and verify the full behavior: the log is exported.
**Expected Result:** The export works — the log is exported, delivered exactly as documented.
**Priority:** Medium

### TC-SA-EH-03-033 — Rule: a log with no entries shows an empty state
**Type:** Positive
**Covers:** 3.5 → Rule: a log with no entries shows an empty state
**Preconditions:** A Super Admin account is active; no log entries exist.
**Steps:**
1. As a Super Admin, open the log.
2. Observe the result and verify the full behavior: an empty state is shown.
**Expected Result:** The empty state is shown — it is displayed, delivered exactly as documented.
**Priority:** Low

### TC-SA-EH-03-034 — Rule: log actions are audit-logged
**Type:** Positive
**Covers:** 3.5 → Audit logging of schedule log
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, enable the schedule log and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High
