# 1. Notification Channels & Delivery — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: notification_channels_delivery.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 In-App Notifications | In-app notification center | TC-ST-15-01-001 |
| 1.1 In-App Notifications | Unread notification indicator | TC-ST-15-01-002 |
| 1.1 In-App Notifications | Tap a notification to open the relevant screen | TC-ST-15-01-003 |
| 1.1 In-App Notifications | Mark a notification as read | TC-ST-15-01-004 |
| 1.1 In-App Notifications | Mark all as read | TC-ST-15-01-005 |
| 1.1 In-App Notifications | Notification list (newest first) | TC-ST-15-01-006 |
| 1.1 In-App Notifications | Notification center on web and mobile | TC-ST-15-01-007 |
| 1.1 In-App Notifications | Notification event logging (delivered, opened, marked read) | TC-ST-15-01-008 |
| 1.1 In-App Notifications | Audit logging of the in-app notifications | TC-ST-15-01-009 |
| 1.1 In-App Notifications | Rule: The notification center lists notifications newest first. | TC-ST-15-01-001 |
| 1.1 In-App Notifications | Rule: The unread indicator shows the unread count. | TC-ST-15-01-002 |
| 1.1 In-App Notifications | Rule: A notification is tappable to the relevant screen. | TC-ST-15-01-003 |
| 1.1 In-App Notifications | Rule: Notification events (delivered, opened, marked read) are logged with the account and the timestamp. | TC-ST-15-01-004 |
| 1.1 In-App Notifications | Rule: The in-app notifications is audit-logged with the account and the timestamp. | TC-ST-15-01-005 |
| 1.2 Email Notifications | Email notifications for important updates | TC-ST-15-01-010 |
| 1.2 Email Notifications | Report-ready email alerts | TC-ST-15-01-011 |
| 1.2 Email Notifications | Subscription reminder emails | TC-ST-15-01-012 |
| 1.2 Email Notifications | Weekly summary email | TC-ST-15-01-013 |
| 1.2 Email Notifications | Enable/disable email per category | TC-ST-15-01-014 |
| 1.2 Email Notifications | Email links to the relevant screen | TC-ST-15-01-015 |
| 1.2 Email Notifications | Email event logging (sent, opened) | TC-ST-15-01-016 |
| 1.2 Email Notifications | Audit logging of the email notifications | TC-ST-15-01-017 |
| 1.2 Email Notifications | Rule: Email notifications are sent to the Student's verified email. | TC-ST-15-01-010 |
| 1.2 Email Notifications | Rule: Each email links to the relevant screen. | TC-ST-15-01-011 |
| 1.2 Email Notifications | Rule: The Student can enable/disable email per category. | TC-ST-15-01-012 |
| 1.2 Email Notifications | Rule: Email events (sent, opened) are logged with the account and the timestamp. | TC-ST-15-01-013 |
| 1.2 Email Notifications | Rule: The email notifications is audit-logged with the account and the timestamp. | TC-ST-15-01-014 |
| 1.3 Push Notifications | Push notifications on the device | TC-ST-15-01-018 |
| 1.3 Push Notifications | Live session reminder push | TC-ST-15-01-019 |
| 1.3 Push Notifications | Study reminder push | TC-ST-15-01-020 |
| 1.3 Push Notifications | Achievement push notifications | TC-ST-15-01-021 |
| 1.3 Push Notifications | Enable/disable push notifications | TC-ST-15-01-022 |
| 1.3 Push Notifications | Customize push categories | TC-ST-15-01-023 |
| 1.3 Push Notifications | Push event logging (sent, opened, disabled) | TC-ST-15-01-024 |
| 1.3 Push Notifications | Audit logging of the push notifications | TC-ST-15-01-025 |
| 1.3 Push Notifications | Rule: Push notifications require the device permission. | TC-ST-15-01-018 |
| 1.3 Push Notifications | Rule: The Student can enable/disable push notifications. | TC-ST-15-01-019 |
| 1.3 Push Notifications | Rule: Push categories can be customized. | TC-ST-15-01-020 |
| 1.3 Push Notifications | Rule: Push events (sent, opened, disabled) are logged with the account and the timestamp. | TC-ST-15-01-021 |
| 1.3 Push Notifications | Rule: The push notifications is audit-logged with the account and the timestamp. | TC-ST-15-01-022 |

## 1.1 In-App Notifications

### TC-ST-15-01-001 — In-app notification center
**Type:** Positive
**Covers:** 1.1 → In-app notification center; Rule: The notification center lists notifications newest first.
**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: In-app notification center.
2. Observe the result and verify the full behavior: In-app notification center.
**Expected Result:** In-app notification center — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-01-002 — Unread notification indicator
**Type:** Positive
**Covers:** 1.1 → Unread notification indicator; Rule: The unread indicator shows the unread count.
**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: Unread notification indicator.
2. Observe the result and verify the full behavior: Unread notification indicator.
**Expected Result:** Unread notification indicator — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-003 — Tap a notification to open the relevant screen
**Type:** Positive
**Covers:** 1.1 → Tap a notification to open the relevant screen; Rule: A notification is tappable to the relevant screen.
**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: Tap a notification to open the relevant screen.
2. Observe the result and verify the full behavior: Tap a notification to open the relevant screen.
**Expected Result:** Tap a notification to open the relevant screen — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-004 — Mark a notification as read
**Type:** Positive
**Covers:** 1.1 → Mark a notification as read; Rule: Notification events (delivered, opened, marked read) 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: 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:** High

### TC-ST-15-01-005 — Mark all as read
**Type:** Positive
**Covers:** 1.1 → Mark all as read; Rule: The in-app 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: Mark all as read.
2. Observe the result and verify the full behavior: Mark all as read.
**Expected Result:** Mark all as read — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-006 — Notification list (newest first)
**Type:** Positive
**Covers:** 1.1 → Notification list (newest first)
**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 list (newest first).
2. Observe the result and verify the full behavior: Notification list (newest first).
**Expected Result:** Notification list (newest first) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-007 — Notification center on web and mobile
**Type:** Positive
**Covers:** 1.1 → Notification center 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: Notification center on web and mobile.
2. Observe the result and verify the full behavior: Notification center on web and mobile.
**Expected Result:** Notification center on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-008 — Notification event logging (delivered, opened, marked read)
**Type:** Positive
**Covers:** 1.1 → Notification event logging (delivered, opened, marked read)
**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 event logging (delivered.
2. Observe the result and verify the full behavior: Notification event logging (delivered, opened, marked read).
**Expected Result:** Notification event logging (delivered, opened, marked read) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-009 — Audit logging of the in-app notifications
**Type:** Positive
**Covers:** 1.1 → Audit logging of the in-app 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 in-app 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

## 1.2 Email Notifications

### TC-ST-15-01-010 — Email notifications for important updates
**Type:** Positive
**Covers:** 1.2 → Email notifications for important updates; Rule: Email notifications are sent to the Student's verified email.
**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: Email notifications for important updates.
2. Observe the result and verify the full behavior: Email notifications for important updates.
**Expected Result:** Email notifications for important updates — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-01-011 — Report-ready email alerts
**Type:** Positive
**Covers:** 1.2 → Report-ready email alerts; Rule: Each email links to the relevant screen.
**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: Report-ready email alerts.
2. Observe the result and verify the full behavior: Report-ready email alerts.
**Expected Result:** Report-ready email alerts — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-012 — Subscription reminder emails
**Type:** Positive
**Covers:** 1.2 → Subscription reminder emails; Rule: The Student can enable/disable email per category.
**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 reminder emails.
2. Observe the result and verify the full behavior: Subscription reminder emails.
**Expected Result:** Subscription reminder emails — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-013 — Weekly summary email
**Type:** Positive
**Covers:** 1.2 → Weekly summary email; Rule: Email 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: Weekly summary email.
2. Observe the result and verify the full behavior: Weekly summary email.
**Expected Result:** Weekly summary email — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-014 — Enable/disable email per category
**Type:** Positive
**Covers:** 1.2 → Enable/disable email per category; Rule: The email 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: Enable/disable email per category.
2. Observe the result and verify the full behavior: Enable/disable email per category.
**Expected Result:** Enable/disable email per category — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-015 — Email links to the relevant screen
**Type:** Positive
**Covers:** 1.2 → Email links to the relevant screen
**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: Email links to the relevant screen.
2. Observe the result and verify the full behavior: Email links to the relevant screen.
**Expected Result:** Email links to the relevant screen — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-016 — Email event logging (sent, opened)
**Type:** Positive
**Covers:** 1.2 → Email 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: Email event logging (sent.
2. Observe the result and verify the full behavior: Email event logging (sent, opened).
**Expected Result:** Email event logging (sent, opened) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-017 — Audit logging of the email notifications
**Type:** Positive
**Covers:** 1.2 → Audit logging of the email 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 email 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

## 1.3 Push Notifications

### TC-ST-15-01-018 — Push notifications on the device
**Type:** Positive
**Covers:** 1.3 → Push notifications on the device; Rule: Push notifications require the device permission.
**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: Push notifications on the device.
2. Observe the result and verify the full behavior: Push notifications on the device.
**Expected Result:** Push notifications on the device — delivered exactly as documented.
**Priority:** Critical

### TC-ST-15-01-019 — Live session reminder push
**Type:** Positive
**Covers:** 1.3 → Live session reminder push; Rule: The Student can enable/disable push 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: Live session reminder push.
2. Observe the result and verify the full behavior: Live session reminder push.
**Expected Result:** Live session reminder push — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-020 — Study reminder push
**Type:** Positive
**Covers:** 1.3 → Study reminder push; Rule: Push categories can be customized.
**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 reminder push.
2. Observe the result and verify the full behavior: Study reminder push.
**Expected Result:** Study reminder push — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-021 — Achievement push notifications
**Type:** Positive
**Covers:** 1.3 → Achievement push notifications; Rule: Push events (sent, opened, disabled) 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: Achievement push notifications.
2. Observe the result and verify the full behavior: Achievement push notifications.
**Expected Result:** Achievement push notifications — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-022 — Enable/disable push notifications
**Type:** Positive
**Covers:** 1.3 → Enable/disable push notifications; Rule: The push 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: Enable/disable push notifications.
2. Observe the result and verify the full behavior: Enable/disable push notifications.
**Expected Result:** Enable/disable push notifications — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-023 — Customize push categories
**Type:** Positive
**Covers:** 1.3 → Customize push categories
**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: Customize push categories.
2. Observe the result and verify the full behavior: Customize push categories.
**Expected Result:** Customize push categories — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-024 — Push event logging (sent, opened, disabled)
**Type:** Positive
**Covers:** 1.3 → Push event logging (sent, opened, disabled)
**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: Push event logging (sent.
2. Observe the result and verify the full behavior: Push event logging (sent, opened, disabled).
**Expected Result:** Push event logging (sent, opened, disabled) — delivered exactly as documented.
**Priority:** High

### TC-ST-15-01-025 — Audit logging of the push notifications
**Type:** Positive
**Covers:** 1.3 → Audit logging of the push 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 push 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
