# 2. Managing Linked Children — Test Cases

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: managing_linked_children.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 |
|---------|--------------------|----------|
| 2.1 View Linked Children | List of linked children | TC-PT-2-02-001 |
| 2.1 View Linked Children | Child name, grade/class shown | TC-PT-2-02-002 |
| 2.1 View Linked Children | Recent activity summary per child | TC-PT-2-02-003 |
| 2.1 View Linked Children | Open a child's monitoring dashboard | TC-PT-2-02-004 |
| 2.1 View Linked Children | Search linked children | TC-PT-2-02-005 |
| 2.1 View Linked Children | List available on web and mobile | TC-PT-2-02-006 |
| 2.1 View Linked Children | List event logging (viewed) | TC-PT-2-02-007 |
| 2.1 View Linked Children | Audit logging of the view linked children | TC-PT-2-02-008 |
| 2.1 View Linked Children | Rule: The list shows all linked children. | TC-PT-2-02-001 |
| 2.1 View Linked Children | Rule: Each child shows name, grade, and recent activity. | TC-PT-2-02-002 |
| 2.1 View Linked Children | Rule: A child's dashboard opens from the list. | TC-PT-2-02-003 |
| 2.1 View Linked Children | Rule: List events (viewed) are logged with the account and the timestamp. | TC-PT-2-02-004 |
| 2.1 View Linked Children | Rule: The view linked children is audit-logged with the account and the timestamp. | TC-PT-2-02-005 |
| 2.2 Unlink a Child | Unlink a child's account | TC-PT-2-02-009 |
| 2.2 Unlink a Child | Unlink confirmation | TC-PT-2-02-010 |
| 2.2 Unlink a Child | Parent loses access to the child's dashboard on unlink | TC-PT-2-02-011 |
| 2.2 Unlink a Child | Child's account no longer associated with the Parent | TC-PT-2-02-012 |
| 2.2 Unlink a Child | Unlink event notification to the child | TC-PT-2-02-013 |
| 2.2 Unlink a Child | Unlink event logging (unlinked) | TC-PT-2-02-014 |
| 2.2 Unlink a Child | Audit logging of the unlink a child | TC-PT-2-02-015 |
| 2.2 Unlink a Child | Rule: Unlinking requires a confirmation. | TC-PT-2-02-009 |
| 2.2 Unlink a Child | Rule: The Parent loses access to the child's dashboard on unlink. | TC-PT-2-02-010 |
| 2.2 Unlink a Child | Rule: The child's account is no longer associated with the Parent. | TC-PT-2-02-011 |
| 2.2 Unlink a Child | Rule: Unlink events (unlinked) are logged with the account and the timestamp. | TC-PT-2-02-012 |
| 2.2 Unlink a Child | Rule: The unlink a child is audit-logged with the account and the timestamp. | TC-PT-2-02-013 |
| 2.3 Child Account Status | Child account status (active, inactive) | TC-PT-2-02-016 |
| 2.3 Child Account Status | Child subscription status | TC-PT-2-02-017 |
| 2.3 Child Account Status | Child last active time | TC-PT-2-02-018 |
| 2.3 Child Account Status | Alert on child subscription lapse | TC-PT-2-02-019 |
| 2.3 Child Account Status | Status per linked child | TC-PT-2-02-020 |
| 2.3 Child Account Status | Status available on web and mobile | TC-PT-2-02-021 |
| 2.3 Child Account Status | Status event logging (viewed) | TC-PT-2-02-022 |
| 2.3 Child Account Status | Audit logging of the child account status | TC-PT-2-02-023 |
| 2.3 Child Account Status | Rule: The status shows account, subscription, and last active. | TC-PT-2-02-016 |
| 2.3 Child Account Status | Rule: An alert is shown on a child subscription lapse. | TC-PT-2-02-017 |
| 2.3 Child Account Status | Rule: Status events (viewed) are logged with the account and the timestamp. | TC-PT-2-02-018 |
| 2.3 Child Account Status | Rule: The child account status is audit-logged with the account and the timestamp. | TC-PT-2-02-019 |

## 2.1 View Linked Children

### TC-PT-2-02-001 — List of linked children
**Type:** Positive
**Covers:** 2.1 → List of linked children; Rule: The list shows all linked children.
**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: List of linked children.
2. Observe the result and verify the full behavior: List of linked children.
**Expected Result:** List of linked children — delivered exactly as documented.
**Priority:** Critical

### TC-PT-2-02-002 — Child name, grade/class shown
**Type:** Positive
**Covers:** 2.1 → Child name, grade/class shown; Rule: Each child shows name, grade, and recent activity.
**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: Child name.
2. Observe the result and verify the full behavior: Child name, grade/class shown.
**Expected Result:** Child name, grade/class shown — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-003 — Recent activity summary per child
**Type:** Positive
**Covers:** 2.1 → Recent activity summary per child; Rule: A child's dashboard opens from the 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: Recent activity summary per child.
2. Observe the result and verify the full behavior: Recent activity summary per child.
**Expected Result:** Recent activity summary per child — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-004 — Open a child's monitoring dashboard
**Type:** Positive
**Covers:** 2.1 → Open a child's monitoring dashboard; Rule: List events (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: Open a child's monitoring dashboard.
2. Observe the result and verify the full behavior: Open a child's monitoring dashboard.
**Expected Result:** Open a child's monitoring dashboard — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-005 — Search linked children
**Type:** Positive
**Covers:** 2.1 → Search linked children; Rule: The view linked children 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: Search linked children.
2. Observe the result and verify the full behavior: Search linked children.
**Expected Result:** Search linked children — delivered exactly as documented.
**Priority:** High

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

### TC-PT-2-02-007 — List event logging (viewed)
**Type:** Positive
**Covers:** 2.1 → List event logging (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: List event logging (viewed).
2. Observe the result and verify the full behavior: List event logging (viewed).
**Expected Result:** List event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-008 — Audit logging of the view linked children
**Type:** Positive
**Covers:** 2.1 → Audit logging of the view linked children
**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 view linked children.
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

## 2.2 Unlink a Child

### TC-PT-2-02-009 — Unlink a child's account
**Type:** Positive
**Covers:** 2.2 → Unlink a child's account; Rule: Unlinking requires a confirmation.
**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: Unlink a child's account.
2. Observe the result and verify the full behavior: Unlink a child's account.
**Expected Result:** Unlink a child's account — delivered exactly as documented.
**Priority:** Critical

### TC-PT-2-02-010 — Unlink confirmation
**Type:** Positive
**Covers:** 2.2 → Unlink confirmation; Rule: The Parent loses access to the child's dashboard on unlink.
**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: Unlink confirmation.
2. Observe the result and verify the full behavior: Unlink confirmation.
**Expected Result:** Unlink confirmation — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-011 — Parent loses access to the child's dashboard on unlink
**Type:** Positive
**Covers:** 2.2 → Parent loses access to the child's dashboard on unlink; Rule: The child's account is no longer associated with 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: Parent loses access to the child's dashboard on unlink.
2. Observe the result and verify the full behavior: Parent loses access to the child's dashboard on unlink.
**Expected Result:** Parent loses access to the child's dashboard on unlink — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-012 — Child's account no longer associated with the Parent
**Type:** Positive
**Covers:** 2.2 → Child's account no longer associated with the Parent; Rule: Unlink events (unlinked) 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: Child's account no longer associated with the Parent.
2. Observe the result and verify the full behavior: Child's account no longer associated with the Parent.
**Expected Result:** Child's account no longer associated with the Parent — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-013 — Unlink event notification to the child
**Type:** Positive
**Covers:** 2.2 → Unlink event notification to the child; Rule: The unlink a child 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: Unlink event notification to the child.
2. Observe the result and verify the full behavior: Unlink event notification to the child.
**Expected Result:** Unlink event notification to the child — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-014 — Unlink event logging (unlinked)
**Type:** Positive
**Covers:** 2.2 → Unlink event logging (unlinked)
**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: Unlink event logging (unlinked).
2. Observe the result and verify the full behavior: Unlink event logging (unlinked).
**Expected Result:** Unlink event logging (unlinked) — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-015 — Audit logging of the unlink a child
**Type:** Positive
**Covers:** 2.2 → Audit logging of the unlink a child
**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 unlink a child.
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

## 2.3 Child Account Status

### TC-PT-2-02-016 — Child account status (active, inactive)
**Type:** Positive
**Covers:** 2.3 → Child account status (active, inactive); Rule: The status shows account, subscription, and last active.
**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: Child account status (active.
2. Observe the result and verify the full behavior: Child account status (active, inactive).
**Expected Result:** Child account status (active, inactive) — delivered exactly as documented.
**Priority:** Critical

### TC-PT-2-02-017 — Child subscription status
**Type:** Positive
**Covers:** 2.3 → Child subscription status; Rule: An alert is shown on a child subscription lapse.
**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: Child subscription status.
2. Observe the result and verify the full behavior: Child subscription status.
**Expected Result:** Child subscription status — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-018 — Child last active time
**Type:** Positive
**Covers:** 2.3 → Child last active time; Rule: Status events (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: Child last active time.
2. Observe the result and verify the full behavior: Child last active time.
**Expected Result:** Child last active time — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-019 — Alert on child subscription lapse
**Type:** Positive
**Covers:** 2.3 → Alert on child subscription lapse; Rule: The child account status 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: Alert on child subscription lapse.
2. Observe the result and verify the full behavior: Alert on child subscription lapse.
**Expected Result:** Alert on child subscription lapse — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-020 — Status per linked child
**Type:** Positive
**Covers:** 2.3 → Status per linked child
**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: Status per linked child.
2. Observe the result and verify the full behavior: Status per linked child.
**Expected Result:** Status per linked child — delivered exactly as documented.
**Priority:** High

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

### TC-PT-2-02-022 — Status event logging (viewed)
**Type:** Positive
**Covers:** 2.3 → Status event logging (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: Status event logging (viewed).
2. Observe the result and verify the full behavior: Status event logging (viewed).
**Expected Result:** Status event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-PT-2-02-023 — Audit logging of the child account status
**Type:** Positive
**Covers:** 2.3 → Audit logging of the child account status
**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 child account status.
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
