# 3. Meetings & Communication Preferences — Test Cases

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: meetings_preferences.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 |
|---------|--------------------|----------|
| 3.1 Schedule a Meeting with the Teacher | Propose a meeting time with the teacher | TC-PT-6-03-001 |
| 3.1 Schedule a Meeting with the Teacher | Teacher confirms the meeting | TC-PT-6-03-002 |
| 3.1 Schedule a Meeting with the Teacher | Meeting added to both calendars | TC-PT-6-03-003 |
| 3.1 Schedule a Meeting with the Teacher | Meeting reminder to the Parent | TC-PT-6-03-004 |
| 3.1 Schedule a Meeting with the Teacher | Meeting type (in-person, virtual) | TC-PT-6-03-005 |
| 3.1 Schedule a Meeting with the Teacher | Meetings available on web and mobile | TC-PT-6-03-006 |
| 3.1 Schedule a Meeting with the Teacher | Meeting event logging (proposed, confirmed, held) | TC-PT-6-03-007 |
| 3.1 Schedule a Meeting with the Teacher | Audit logging of the schedule a meeting with the teacher | TC-PT-6-03-008 |
| 3.1 Schedule a Meeting with the Teacher | Rule: The meeting time is proposed by the Parent. | TC-PT-6-03-001 |
| 3.1 Schedule a Meeting with the Teacher | Rule: The teacher confirms the meeting. | TC-PT-6-03-002 |
| 3.1 Schedule a Meeting with the Teacher | Rule: A reminder is sent before the meeting. | TC-PT-6-03-003 |
| 3.1 Schedule a Meeting with the Teacher | Rule: Meeting events (proposed, confirmed, held) are logged with the account and the timestamp. | TC-PT-6-03-004 |
| 3.1 Schedule a Meeting with the Teacher | Rule: The schedule a meeting with the teacher is audit-logged with the account and the timestamp. | TC-PT-6-03-005 |
| 3.2 Meeting Notes and Follow-ups | Record notes from the meeting | TC-PT-6-03-009 |
| 3.2 Meeting Notes and Follow-ups | Notes shared between Parent and teacher | TC-PT-6-03-010 |
| 3.2 Meeting Notes and Follow-ups | Set follow-up actions | TC-PT-6-03-011 |
| 3.2 Meeting Notes and Follow-ups | Follow-up action tracking | TC-PT-6-03-012 |
| 3.2 Meeting Notes and Follow-ups | Follow-up completion status | TC-PT-6-03-013 |
| 3.2 Meeting Notes and Follow-ups | Notes available on web and mobile | TC-PT-6-03-014 |
| 3.2 Meeting Notes and Follow-ups | Note event logging (recorded, followed up) | TC-PT-6-03-015 |
| 3.2 Meeting Notes and Follow-ups | Audit logging of the meeting notes and follow-ups | TC-PT-6-03-016 |
| 3.2 Meeting Notes and Follow-ups | Rule: The notes are shared between the Parent and the teacher. | TC-PT-6-03-009 |
| 3.2 Meeting Notes and Follow-ups | Rule: The follow-up actions are tracked to completion. | TC-PT-6-03-010 |
| 3.2 Meeting Notes and Follow-ups | Rule: A follow-up completion status is shown. | TC-PT-6-03-011 |
| 3.2 Meeting Notes and Follow-ups | Rule: Note events (recorded, followed up) are logged with the account and the timestamp. | TC-PT-6-03-012 |
| 3.2 Meeting Notes and Follow-ups | Rule: The meeting notes and follow-ups is audit-logged with the account and the timestamp. | TC-PT-6-03-013 |
| 3.3 Communication Preferences | Preferred communication channels (in-app, email) | TC-PT-6-03-017 |
| 3.3 Communication Preferences | Preferred times for communication | TC-PT-6-03-018 |
| 3.3 Communication Preferences | Types of updates to receive | TC-PT-6-03-019 |
| 3.3 Communication Preferences | Preferences applied to teacher communication | TC-PT-6-03-020 |
| 3.3 Communication Preferences | Preference change confirmation | TC-PT-6-03-021 |
| 3.3 Communication Preferences | Preferences available on web and mobile | TC-PT-6-03-022 |
| 3.3 Communication Preferences | Preference event logging (set, changed) | TC-PT-6-03-023 |
| 3.3 Communication Preferences | Audit logging of the communication preferences | TC-PT-6-03-024 |
| 3.3 Communication Preferences | Rule: The preferences are channels, times, and update types. | TC-PT-6-03-017 |
| 3.3 Communication Preferences | Rule: The preferences are applied to teacher communication. | TC-PT-6-03-018 |
| 3.3 Communication Preferences | Rule: A preference change confirmation is shown. | TC-PT-6-03-019 |
| 3.3 Communication Preferences | Rule: Preference events (set, changed) are logged with the account and the timestamp. | TC-PT-6-03-020 |
| 3.3 Communication Preferences | Rule: The communication preferences is audit-logged with the account and the timestamp. | TC-PT-6-03-021 |

## 3.1 Schedule a Meeting with the Teacher

### TC-PT-6-03-001 — Propose a meeting time with the teacher
**Type:** Positive
**Covers:** 3.1 → Propose a meeting time with the teacher; Rule: The meeting time is proposed by the Parent.
**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: Propose a meeting time with the teacher.
2. Observe the result and verify the full behavior: Propose a meeting time with the teacher.
**Expected Result:** Propose a meeting time with the teacher — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-03-002 — Teacher confirms the meeting
**Type:** Positive
**Covers:** 3.1 → Teacher confirms the meeting; Rule: The teacher confirms the meeting.
**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: Teacher confirms the meeting.
2. Observe the result and verify the full behavior: Teacher confirms the meeting.
**Expected Result:** Teacher confirms the meeting — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-003 — Meeting added to both calendars
**Type:** Positive
**Covers:** 3.1 → Meeting added to both calendars; Rule: A reminder is sent before the meeting.
**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: Meeting added to both calendars.
2. Observe the result and verify the full behavior: Meeting added to both calendars.
**Expected Result:** Meeting added to both calendars — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-004 — Meeting reminder to the Parent
**Type:** Positive
**Covers:** 3.1 → Meeting reminder to the Parent; Rule: Meeting events (proposed, confirmed, held) 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: Meeting reminder to the Parent.
2. Observe the result and verify the full behavior: Meeting reminder to the Parent.
**Expected Result:** Meeting reminder to the Parent — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-005 — Meeting type (in-person, virtual)
**Type:** Positive
**Covers:** 3.1 → Meeting type (in-person, virtual); Rule: The schedule a meeting with the teacher 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: Meeting type (in-person.
2. Observe the result and verify the full behavior: Meeting type (in-person, virtual).
**Expected Result:** Meeting type (in-person, virtual) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-006 — Meetings available on web and mobile
**Type:** Positive
**Covers:** 3.1 → Meetings 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: Meetings available on web and mobile.
2. Observe the result and verify the full behavior: Meetings available on web and mobile.
**Expected Result:** Meetings available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-007 — Meeting event logging (proposed, confirmed, held)
**Type:** Positive
**Covers:** 3.1 → Meeting event logging (proposed, confirmed, held)
**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: Meeting event logging (proposed.
2. Observe the result and verify the full behavior: Meeting event logging (proposed, confirmed, held).
**Expected Result:** Meeting event logging (proposed, confirmed, held) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-008 — Audit logging of the schedule a meeting with the teacher
**Type:** Positive
**Covers:** 3.1 → Audit logging of the schedule a meeting with the teacher
**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 schedule a meeting with the teacher.
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

## 3.2 Meeting Notes and Follow-ups

### TC-PT-6-03-009 — Record notes from the meeting
**Type:** Positive
**Covers:** 3.2 → Record notes from the meeting; Rule: The notes are shared between the Parent and the teacher.
**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: Record notes from the meeting.
2. Observe the result and verify the full behavior: Record notes from the meeting.
**Expected Result:** Record notes from the meeting — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-03-010 — Notes shared between Parent and teacher
**Type:** Positive
**Covers:** 3.2 → Notes shared between Parent and teacher; Rule: The follow-up actions are tracked to completion.
**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: Notes shared between Parent and teacher.
2. Observe the result and verify the full behavior: Notes shared between Parent and teacher.
**Expected Result:** Notes shared between Parent and teacher — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-011 — Set follow-up actions
**Type:** Positive
**Covers:** 3.2 → Set follow-up actions; Rule: A follow-up completion status 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: Set follow-up actions.
2. Observe the result and verify the full behavior: Set follow-up actions.
**Expected Result:** Set follow-up actions — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-012 — Follow-up action tracking
**Type:** Positive
**Covers:** 3.2 → Follow-up action tracking; Rule: Note events (recorded, followed up) 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: Follow-up action tracking.
2. Observe the result and verify the full behavior: Follow-up action tracking.
**Expected Result:** Follow-up action tracking — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-013 — Follow-up completion status
**Type:** Positive
**Covers:** 3.2 → Follow-up completion status; Rule: The meeting notes and follow-ups 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: Follow-up completion status.
2. Observe the result and verify the full behavior: Follow-up completion status.
**Expected Result:** Follow-up completion status — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-014 — Notes available on web and mobile
**Type:** Positive
**Covers:** 3.2 → Notes 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: Notes available on web and mobile.
2. Observe the result and verify the full behavior: Notes available on web and mobile.
**Expected Result:** Notes available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-015 — Note event logging (recorded, followed up)
**Type:** Positive
**Covers:** 3.2 → Note event logging (recorded, followed up)
**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: Note event logging (recorded.
2. Observe the result and verify the full behavior: Note event logging (recorded, followed up).
**Expected Result:** Note event logging (recorded, followed up) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-016 — Audit logging of the meeting notes and follow-ups
**Type:** Positive
**Covers:** 3.2 → Audit logging of the meeting notes and follow-ups
**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 meeting notes and follow-ups.
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

## 3.3 Communication Preferences

### TC-PT-6-03-017 — Preferred communication channels (in-app, email)
**Type:** Positive
**Covers:** 3.3 → Preferred communication channels (in-app, email); Rule: The preferences are channels, times, and update types.
**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: Preferred communication channels (in-app.
2. Observe the result and verify the full behavior: Preferred communication channels (in-app, email).
**Expected Result:** Preferred communication channels (in-app, email) — delivered exactly as documented.
**Priority:** Critical

### TC-PT-6-03-018 — Preferred times for communication
**Type:** Positive
**Covers:** 3.3 → Preferred times for communication; Rule: The preferences are applied to teacher communication.
**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: Preferred times for communication.
2. Observe the result and verify the full behavior: Preferred times for communication.
**Expected Result:** Preferred times for communication — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-019 — Types of updates to receive
**Type:** Positive
**Covers:** 3.3 → Types of updates to receive; Rule: A preference change confirmation 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: Types of updates to receive.
2. Observe the result and verify the full behavior: Types of updates to receive.
**Expected Result:** Types of updates to receive — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-020 — Preferences applied to teacher communication
**Type:** Positive
**Covers:** 3.3 → Preferences applied to teacher communication; Rule: Preference events (set, changed) 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: Preferences applied to teacher communication.
2. Observe the result and verify the full behavior: Preferences applied to teacher communication.
**Expected Result:** Preferences applied to teacher communication — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-021 — Preference change confirmation
**Type:** Positive
**Covers:** 3.3 → Preference change confirmation; Rule: The communication preferences 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: Preference change confirmation.
2. Observe the result and verify the full behavior: Preference change confirmation.
**Expected Result:** Preference change confirmation — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-022 — Preferences available on web and mobile
**Type:** Positive
**Covers:** 3.3 → Preferences 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: Preferences available on web and mobile.
2. Observe the result and verify the full behavior: Preferences available on web and mobile.
**Expected Result:** Preferences available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-023 — Preference event logging (set, changed)
**Type:** Positive
**Covers:** 3.3 → Preference event logging (set, changed)
**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: Preference event logging (set.
2. Observe the result and verify the full behavior: Preference event logging (set, changed).
**Expected Result:** Preference event logging (set, changed) — delivered exactly as documented.
**Priority:** High

### TC-PT-6-03-024 — Audit logging of the communication preferences
**Type:** Positive
**Covers:** 3.3 → Audit logging of the communication preferences
**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 communication preferences.
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
