# 4. Teacher Announcements & Class Updates — Test Cases

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: announcements_class_updates.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 Teacher Announcements | Announcements from the child's teachers | TC-PT-6-04-001 |
| 4.1 Teacher Announcements | Announcement feed | TC-PT-6-04-002 |
| 4.1 Teacher Announcements | Mark an announcement as read | TC-PT-6-04-003 |
| 4.1 Teacher Announcements | Announcement detail view | TC-PT-6-04-004 |
| 4.1 Teacher Announcements | Announcement priority (normal, important) | TC-PT-6-04-005 |
| 4.1 Teacher Announcements | Announcements available on web and mobile | TC-PT-6-04-006 |
| 4.1 Teacher Announcements | Announcement event logging (received, read) | TC-PT-6-04-007 |
| 4.1 Teacher Announcements | Audit logging of the teacher announcements | TC-PT-6-04-008 |
| 4.1 Teacher Announcements | Rule: The announcements are from the child's teachers. | TC-PT-6-04-001 |
| 4.1 Teacher Announcements | Rule: An announcement can be marked as read. | TC-PT-6-04-002 |
| 4.1 Teacher Announcements | Rule: An important announcement is highlighted. | TC-PT-6-04-003 |
| 4.1 Teacher Announcements | Rule: Announcement events (received, read) are logged with the account and the timestamp. | TC-PT-6-04-004 |
| 4.1 Teacher Announcements | Rule: The teacher announcements is audit-logged with the account and the timestamp. | TC-PT-6-04-005 |
| 4.2 Class and School Updates | Class-level updates | TC-PT-6-04-009 |
| 4.2 Class and School Updates | School-level updates | TC-PT-6-04-010 |
| 4.2 Class and School Updates | Schedule changes and holidays | TC-PT-6-04-011 |
| 4.2 Class and School Updates | Events and policy updates | TC-PT-6-04-012 |
| 4.2 Class and School Updates | Update timeline | TC-PT-6-04-013 |
| 4.2 Class and School Updates | Updates available on web and mobile | TC-PT-6-04-014 |
| 4.2 Class and School Updates | Update event logging (received, viewed) | TC-PT-6-04-015 |
| 4.2 Class and School Updates | Audit logging of the class and school updates | TC-PT-6-04-016 |
| 4.2 Class and School Updates | Rule: The updates are class and school level. | TC-PT-6-04-009 |
| 4.2 Class and School Updates | Rule: The updates include schedule changes, holidays, events, and policies. | TC-PT-6-04-010 |
| 4.2 Class and School Updates | Rule: The updates are in a timeline. | TC-PT-6-04-011 |
| 4.2 Class and School Updates | Rule: Update events (received, viewed) are logged with the account and the timestamp. | TC-PT-6-04-012 |
| 4.2 Class and School Updates | Rule: The class and school updates is audit-logged with the account and the timestamp. | TC-PT-6-04-013 |
| 4.3 Acknowledge Important Updates | Important updates requiring acknowledgment | TC-PT-6-04-017 |
| 4.3 Acknowledge Important Updates | Consent forms and permission requests | TC-PT-6-04-018 |
| 4.3 Acknowledge Important Updates | Critical notices | TC-PT-6-04-019 |
| 4.3 Acknowledge Important Updates | Acknowledge an update | TC-PT-6-04-020 |
| 4.3 Acknowledge Important Updates | Acknowledgment recorded with timestamp | TC-PT-6-04-021 |
| 4.3 Acknowledge Important Updates | Pending acknowledgment list | TC-PT-6-04-022 |
| 4.3 Acknowledge Important Updates | Acknowledgment available on web and mobile | TC-PT-6-04-023 |
| 4.3 Acknowledge Important Updates | Acknowledgment event logging (viewed, acknowledged) | TC-PT-6-04-024 |
| 4.3 Acknowledge Important Updates | Audit logging of the acknowledge important updates | TC-PT-6-04-025 |
| 4.3 Acknowledge Important Updates | Rule: The updates require acknowledgment. | TC-PT-6-04-017 |
| 4.3 Acknowledge Important Updates | Rule: The acknowledgment is recorded with a timestamp. | TC-PT-6-04-018 |
| 4.3 Acknowledge Important Updates | Rule: A pending acknowledgment list is shown. | TC-PT-6-04-019 |
| 4.3 Acknowledge Important Updates | Rule: Acknowledgment events (viewed, acknowledged) are logged with the account and the timestamp. | TC-PT-6-04-020 |
| 4.3 Acknowledge Important Updates | Rule: The acknowledge important updates is audit-logged with the account and the timestamp. | TC-PT-6-04-021 |

## 4.1 Teacher Announcements

### TC-PT-6-04-001 — Announcements from the child's teachers
**Type:** Positive
**Covers:** 4.1 → Announcements from the child's teachers; Rule: The announcements are from the child's teachers.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcements from the child's teachers.
2. Observe the result and verify the full behavior: Announcements from the child's teachers.
**Expected Result:** Announcements from the child's teachers — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-04-002 — Announcement feed
**Type:** Positive
**Covers:** 4.1 → Announcement feed; Rule: An announcement can be marked as read.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcement feed.
2. Observe the result and verify the full behavior: Announcement feed.
**Expected Result:** Announcement feed — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-003 — Mark an announcement as read
**Type:** Positive
**Covers:** 4.1 → Mark an announcement as read; Rule: An important announcement is highlighted.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Mark an announcement as read.
2. Observe the result and verify the full behavior: Mark an announcement as read.
**Expected Result:** Mark an announcement as read — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-004 — Announcement detail view
**Type:** Positive
**Covers:** 4.1 → Announcement detail view; Rule: Announcement events (received, read) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcement detail view.
2. Observe the result and verify the full behavior: Announcement detail view.
**Expected Result:** Announcement detail view — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-005 — Announcement priority (normal, important)
**Type:** Positive
**Covers:** 4.1 → Announcement priority (normal, important); Rule: The teacher announcements is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcement priority (normal.
2. Observe the result and verify the full behavior: Announcement priority (normal, important).
**Expected Result:** Announcement priority (normal, important) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-006 — Announcements available on web and mobile
**Type:** Positive
**Covers:** 4.1 → Announcements available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcements available on web and mobile.
2. Observe the result and verify the full behavior: Announcements available on web and mobile.
**Expected Result:** Announcements available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-007 — Announcement event logging (received, read)
**Type:** Positive
**Covers:** 4.1 → Announcement event logging (received, read)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Announcement event logging (received.
2. Observe the result and verify the full behavior: Announcement event logging (received, read).
**Expected Result:** Announcement event logging (received, read) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-008 — Audit logging of the teacher announcements
**Type:** Positive
**Covers:** 4.1 → Audit logging of the teacher announcements
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the teacher announcements.
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 Class and School Updates

### TC-PT-6-04-009 — Class-level updates
**Type:** Positive
**Covers:** 4.2 → Class-level updates; Rule: The updates are class and school level.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Class-level updates.
2. Observe the result and verify the full behavior: Class-level updates.
**Expected Result:** Class-level updates — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-04-010 — School-level updates
**Type:** Positive
**Covers:** 4.2 → School-level updates; Rule: The updates include schedule changes, holidays, events, and policies.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: School-level updates.
2. Observe the result and verify the full behavior: School-level updates.
**Expected Result:** School-level updates — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-011 — Schedule changes and holidays
**Type:** Positive
**Covers:** 4.2 → Schedule changes and holidays; Rule: The updates are in a timeline.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Schedule changes and holidays.
2. Observe the result and verify the full behavior: Schedule changes and holidays.
**Expected Result:** Schedule changes and holidays — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-012 — Events and policy updates
**Type:** Positive
**Covers:** 4.2 → Events and policy updates; Rule: Update events (received, viewed) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Events and policy updates.
2. Observe the result and verify the full behavior: Events and policy updates.
**Expected Result:** Events and policy updates — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-013 — Update timeline
**Type:** Positive
**Covers:** 4.2 → Update timeline; Rule: The class and school updates is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Update timeline.
2. Observe the result and verify the full behavior: Update timeline.
**Expected Result:** Update timeline — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-014 — Updates available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Updates available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Updates available on web and mobile.
2. Observe the result and verify the full behavior: Updates available on web and mobile.
**Expected Result:** Updates available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-015 — Update event logging (received, viewed)
**Type:** Positive
**Covers:** 4.2 → Update event logging (received, viewed)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Update event logging (received.
2. Observe the result and verify the full behavior: Update event logging (received, viewed).
**Expected Result:** Update event logging (received, viewed) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-016 — Audit logging of the class and school updates
**Type:** Positive
**Covers:** 4.2 → Audit logging of the class and school updates
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the class and school updates.
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 Acknowledge Important Updates

### TC-PT-6-04-017 — Important updates requiring acknowledgment
**Type:** Positive
**Covers:** 4.3 → Important updates requiring acknowledgment; Rule: The updates require acknowledgment.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Important updates requiring acknowledgment.
2. Observe the result and verify the full behavior: Important updates requiring acknowledgment.
**Expected Result:** Important updates requiring acknowledgment — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-04-018 — Consent forms and permission requests
**Type:** Positive
**Covers:** 4.3 → Consent forms and permission requests; Rule: The acknowledgment is recorded with a timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Consent forms and permission requests.
2. Observe the result and verify the full behavior: Consent forms and permission requests.
**Expected Result:** Consent forms and permission requests — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-019 — Critical notices
**Type:** Positive
**Covers:** 4.3 → Critical notices; Rule: A pending acknowledgment list is shown.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Critical notices.
2. Observe the result and verify the full behavior: Critical notices.
**Expected Result:** Critical notices — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-020 — Acknowledge an update
**Type:** Positive
**Covers:** 4.3 → Acknowledge an update; Rule: Acknowledgment events (viewed, acknowledged) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Acknowledge an update.
2. Observe the result and verify the full behavior: Acknowledge an update.
**Expected Result:** Acknowledge an update — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-021 — Acknowledgment recorded with timestamp
**Type:** Positive
**Covers:** 4.3 → Acknowledgment recorded with timestamp; Rule: The acknowledge important updates is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Acknowledgment recorded with timestamp.
2. Observe the result and verify the full behavior: Acknowledgment recorded with timestamp.
**Expected Result:** Acknowledgment recorded with timestamp — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-022 — Pending acknowledgment list
**Type:** Positive
**Covers:** 4.3 → Pending acknowledgment list
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Pending acknowledgment list.
2. Observe the result and verify the full behavior: Pending acknowledgment list.
**Expected Result:** Pending acknowledgment list — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-023 — Acknowledgment available on web and mobile
**Type:** Positive
**Covers:** 4.3 → Acknowledgment available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Acknowledgment available on web and mobile.
2. Observe the result and verify the full behavior: Acknowledgment available on web and mobile.
**Expected Result:** Acknowledgment available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-024 — Acknowledgment event logging (viewed, acknowledged)
**Type:** Positive
**Covers:** 4.3 → Acknowledgment event logging (viewed, acknowledged)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Acknowledgment event logging (viewed.
2. Observe the result and verify the full behavior: Acknowledgment event logging (viewed, acknowledged).
**Expected Result:** Acknowledgment event logging (viewed, acknowledged) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-04-025 — Audit logging of the acknowledge important updates
**Type:** Positive
**Covers:** 4.3 → Audit logging of the acknowledge important updates
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the acknowledge important updates.
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
