# 1. Subscription Plans & Selection — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: subscription_plans.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 Membership Plans Overview | List of available membership plans (Academic and Professional) | TC-ST-07-01-001 |
| 1.1 Membership Plans Overview | Plan pricing (grade-wise and subject-wise for Academic, course-wise for Professional) | TC-ST-07-01-002 |
| 1.1 Membership Plans Overview | Subjects and features included in each plan | TC-ST-07-01-003 |
| 1.1 Membership Plans Overview | Compare plans side by side | TC-ST-07-01-004 |
| 1.1 Membership Plans Overview | Highlight the Student's current plan | TC-ST-07-01-005 |
| 1.1 Membership Plans Overview | Plan availability by grade and subject | TC-ST-07-01-006 |
| 1.1 Membership Plans Overview | Plan detail view (what's included) | TC-ST-07-01-007 |
| 1.1 Membership Plans Overview | Plan event logging (viewed, compared) | TC-ST-07-01-008 |
| 1.1 Membership Plans Overview | Audit logging of the membership plans overview | TC-ST-07-01-009 |
| 1.1 Membership Plans Overview | Rule: Plans are configured by the platform; the Student views them, not edits them. | TC-ST-07-01-001 |
| 1.1 Membership Plans Overview | Rule: Academic pricing is grade-wise and subject-wise; Professional is course-wise. | TC-ST-07-01-002 |
| 1.1 Membership Plans Overview | Rule: A plan's included subjects and features are shown clearly. | TC-ST-07-01-003 |
| 1.1 Membership Plans Overview | Rule: The Student's current plan is highlighted in the list. | TC-ST-07-01-004 |
| 1.1 Membership Plans Overview | Rule: Plan events (viewed, compared) are logged with the plan and the timestamp. | TC-ST-07-01-005 |
| 1.1 Membership Plans Overview | Rule: The membership plans overview is audit-logged with the account, the plan, and the timestamp. | TC-ST-07-01-006 |
| 1.2 Subscribe to a Plan | Select a plan to subscribe to | TC-ST-07-01-010 |
| 1.2 Subscribe to a Plan | Choose subjects (Academic) or courses (Professional) | TC-ST-07-01-011 |
| 1.2 Subscribe to a Plan | Review the order (plan, subjects, price, duration) | TC-ST-07-01-012 |
| 1.2 Subscribe to a Plan | Complete payment (see Payments & Billing) | TC-ST-07-01-013 |
| 1.2 Subscribe to a Plan | Subscription activated on successful payment | TC-ST-07-01-014 |
| 1.2 Subscribe to a Plan | Access to included content granted on activation | TC-ST-07-01-015 |
| 1.2 Subscribe to a Plan | Confirmation of the new subscription | TC-ST-07-01-016 |
| 1.2 Subscribe to a Plan | Subscribe event logging (selected, order reviewed, activated) | TC-ST-07-01-017 |
| 1.2 Subscribe to a Plan | Audit logging of the subscribe to a plan | TC-ST-07-01-018 |
| 1.2 Subscribe to a Plan | Rule: A subscription requires a plan and the selected subjects/courses. | TC-ST-07-01-010 |
| 1.2 Subscribe to a Plan | Rule: The order is reviewed before payment. | TC-ST-07-01-011 |
| 1.2 Subscribe to a Plan | Rule: The subscription is activated only on successful payment. | TC-ST-07-01-012 |
| 1.2 Subscribe to a Plan | Rule: Access to included content is granted on activation. | TC-ST-07-01-013 |
| 1.2 Subscribe to a Plan | Rule: Subscribe events (selected, order reviewed, activated) are logged with the plan and the timestamp. | TC-ST-07-01-014 |
| 1.2 Subscribe to a Plan | Rule: The subscribe to a plan is audit-logged with the account, the plan, and the timestamp. | TC-ST-07-01-015 |
| 1.3 Upgrade and Add Subjects | Upgrade to a higher Academic plan | TC-ST-07-01-019 |
| 1.3 Upgrade and Add Subjects | Add new subjects to the current Academic subscription | TC-ST-07-01-020 |
| 1.3 Upgrade and Add Subjects | Pay the difference for an upgrade (where applicable) | TC-ST-07-01-021 |
| 1.3 Upgrade and Add Subjects | Upgrade takes effect immediately | TC-ST-07-01-022 |
| 1.3 Upgrade and Add Subjects | Access expands to the new plan/subjects | TC-ST-07-01-023 |
| 1.3 Upgrade and Add Subjects | Current plan and added subjects shown | TC-ST-07-01-024 |
| 1.3 Upgrade and Add Subjects | Upgrade event logging (upgraded, subject added) | TC-ST-07-01-025 |
| 1.3 Upgrade and Add Subjects | Audit logging of the upgrade and add subjects | TC-ST-07-01-026 |
| 1.3 Upgrade and Add Subjects | Rule: An upgrade moves the Student to a higher plan or adds subjects. | TC-ST-07-01-019 |
| 1.3 Upgrade and Add Subjects | Rule: The difference is paid where applicable. | TC-ST-07-01-020 |
| 1.3 Upgrade and Add Subjects | Rule: The upgrade takes effect immediately. | TC-ST-07-01-021 |
| 1.3 Upgrade and Add Subjects | Rule: Access expands to the new plan and subjects. | TC-ST-07-01-022 |
| 1.3 Upgrade and Add Subjects | Rule: Upgrade events (upgraded, subject added) are logged with the plan and the timestamp. | TC-ST-07-01-023 |
| 1.3 Upgrade and Add Subjects | Rule: The upgrade and add subjects is audit-logged with the account, the plan, and the timestamp. | TC-ST-07-01-024 |

## 1.1 Membership Plans Overview

### TC-ST-07-01-001 — List of available membership plans (Academic and Professional)
**Type:** Positive
**Covers:** 1.1 → List of available membership plans (Academic and Professional); Rule: Plans are configured by the platform; the Student views them, not edits them.
**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: List of available membership plans (Academic and Professional).
2. Observe the result and verify the full behavior: List of available membership plans (Academic and Professional).
**Expected Result:** List of available membership plans (Academic and Professional) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-07-01-002 — Plan pricing (grade-wise and subject-wise for Academic, course-wise for Professional)
**Type:** Positive
**Covers:** 1.1 → Plan pricing (grade-wise and subject-wise for Academic, course-wise for Professional); Rule: Academic pricing is grade-wise and subject-wise; Professional is course-wise.
**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: Plan pricing (grade-wise and subject-wise for Academic.
2. Observe the result and verify the full behavior: Plan pricing (grade-wise and subject-wise for Academic, course-wise for Professional).
**Expected Result:** Plan pricing (grade-wise and subject-wise for Academic, course-wise for Professional) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-003 — Subjects and features included in each plan
**Type:** Positive
**Covers:** 1.1 → Subjects and features included in each plan; Rule: A plan's included subjects and features are shown clearly.
**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: Subjects and features included in each plan.
2. Observe the result and verify the full behavior: Subjects and features included in each plan.
**Expected Result:** Subjects and features included in each plan — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-004 — Compare plans side by side
**Type:** Positive
**Covers:** 1.1 → Compare plans side by side; Rule: The Student's current plan is highlighted in the list.
**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: Compare plans side by side.
2. Observe the result and verify the full behavior: Compare plans side by side.
**Expected Result:** Compare plans side by side — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-005 — Highlight the Student's current plan
**Type:** Positive
**Covers:** 1.1 → Highlight the Student's current plan; Rule: Plan events (viewed, compared) are logged with the plan 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: Highlight the Student's current plan.
2. Observe the result and verify the full behavior: Highlight the Student's current plan.
**Expected Result:** Highlight the Student's current plan — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-006 — Plan availability by grade and subject
**Type:** Positive
**Covers:** 1.1 → Plan availability by grade and subject; Rule: The membership plans overview is audit-logged with the account, the plan, 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: Plan availability by grade and subject.
2. Observe the result and verify the full behavior: Plan availability by grade and subject.
**Expected Result:** Plan availability by grade and subject — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-007 — Plan detail view (what's included)
**Type:** Positive
**Covers:** 1.1 → Plan detail view (what's included)
**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: Plan detail view (what's included).
2. Observe the result and verify the full behavior: Plan detail view (what's included).
**Expected Result:** Plan detail view (what's included) — delivered exactly as documented.
**Priority:** High

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

### TC-ST-07-01-009 — Audit logging of the membership plans overview
**Type:** Positive
**Covers:** 1.1 → Audit logging of the membership plans overview
**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 membership plans overview.
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 Subscribe to a Plan

### TC-ST-07-01-010 — Select a plan to subscribe to
**Type:** Positive
**Covers:** 1.2 → Select a plan to subscribe to; Rule: A subscription requires a plan and the selected subjects/courses.
**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: Select a plan to subscribe to.
2. Observe the result and verify the full behavior: Select a plan to subscribe to.
**Expected Result:** Select a plan to subscribe to — delivered exactly as documented.
**Priority:** Critical

### TC-ST-07-01-011 — Choose subjects (Academic) or courses (Professional)
**Type:** Positive
**Covers:** 1.2 → Choose subjects (Academic) or courses (Professional); Rule: The order is reviewed before payment.
**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: Choose subjects (Academic) or courses (Professional).
2. Observe the result and verify the full behavior: Choose subjects (Academic) or courses (Professional).
**Expected Result:** Choose subjects (Academic) or courses (Professional) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-012 — Review the order (plan, subjects, price, duration)
**Type:** Positive
**Covers:** 1.2 → Review the order (plan, subjects, price, duration); Rule: The subscription is activated only on successful payment.
**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: Review the order (plan.
2. Observe the result and verify the full behavior: Review the order (plan, subjects, price, duration).
**Expected Result:** Review the order (plan, subjects, price, duration) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-013 — Complete payment (see Payments & Billing)
**Type:** Positive
**Covers:** 1.2 → Complete payment (see Payments & Billing); Rule: Access to included content is granted on activation.
**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: Complete payment (see Payments & Billing).
2. Observe the result and verify the full behavior: Complete payment (see Payments & Billing).
**Expected Result:** Complete payment (see Payments & Billing) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-014 — Subscription activated on successful payment
**Type:** Positive
**Covers:** 1.2 → Subscription activated on successful payment; Rule: Subscribe events (selected, order reviewed, activated) are logged with the plan 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: Subscription activated on successful payment.
2. Observe the result and verify the full behavior: Subscription activated on successful payment.
**Expected Result:** Subscription activated on successful payment — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-015 — Access to included content granted on activation
**Type:** Positive
**Covers:** 1.2 → Access to included content granted on activation; Rule: The subscribe to a plan is audit-logged with the account, the plan, 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: Access to included content granted on activation.
2. Observe the result and verify the full behavior: Access to included content granted on activation.
**Expected Result:** Access to included content granted on activation — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-016 — Confirmation of the new subscription
**Type:** Positive
**Covers:** 1.2 → Confirmation of the new subscription
**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: Confirmation of the new subscription.
2. Observe the result and verify the full behavior: Confirmation of the new subscription.
**Expected Result:** Confirmation of the new subscription — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-017 — Subscribe event logging (selected, order reviewed, activated)
**Type:** Positive
**Covers:** 1.2 → Subscribe event logging (selected, order reviewed, activated)
**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: Subscribe event logging (selected.
2. Observe the result and verify the full behavior: Subscribe event logging (selected, order reviewed, activated).
**Expected Result:** Subscribe event logging (selected, order reviewed, activated) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-018 — Audit logging of the subscribe to a plan
**Type:** Positive
**Covers:** 1.2 → Audit logging of the subscribe to a plan
**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 subscribe to a plan.
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 Upgrade and Add Subjects

### TC-ST-07-01-019 — Upgrade to a higher Academic plan
**Type:** Positive
**Covers:** 1.3 → Upgrade to a higher Academic plan; Rule: An upgrade moves the Student to a higher plan or adds subjects.
**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: Upgrade to a higher Academic plan.
2. Observe the result and verify the full behavior: Upgrade to a higher Academic plan.
**Expected Result:** Upgrade to a higher Academic plan — delivered exactly as documented.
**Priority:** Critical

### TC-ST-07-01-020 — Add new subjects to the current Academic subscription
**Type:** Positive
**Covers:** 1.3 → Add new subjects to the current Academic subscription; Rule: The difference is paid where applicable.
**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: Add new subjects to the current Academic subscription.
2. Observe the result and verify the full behavior: Add new subjects to the current Academic subscription.
**Expected Result:** Add new subjects to the current Academic subscription — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-021 — Pay the difference for an upgrade (where applicable)
**Type:** Positive
**Covers:** 1.3 → Pay the difference for an upgrade (where applicable); Rule: The upgrade takes effect immediately.
**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: Pay the difference for an upgrade (where applicable).
2. Observe the result and verify the full behavior: Pay the difference for an upgrade (where applicable).
**Expected Result:** Pay the difference for an upgrade (where applicable) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-022 — Upgrade takes effect immediately
**Type:** Positive
**Covers:** 1.3 → Upgrade takes effect immediately; Rule: Access expands to the new plan and subjects.
**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: Upgrade takes effect immediately.
2. Observe the result and verify the full behavior: Upgrade takes effect immediately.
**Expected Result:** Upgrade takes effect immediately — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-023 — Access expands to the new plan/subjects
**Type:** Positive
**Covers:** 1.3 → Access expands to the new plan/subjects; Rule: Upgrade events (upgraded, subject added) are logged with the plan 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: Access expands to the new plan/subjects.
2. Observe the result and verify the full behavior: Access expands to the new plan/subjects.
**Expected Result:** Access expands to the new plan/subjects — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-024 — Current plan and added subjects shown
**Type:** Positive
**Covers:** 1.3 → Current plan and added subjects shown; Rule: The upgrade and add subjects is audit-logged with the account, the plan, 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: Current plan and added subjects shown.
2. Observe the result and verify the full behavior: Current plan and added subjects shown.
**Expected Result:** Current plan and added subjects shown — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-025 — Upgrade event logging (upgraded, subject added)
**Type:** Positive
**Covers:** 1.3 → Upgrade event logging (upgraded, subject added)
**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: Upgrade event logging (upgraded.
2. Observe the result and verify the full behavior: Upgrade event logging (upgraded, subject added).
**Expected Result:** Upgrade event logging (upgraded, subject added) — delivered exactly as documented.
**Priority:** High

### TC-ST-07-01-026 — Audit logging of the upgrade and add subjects
**Type:** Positive
**Covers:** 1.3 → Audit logging of the upgrade and add subjects
**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 upgrade and add 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
