# 1. Child Subscription Management — Test Cases

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: child_subscription_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 |
|---------|--------------------|----------|
| 1.1 Purchase a Subscription for the Child | Select a subscription plan | TC-PT-8-01-001 |
| 1.1 Purchase a Subscription for the Child | Select the subjects for the subscription | TC-PT-8-01-002 |
| 1.1 Purchase a Subscription for the Child | Select the subscription duration | TC-PT-8-01-003 |
| 1.1 Purchase a Subscription for the Child | Complete the payment | TC-PT-8-01-004 |
| 1.1 Purchase a Subscription for the Child | Subscription applied to the child's account | TC-PT-8-01-005 |
| 1.1 Purchase a Subscription for the Child | Purchase confirmation to the Parent | TC-PT-8-01-006 |
| 1.1 Purchase a Subscription for the Child | Purchase available on web and mobile | TC-PT-8-01-007 |
| 1.1 Purchase a Subscription for the Child | Purchase event logging (initiated, completed) | TC-PT-8-01-008 |
| 1.1 Purchase a Subscription for the Child | Audit logging of the purchase a subscription for the child | TC-PT-8-01-009 |
| 1.1 Purchase a Subscription for the Child | Rule: The subscription is for the child's account. | TC-PT-8-01-001 |
| 1.1 Purchase a Subscription for the Child | Rule: The subjects and duration are selectable. | TC-PT-8-01-002 |
| 1.1 Purchase a Subscription for the Child | Rule: A purchase confirmation is shown. | TC-PT-8-01-003 |
| 1.1 Purchase a Subscription for the Child | Rule: Purchase events (initiated, completed) are logged with the account and the timestamp. | TC-PT-8-01-004 |
| 1.1 Purchase a Subscription for the Child | Rule: The purchase a subscription for the child is audit-logged with the account and the timestamp. | TC-PT-8-01-005 |
| 1.2 Add or Remove Subjects | Add subjects to the child's subscription | TC-PT-8-01-010 |
| 1.2 Add or Remove Subjects | Remove subjects from the child's subscription | TC-PT-8-01-011 |
| 1.2 Add or Remove Subjects | Change applied to the child's access | TC-PT-8-01-012 |
| 1.2 Add or Remove Subjects | Billing adjusted for the change | TC-PT-8-01-013 |
| 1.2 Add or Remove Subjects | Subject change confirmation | TC-PT-8-01-014 |
| 1.2 Add or Remove Subjects | Subject change history | TC-PT-8-01-015 |
| 1.2 Add or Remove Subjects | Changes available on web and mobile | TC-PT-8-01-016 |
| 1.2 Add or Remove Subjects | Change event logging (added, removed) | TC-PT-8-01-017 |
| 1.2 Add or Remove Subjects | Audit logging of the add or remove subjects | TC-PT-8-01-018 |
| 1.2 Add or Remove Subjects | Rule: The subjects can be added or removed. | TC-PT-8-01-010 |
| 1.2 Add or Remove Subjects | Rule: The change is applied to the child's access. | TC-PT-8-01-011 |
| 1.2 Add or Remove Subjects | Rule: The billing is adjusted where applicable. | TC-PT-8-01-012 |
| 1.2 Add or Remove Subjects | Rule: Change events (added, removed) are logged with the account and the timestamp. | TC-PT-8-01-013 |
| 1.2 Add or Remove Subjects | Rule: The add or remove subjects is audit-logged with the account and the timestamp. | TC-PT-8-01-014 |
| 1.3 View Subscription Details | Subscription plan details | TC-PT-8-01-019 |
| 1.3 View Subscription Details | Subjects included in the subscription | TC-PT-8-01-020 |
| 1.3 View Subscription Details | Start and end dates | TC-PT-8-01-021 |
| 1.3 View Subscription Details | Renewal date | TC-PT-8-01-022 |
| 1.3 View Subscription Details | Subscription status (active, expiring, expired) | TC-PT-8-01-023 |
| 1.3 View Subscription Details | Details available on web and mobile | TC-PT-8-01-024 |
| 1.3 View Subscription Details | Detail event logging (viewed) | TC-PT-8-01-025 |
| 1.3 View Subscription Details | Audit logging of the view subscription details | TC-PT-8-01-026 |
| 1.3 View Subscription Details | Rule: The details include plan, subjects, dates, and status. | TC-PT-8-01-019 |
| 1.3 View Subscription Details | Rule: The renewal date is shown. | TC-PT-8-01-020 |
| 1.3 View Subscription Details | Rule: Detail events (viewed) are logged with the account and the timestamp. | TC-PT-8-01-021 |
| 1.3 View Subscription Details | Rule: The view subscription details is audit-logged with the account and the timestamp. | TC-PT-8-01-022 |

## 1.1 Purchase a Subscription for the Child

### TC-PT-8-01-001 — Select a subscription plan
**Type:** Positive
**Covers:** 1.1 → Select a subscription plan; Rule: The subscription is for the child's account.
**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: Select a subscription plan.
2. Observe the result and verify the full behavior: Select a subscription plan.
**Expected Result:** Select a subscription plan — delivered exactly as documented.
**Priority:** Critical

### TC-PT-8-01-002 — Select the subjects for the subscription
**Type:** Positive
**Covers:** 1.1 → Select the subjects for the subscription; Rule: The subjects and duration are selectable.
**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: Select the subjects for the subscription.
2. Observe the result and verify the full behavior: Select the subjects for the subscription.
**Expected Result:** Select the subjects for the subscription — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-003 — Select the subscription duration
**Type:** Positive
**Covers:** 1.1 → Select the subscription duration; Rule: A purchase 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: Select the subscription duration.
2. Observe the result and verify the full behavior: Select the subscription duration.
**Expected Result:** Select the subscription duration — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-004 — Complete the payment
**Type:** Positive
**Covers:** 1.1 → Complete the payment; Rule: Purchase events (initiated, completed) 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: Complete the payment.
2. Observe the result and verify the full behavior: Complete the payment.
**Expected Result:** Complete the payment — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-005 — Subscription applied to the child's account
**Type:** Positive
**Covers:** 1.1 → Subscription applied to the child's account; Rule: The purchase a subscription for the 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: Subscription applied to the child's account.
2. Observe the result and verify the full behavior: Subscription applied to the child's account.
**Expected Result:** Subscription applied to the child's account — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-006 — Purchase confirmation to the Parent
**Type:** Positive
**Covers:** 1.1 → Purchase confirmation to 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: Purchase confirmation to the Parent.
2. Observe the result and verify the full behavior: Purchase confirmation to the Parent.
**Expected Result:** Purchase confirmation to the Parent — delivered exactly as documented.
**Priority:** High

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

### TC-PT-8-01-008 — Purchase event logging (initiated, completed)
**Type:** Positive
**Covers:** 1.1 → Purchase event logging (initiated, completed)
**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: Purchase event logging (initiated.
2. Observe the result and verify the full behavior: Purchase event logging (initiated, completed).
**Expected Result:** Purchase event logging (initiated, completed) — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-009 — Audit logging of the purchase a subscription for the child
**Type:** Positive
**Covers:** 1.1 → Audit logging of the purchase a subscription for the 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 purchase a subscription for the 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

## 1.2 Add or Remove Subjects

### TC-PT-8-01-010 — Add subjects to the child's subscription
**Type:** Positive
**Covers:** 1.2 → Add subjects to the child's subscription; Rule: The subjects can be added or removed.
**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: Add subjects to the child's subscription.
2. Observe the result and verify the full behavior: Add subjects to the child's subscription.
**Expected Result:** Add subjects to the child's subscription — delivered exactly as documented.
**Priority:** Critical

### TC-PT-8-01-011 — Remove subjects from the child's subscription
**Type:** Positive
**Covers:** 1.2 → Remove subjects from the child's subscription; Rule: The change is applied to the child's access.
**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: Remove subjects from the child's subscription.
2. Observe the result and verify the full behavior: Remove subjects from the child's subscription.
**Expected Result:** Remove subjects from the child's subscription — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-012 — Change applied to the child's access
**Type:** Positive
**Covers:** 1.2 → Change applied to the child's access; Rule: The billing is adjusted where applicable.
**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: Change applied to the child's access.
2. Observe the result and verify the full behavior: Change applied to the child's access.
**Expected Result:** Change applied to the child's access — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-013 — Billing adjusted for the change
**Type:** Positive
**Covers:** 1.2 → Billing adjusted for the change; Rule: Change events (added, removed) 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: Billing adjusted for the change.
2. Observe the result and verify the full behavior: Billing adjusted for the change.
**Expected Result:** Billing adjusted for the change — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-014 — Subject change confirmation
**Type:** Positive
**Covers:** 1.2 → Subject change confirmation; Rule: The add or remove subjects 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: Subject change confirmation.
2. Observe the result and verify the full behavior: Subject change confirmation.
**Expected Result:** Subject change confirmation — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-015 — Subject change history
**Type:** Positive
**Covers:** 1.2 → Subject change history
**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: Subject change history.
2. Observe the result and verify the full behavior: Subject change history.
**Expected Result:** Subject change history — delivered exactly as documented.
**Priority:** High

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

### TC-PT-8-01-017 — Change event logging (added, removed)
**Type:** Positive
**Covers:** 1.2 → Change event logging (added, removed)
**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: Change event logging (added.
2. Observe the result and verify the full behavior: Change event logging (added, removed).
**Expected Result:** Change event logging (added, removed) — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-018 — Audit logging of the add or remove subjects
**Type:** Positive
**Covers:** 1.2 → Audit logging of the add or remove subjects
**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 add or remove subjects.
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 View Subscription Details

### TC-PT-8-01-019 — Subscription plan details
**Type:** Positive
**Covers:** 1.3 → Subscription plan details; Rule: The details include plan, subjects, dates, and status.
**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: Subscription plan details.
2. Observe the result and verify the full behavior: Subscription plan details.
**Expected Result:** Subscription plan details — delivered exactly as documented.
**Priority:** Critical

### TC-PT-8-01-020 — Subjects included in the subscription
**Type:** Positive
**Covers:** 1.3 → Subjects included in the subscription; Rule: The renewal date 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: Subjects included in the subscription.
2. Observe the result and verify the full behavior: Subjects included in the subscription.
**Expected Result:** Subjects included in the subscription — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-021 — Start and end dates
**Type:** Positive
**Covers:** 1.3 → Start and end dates; Rule: Detail 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: Start and end dates.
2. Observe the result and verify the full behavior: Start and end dates.
**Expected Result:** Start and end dates — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-022 — Renewal date
**Type:** Positive
**Covers:** 1.3 → Renewal date; Rule: The view subscription details 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: Renewal date.
2. Observe the result and verify the full behavior: Renewal date.
**Expected Result:** Renewal date — delivered exactly as documented.
**Priority:** High

### TC-PT-8-01-023 — Subscription status (active, expiring, expired)
**Type:** Edge
**Covers:** 1.3 → Subscription status (active, expiring, expired)
**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: Subscription status (active.
2. Observe the result and verify the full behavior: Subscription status (active, expiring, expired).
**Expected Result:** Subscription status (active, expiring, expired) — delivered exactly as documented.
**Priority:** High

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

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

### TC-PT-8-01-026 — Audit logging of the view subscription details
**Type:** Positive
**Covers:** 1.3 → Audit logging of the view subscription details
**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 subscription details.
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
