# 4. Notification History & Management — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: history_management.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 Notification History | Notification history (past notifications) | TC-ST-15-04-001 |
| 4.1 Notification History | Filter history by category and date | TC-ST-15-04-002 |
| 4.1 Notification History | Search the notification history | TC-ST-15-04-003 |
| 4.1 Notification History | Open the relevant screen from a past notification | TC-ST-15-04-004 |
| 4.1 Notification History | History retained for a platform-defined period | TC-ST-15-04-005 |
| 4.1 Notification History | History available on web and mobile | TC-ST-15-04-006 |
| 4.1 Notification History | History event logging (viewed, searched) | TC-ST-15-04-007 |
| 4.1 Notification History | Audit logging of the notification history | TC-ST-15-04-008 |
| 4.1 Notification History | Rule: The history lists past notifications. | TC-ST-15-04-001 |
| 4.1 Notification History | Rule: Filters operate on category and date. | TC-ST-15-04-002 |
| 4.1 Notification History | Rule: The history is retained for the platform-defined period. | TC-ST-15-04-003 |
| 4.1 Notification History | Rule: History events (viewed, searched) are logged with the account and the timestamp. | TC-ST-15-04-004 |
| 4.1 Notification History | Rule: The notification history is audit-logged with the account and the timestamp. | TC-ST-15-04-005 |
| 4.2 Manage and Clear Notifications | Mark a notification as read | TC-ST-15-04-009 |
| 4.2 Manage and Clear Notifications | Mark all notifications as read | TC-ST-15-04-010 |
| 4.2 Manage and Clear Notifications | Delete a notification | TC-ST-15-04-011 |
| 4.2 Manage and Clear Notifications | Clear the notification center | TC-ST-15-04-012 |
| 4.2 Manage and Clear Notifications | Clearing does not affect the retained history | TC-ST-15-04-013 |
| 4.2 Manage and Clear Notifications | Manage available on web and mobile | TC-ST-15-04-014 |
| 4.2 Manage and Clear Notifications | Manage event logging (marked read, deleted, cleared) | TC-ST-15-04-015 |
| 4.2 Manage and Clear Notifications | Audit logging of the manage and clear notifications | TC-ST-15-04-016 |
| 4.2 Manage and Clear Notifications | Rule: A notification can be marked as read or deleted. | TC-ST-15-04-009 |
| 4.2 Manage and Clear Notifications | Rule: Clearing the center does not affect the retained history. | TC-ST-15-04-010 |
| 4.2 Manage and Clear Notifications | Rule: Manage events (marked read, deleted, cleared) are logged with the account and the timestamp. | TC-ST-15-04-011 |
| 4.2 Manage and Clear Notifications | Rule: The manage and clear notifications is audit-logged with the account and the timestamp. | TC-ST-15-04-012 |
| 4.3 Critical and System Alerts | Account security alerts (new device, password change) | TC-ST-15-04-017 |
| 4.3 Critical and System Alerts | Subscription status change alerts | TC-ST-15-04-018 |
| 4.3 Critical and System Alerts | Platform maintenance notices | TC-ST-15-04-019 |
| 4.3 Critical and System Alerts | Critical alerts cannot be disabled | TC-ST-15-04-020 |
| 4.3 Critical and System Alerts | Critical alerts marked as critical | TC-ST-15-04-021 |
| 4.3 Critical and System Alerts | Delivered on the Student's enabled channels | TC-ST-15-04-022 |
| 4.3 Critical and System Alerts | Critical alert event logging (sent, opened) | TC-ST-15-04-023 |
| 4.3 Critical and System Alerts | Audit logging of the critical and system alerts | TC-ST-15-04-024 |
| 4.3 Critical and System Alerts | Rule: Critical alerts cannot be disabled by the Student. | TC-ST-15-04-017 |
| 4.3 Critical and System Alerts | Rule: Critical alerts are delivered on the enabled channels. | TC-ST-15-04-018 |
| 4.3 Critical and System Alerts | Rule: A critical alert is marked as critical. | TC-ST-15-04-019 |
| 4.3 Critical and System Alerts | Rule: Critical alert events (sent, opened) are logged with the account and the timestamp. | TC-ST-15-04-020 |
| 4.3 Critical and System Alerts | Rule: The critical and system alerts is audit-logged with the account and the timestamp. | TC-ST-15-04-021 |

## 4.1 Notification History

### TC-ST-15-04-001 — Notification history (past notifications)
**Type:** Positive
**Covers:** 4.1 → Notification history (past notifications); Rule: The history lists past notifications.
**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: Notification history (past notifications).
2. Observe the result and verify the full behavior: Notification history (past notifications).
**Expected Result:** Notification history (past notifications) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-04-002 — Filter history by category and date
**Type:** Positive
**Covers:** 4.1 → Filter history by category and date; Rule: Filters operate on category 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: Filter history by category and date.
2. Observe the result and verify the full behavior: Filter history by category and date.
**Expected Result:** Filter history by category and date — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-003 — Search the notification history
**Type:** Positive
**Covers:** 4.1 → Search the notification history; Rule: The history is retained for the platform-defined 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: Search the notification history.
2. Observe the result and verify the full behavior: Search the notification history.
**Expected Result:** Search the notification history — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-004 — Open the relevant screen from a past notification
**Type:** Positive
**Covers:** 4.1 → Open the relevant screen from a past notification; Rule: History events (viewed, searched) are logged with the account and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Open the relevant screen from a past notification.
2. Observe the result and verify the full behavior: Open the relevant screen from a past notification.
**Expected Result:** Open the relevant screen from a past notification — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-005 — History retained for a platform-defined period
**Type:** Positive
**Covers:** 4.1 → History retained for a platform-defined period; Rule: The notification history 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: History retained for a platform-defined period.
2. Observe the result and verify the full behavior: History retained for a platform-defined period.
**Expected Result:** History retained for a platform-defined period — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-006 — History available on web and mobile
**Type:** Positive
**Covers:** 4.1 → History available on web and mobile
**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: History available on web and mobile.
2. Observe the result and verify the full behavior: History available on web and mobile.
**Expected Result:** History available on web and mobile — delivered exactly as documented.
**Priority:** High

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

### TC-ST-15-04-008 — Audit logging of the notification history
**Type:** Positive
**Covers:** 4.1 → Audit logging of the notification history
**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 notification history.
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 Manage and Clear Notifications

### TC-ST-15-04-009 — Mark a notification as read
**Type:** Positive
**Covers:** 4.2 → Mark a notification as read; Rule: A notification can be marked as read or deleted.
**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 notification as read.
2. Observe the result and verify the full behavior: Mark a notification as read.
**Expected Result:** Mark a notification as read — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-04-010 — Mark all notifications as read
**Type:** Positive
**Covers:** 4.2 → Mark all notifications as read; Rule: Clearing the center does not affect the retained 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: Mark all notifications as read.
2. Observe the result and verify the full behavior: Mark all notifications as read.
**Expected Result:** Mark all notifications as read — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-011 — Delete a notification
**Type:** Positive
**Covers:** 4.2 → Delete a notification; Rule: Manage events (marked read, deleted, cleared) are logged with the account and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Delete a notification.
2. Observe the result and verify the full behavior: Delete a notification.
**Expected Result:** Delete a notification — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-012 — Clear the notification center
**Type:** Positive
**Covers:** 4.2 → Clear the notification center; Rule: The manage and clear notifications 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: Clear the notification center.
2. Observe the result and verify the full behavior: Clear the notification center.
**Expected Result:** Clear the notification center — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-013 — Clearing does not affect the retained history
**Type:** Positive
**Covers:** 4.2 → Clearing does not affect the retained 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: Clearing does not affect the retained history.
2. Observe the result and verify the full behavior: Clearing does not affect the retained history.
**Expected Result:** Clearing does not affect the retained history — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-014 — Manage available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Manage available on web and mobile
**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: Manage available on web and mobile.
2. Observe the result and verify the full behavior: Manage available on web and mobile.
**Expected Result:** Manage available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-015 — Manage event logging (marked read, deleted, cleared)
**Type:** Positive
**Covers:** 4.2 → Manage event logging (marked read, deleted, cleared)
**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: Manage event logging (marked read.
2. Observe the result and verify the full behavior: Manage event logging (marked read, deleted, cleared).
**Expected Result:** Manage event logging (marked read, deleted, cleared) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-016 — Audit logging of the manage and clear notifications
**Type:** Positive
**Covers:** 4.2 → Audit logging of the manage and clear notifications
**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 manage and clear notifications.
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 Critical and System Alerts

### TC-ST-15-04-017 — Account security alerts (new device, password change)
**Type:** Positive
**Covers:** 4.3 → Account security alerts (new device, password change); Rule: Critical alerts cannot be disabled 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: Account security alerts (new device.
2. Observe the result and verify the full behavior: Account security alerts (new device, password change).
**Expected Result:** Account security alerts (new device, password change) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-04-018 — Subscription status change alerts
**Type:** Positive
**Covers:** 4.3 → Subscription status change alerts; Rule: Critical alerts are delivered on the enabled channels.
**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: Subscription status change alerts.
2. Observe the result and verify the full behavior: Subscription status change alerts.
**Expected Result:** Subscription status change alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-019 — Platform maintenance notices
**Type:** Positive
**Covers:** 4.3 → Platform maintenance notices; Rule: A critical alert is marked as critical.
**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: Platform maintenance notices.
2. Observe the result and verify the full behavior: Platform maintenance notices.
**Expected Result:** Platform maintenance notices — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-020 — Critical alerts cannot be disabled
**Type:** Positive
**Covers:** 4.3 → Critical alerts cannot be disabled; Rule: Critical alert events (sent, opened) are logged with the account and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Critical alerts cannot be disabled.
2. Observe the result and verify the full behavior: Critical alerts cannot be disabled.
**Expected Result:** Critical alerts cannot be disabled — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-021 — Critical alerts marked as critical
**Type:** Positive
**Covers:** 4.3 → Critical alerts marked as critical; Rule: The critical and system alerts is audit-logged with the account and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Critical alerts marked as critical.
2. Observe the result and verify the full behavior: Critical alerts marked as critical.
**Expected Result:** Critical alerts marked as critical — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-022 — Delivered on the Student's enabled channels
**Type:** Positive
**Covers:** 4.3 → Delivered on the Student's enabled channels
**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: Delivered on the Student's enabled channels.
2. Observe the result and verify the full behavior: Delivered on the Student's enabled channels.
**Expected Result:** Delivered on the Student's enabled channels — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-023 — Critical alert event logging (sent, opened)
**Type:** Positive
**Covers:** 4.3 → Critical alert event logging (sent, opened)
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Critical alert event logging (sent.
2. Observe the result and verify the full behavior: Critical alert event logging (sent, opened).
**Expected Result:** Critical alert event logging (sent, opened) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-04-024 — Audit logging of the critical and system alerts
**Type:** Positive
**Covers:** 4.3 → Audit logging of the critical and system alerts
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the critical and system alerts.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical
