# 1. Academic Subscription Plans — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: academic_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 Single Subject Subscriptions | Single-subject plan: the plan for one subject (the subject, the period, the price) | TC-SA-11-01-001 |
| 1.1 Single Subject Subscriptions | Subject scope: the access limited to the one subject (the content, the assessments, the resources) | TC-SA-11-01-002 |
| 1.1 Single Subject Subscriptions | Billing period: the subscription duration (the monthly, the quarterly, etc.) | TC-SA-11-01-003 |
| 1.1 Single Subject Subscriptions | Plan definition: the plan defined by the Super Admin (the subject, the period, the price) | TC-SA-11-01-001 |
| 1.1 Single Subject Subscriptions | Subscription activation: the access granted on the subscription (the subject's content available) | TC-SA-11-01-004 |
| 1.1 Single Subject Subscriptions | Subscription expiry: the access ending at the period end (the renewal prompt) | TC-SA-11-01-005 |
| 1.1 Single Subject Subscriptions | Audit logging of the plan definition and the subscriptions | TC-SA-11-01-006 |
| 1.1 Single Subject Subscriptions | Rule: the single-subject plan is for one subject; the access is limited to that subject (the content, the assessments, the resources) | TC-SA-11-01-002 |
| 1.1 Single Subject Subscriptions | Rule: the billing period is the duration (the monthly, the quarterly); the access ends at the period end | TC-SA-11-01-003, TC-SA-11-01-005 |
| 1.1 Single Subject Subscriptions | Rule: the subscription activation grants the access (the subject's content available); the expiry ends it (the renewal prompt) | TC-SA-11-01-004, TC-SA-11-01-005 |
| 1.1 Single Subject Subscriptions | Rule: a plan adjustment (the price, the period) is recorded (the change, the time); it is auditable | TC-SA-11-01-007 |
| 1.1 Single Subject Subscriptions | Rule: the single-subject subscriptions are visible (the count, the subjects, the periods); the demand is managed | TC-SA-11-01-008 |
| 1.1 Single Subject Subscriptions | Rule: plan definition and subscriptions are audit-logged with the plan, subject, and timestamp | TC-SA-11-01-006 |
| 1.2 Multiple Subjects Bundles (Discounted) | Bundle plan: the plan for a set of subjects (the subjects, the discount, the period) | TC-SA-11-01-009 |
| 1.2 Multiple Subjects Bundles (Discounted) | Bundle discount: the bundle price is lower than the individual subscriptions | TC-SA-11-01-010 |
| 1.2 Multiple Subjects Bundles (Discounted) | Subject set: the subjects in the bundle (the combination) | TC-SA-11-01-011 |
| 1.2 Multiple Subjects Bundles (Discounted) | Bundle definition: the bundle defined by the Super Admin (the subjects, the discount, the period) | TC-SA-11-01-009 |
| 1.2 Multiple Subjects Bundles (Discounted) | Subscription activation: the access granted to the bundle's subjects (the content available) | TC-SA-11-01-012 |
| 1.2 Multiple Subjects Bundles (Discounted) | Bundle expiry: the access ending at the period end (the renewal prompt) | TC-SA-11-01-013 |
| 1.2 Multiple Subjects Bundles (Discounted) | Audit logging of the bundle definition and the subscriptions | TC-SA-11-01-014 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: the bundle is for a set of subjects (two or more); the access is to the bundle's subjects | TC-SA-11-01-011 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: the bundle discount is the price advantage (the bundle is cheaper than the individual); the discount is the incentive | TC-SA-11-01-010 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: the subject set is the combination (the subjects in the bundle); it is explicit | TC-SA-11-01-011 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: the subscription activation grants the access (the bundle's subjects available); the expiry ends it (the renewal prompt) | TC-SA-11-01-012, TC-SA-11-01-013 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: a bundle adjustment (the discount, the period) is recorded (the change, the time); it is auditable | TC-SA-11-01-015 |
| 1.2 Multiple Subjects Bundles (Discounted) | Rule: bundle definition and subscriptions are audit-logged with the bundle, subjects, and timestamp | TC-SA-11-01-014 |
| 1.3 Full Grade Access (All Subjects) | Full-grade plan: the plan for all the subjects of a grade (the grade, the period, the price) | TC-SA-11-01-016 |
| 1.3 Full Grade Access (All Subjects) | Grade scope: the access to all the subjects of the grade (the content, the assessments, the resources) | TC-SA-11-01-017 |
| 1.3 Full Grade Access (All Subjects) | Billing period: the subscription duration (the monthly, the quarterly, etc.) | TC-SA-11-01-018 |
| 1.3 Full Grade Access (All Subjects) | Plan definition: the plan defined by the Super Admin (the grade, the period, the price) | TC-SA-11-01-016 |
| 1.3 Full Grade Access (All Subjects) | Subscription activation: the access granted (the grade's content available) | TC-SA-11-01-019 |
| 1.3 Full Grade Access (All Subjects) | Subscription expiry: the access ending at the period end (the renewal prompt) | TC-SA-11-01-020 |
| 1.3 Full Grade Access (All Subjects) | Audit logging of the plan definition and the subscriptions | TC-SA-11-01-021 |
| 1.3 Full Grade Access (All Subjects) | Rule: the full-grade plan is for all the subjects of a grade; the access is to the grade's content (the subjects, the assessments, the resources) | TC-SA-11-01-017 |
| 1.3 Full Grade Access (All Subjects) | Rule: the billing period is the duration (the monthly, the quarterly); the access ends at the period end | TC-SA-11-01-018, TC-SA-11-01-020 |
| 1.3 Full Grade Access (All Subjects) | Rule: the subscription activation grants the access (the grade's content available); the expiry ends it (the renewal prompt) | TC-SA-11-01-019, TC-SA-11-01-020 |
| 1.3 Full Grade Access (All Subjects) | Rule: a plan adjustment (the price, the period) is recorded (the change, the time); it is auditable | TC-SA-11-01-022 |
| 1.3 Full Grade Access (All Subjects) | Rule: the full-grade subscriptions are visible (the count, the grades, the periods); the demand is managed | TC-SA-11-01-023 |
| 1.3 Full Grade Access (All Subjects) | Rule: plan definition and subscriptions are audit-logged with the plan, grade, and timestamp | TC-SA-11-01-021 |
| 1.4 Custom Subject Combinations | Custom combination: the custom set of subjects (the selection, not a predefined bundle) | TC-SA-11-01-024 |
| 1.4 Custom Subject Combinations | Subject selection: the subjects selected (the combination) | TC-SA-11-01-025 |
| 1.4 Custom Subject Combinations | Custom pricing: the pricing for the combination (the price reflects the subjects) | TC-SA-11-01-026 |
| 1.4 Custom Subject Combinations | Combination definition: the combination defined (the subjects, the price) | TC-SA-11-01-024 |
| 1.4 Custom Subject Combinations | Subscription activation: the access granted to the combination's subjects (the content available) | TC-SA-11-01-027 |
| 1.4 Custom Subject Combinations | Combination expiry: the access ending at the period end (the renewal prompt) | TC-SA-11-01-028 |
| 1.4 Custom Subject Combinations | Audit logging of the combination and the subscriptions | TC-SA-11-01-029 |
| 1.4 Custom Subject Combinations | Rule: the custom combination is a custom set of subjects (not a predefined bundle); the selection is explicit | TC-SA-11-01-025 |
| 1.4 Custom Subject Combinations | Rule: the custom pricing reflects the combination (the subjects, the period); the price is the value | TC-SA-11-01-026 |
| 1.4 Custom Subject Combinations | Rule: the subscription activation grants the access (the combination's subjects available); the expiry ends it (the renewal prompt) | TC-SA-11-01-027, TC-SA-11-01-028 |
| 1.4 Custom Subject Combinations | Rule: a recurring custom combination can be productized (made a standard bundle); the change is recorded | TC-SA-11-01-030 |
| 1.4 Custom Subject Combinations | Rule: the custom combinations are visible (the count, the combinations, the periods); the demand is managed | TC-SA-11-01-031 |
| 1.4 Custom Subject Combinations | Rule: combination and subscriptions are audit-logged with the combination, subjects, and timestamp | TC-SA-11-01-029 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Billing periods: the monthly, the quarterly, the semi-annual, and the annual | TC-SA-11-01-032 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Period duration: the duration of the period (the months) | TC-SA-11-01-033 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Period pricing: the price per period (the price reflects the duration) | TC-SA-11-01-034 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Period value: the longer periods offer the value (the annual is cheaper per month) | TC-SA-11-01-035 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Period selection: the learner chooses the period (the duration that fits) | TC-SA-11-01-036 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Period renewal: the renewal at the period end (the continuation) | TC-SA-11-01-037 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Audit logging of the period definition and the subscriptions | TC-SA-11-01-038 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: the billing periods are the monthly, the quarterly, the semi-annual, and the annual; the duration is the period | TC-SA-11-01-032, TC-SA-11-01-033 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: the period pricing reflects the duration (the price per period); the longer periods offer the value (the annual is cheaper per month) | TC-SA-11-01-034, TC-SA-11-01-035 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: the period selection is the learner's choice (the duration that fits); the billing is flexible | TC-SA-11-01-036 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: the period renewal is at the period end (the continuation); the expiry ends the access | TC-SA-11-01-037 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: a period adjustment (the price, the duration) is recorded (the change, the time); it is auditable | TC-SA-11-01-039 |
| 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual) | Rule: period definition and subscriptions are audit-logged with the period, plan, and timestamp | TC-SA-11-01-038 |

## 1.1 Single Subject Subscriptions

### TC-SA-11-01-001 — Single-subject plan: the plan for one subject (the subject, the period, the price)
**Type:** Positive
**Covers:** 1.1 → Single-subject plan: the plan for one subject (the subject, the period, the price); Plan definition: the plan defined by the Super Admin (the subject, the period, the price)
**Preconditions:** The Super Admin opens the academic subscription plans.
**Steps:**
1. Define the single-subject plan: the subject (the one the learner subscribes to), the billing period (the monthly, the quarterly), and the price.
2. Save the plan.
3. Verify the plan is live and a learner can subscribe to the single subject.
**Expected Result:** The single-subject plan is defined (the subject, the period, the price) — the plan is live and subscribable.
**Priority:** Critical

### TC-SA-11-01-002 — Subject scope: the access limited to the one subject (the content, the assessments, the resources)
**Type:** Negative
**Covers:** 1.1 → Subject scope: the access limited to the one subject (the content, the assessments, the resources); Rule: the single-subject plan is for one subject; the access is limited to that subject
**Preconditions:** A learner has subscribed to a single-subject plan (e.g., Mathematics).
**Steps:**
1. As the learner, access the subscribed subject's content, assessments, and resources.
2. Attempt to access a different subject's content.
3. Verify the access is limited to the one subject (the other subjects are not included).
**Expected Result:** The access is limited to the one subject — the other subjects are not accessible.
**Priority:** Critical

### TC-SA-11-01-003 — Billing period: the subscription duration (the monthly, the quarterly, etc.)
**Type:** Positive
**Covers:** 1.1 → Billing period: the subscription duration (the monthly, the quarterly, etc.); Rule: the billing period is the duration (the monthly, the quarterly); the access ends at the period end
**Preconditions:** A single-subject plan is defined with a billing period.
**Steps:**
1. Verify the billing period is set (the monthly, the quarterly).
2. Verify the subscription duration matches the billing period.
**Expected Result:** The billing period is the duration — the subscription lasts for the defined period.
**Priority:** High

### TC-SA-11-01-004 — Subscription activation: the access granted on the subscription (the subject's content available)
**Type:** Positive
**Covers:** 1.1 → Subscription activation: the access granted on the subscription (the subject's content available); Rule: the subscription activation grants the access (the subject's content available)
**Preconditions:** A learner subscribes to a single-subject plan.
**Steps:**
1. Subscribe to the single-subject plan.
2. Verify the access is granted (the subject's content is available for the period).
**Expected Result:** The access is granted on the subscription — the subject's content is available.
**Priority:** Critical

### TC-SA-11-01-005 — Subscription expiry: the access ending at the period end (the renewal prompt)
**Type:** Edge
**Covers:** 1.1 → Subscription expiry: the access ending at the period end (the renewal prompt); Rule: the expiry ends it (the renewal prompt)
**Preconditions:** A single-subject subscription is active and the period is ending.
**Steps:**
1. Wait for the period end.
2. Verify the access ends at the period end.
3. Verify the learner is prompted to renew (the renewal is the continuation).
**Expected Result:** The access ends at the period end — the learner is prompted to renew.
**Priority:** Critical

### TC-SA-11-01-006 — Plan definition and subscriptions are audit-logged with the plan, subject, and timestamp
**Type:** Positive
**Covers:** 1.1 → Audit logging of the plan definition and the subscriptions; Rule: plan definition and subscriptions are audit-logged with the plan, subject, and timestamp
**Preconditions:** Plan definition and subscription events have occurred.
**Steps:**
1. Open the audit trail and filter by "single-subject plan".
2. Verify entries show the plan, the subject, and the timestamp.
**Expected Result:** The plan definition and subscriptions are audit-logged with the plan, subject, and timestamp.
**Priority:** Critical

### TC-SA-11-01-007 — A plan adjustment (the price, the period) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 1.1 → Rule: a plan adjustment (the price, the period) is recorded (the change, the time); it is auditable
**Preconditions:** A single-subject plan is live.
**Steps:**
1. Adjust the plan (change the price, the period).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The plan adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

### TC-SA-11-01-008 — The single-subject subscriptions are visible (the count, the subjects, the periods); the demand is managed
**Type:** Positive
**Covers:** 1.1 → Rule: the single-subject subscriptions are visible (the count, the subjects, the periods); the demand is managed
**Preconditions:** Multiple single-subject subscriptions exist.
**Steps:**
1. Open the single-subject subscriptions view.
2. Verify the count, the subjects, and the periods are visible.
3. Verify the single-subject demand is visible.
**Expected Result:** The single-subject subscriptions are visible (the count, the subjects, the periods) — the demand is managed.
**Priority:** Medium

## 1.2 Multiple Subjects Bundles (Discounted)

### TC-SA-11-01-009 — Bundle plan: the plan for a set of subjects (the subjects, the discount, the period)
**Type:** Positive
**Covers:** 1.2 → Bundle plan: the plan for a set of subjects (the subjects, the discount, the period); Bundle definition: the bundle defined by the Super Admin (the subjects, the discount, the period)
**Preconditions:** The Super Admin opens the academic subscription plans.
**Steps:**
1. Define the multiple-subjects bundle: the subjects (the combination), the discount (the bundle price is lower than the individual), and the period.
2. Save the bundle.
3. Verify the bundle is live and a learner can subscribe to it.
**Expected Result:** The bundle is defined (the subjects, the discount, the period) — the bundle is live and subscribable.
**Priority:** Critical

### TC-SA-11-01-010 — Bundle discount: the bundle price is lower than the individual subscriptions
**Type:** Negative
**Covers:** 1.2 → Bundle discount: the bundle price is lower than the individual subscriptions; Rule: the bundle discount is the price advantage (the bundle is cheaper than the individual); the discount is the incentive
**Preconditions:** A bundle is defined with a discount.
**Steps:**
1. Compare the bundle price to the sum of the individual subscriptions for the same subjects.
2. Verify the bundle price is lower than the individual subscriptions.
3. Verify the discount is the incentive.
**Expected Result:** The bundle price is lower than the individual subscriptions — the discount is the incentive.
**Priority:** Critical

### TC-SA-11-01-011 — Subject set: the subjects in the bundle (the combination); it is explicit
**Type:** Positive
**Covers:** 1.2 → Subject set: the subjects in the bundle (the combination); Rule: the bundle is for a set of subjects (two or more); the access is to the bundle's subjects; the subject set is the combination; it is explicit
**Preconditions:** A bundle is defined.
**Steps:**
1. Verify the subject set is explicit (the subjects in the bundle).
2. Verify the bundle is for a set of subjects (two or more).
3. Verify the access is to the bundle's subjects.
**Expected Result:** The subject set is explicit — the bundle is for a set of subjects (two or more); the access is to the bundle's subjects.
**Priority:** High

### TC-SA-11-01-012 — Subscription activation: the access granted to the bundle's subjects (the content available)
**Type:** Positive
**Covers:** 1.2 → Subscription activation: the access granted to the bundle's subjects (the content available); Rule: the subscription activation grants the access (the bundle's subjects available)
**Preconditions:** A learner subscribes to a bundle.
**Steps:**
1. Subscribe to the bundle.
2. Verify the access is granted to the bundle's subjects (the content is available for the period).
**Expected Result:** The access is granted to the bundle's subjects — the content is available for the period.
**Priority:** Critical

### TC-SA-11-01-013 — Bundle expiry: the access ending at the period end (the renewal prompt)
**Type:** Edge
**Covers:** 1.2 → Bundle expiry: the access ending at the period end (the renewal prompt); Rule: the expiry ends it (the renewal prompt)
**Preconditions:** A bundle subscription is active and the period is ending.
**Steps:**
1. Wait for the period end.
2. Verify the access ends at the period end.
3. Verify the learner is prompted to renew.
**Expected Result:** The access ends at the period end — the learner is prompted to renew.
**Priority:** Critical

### TC-SA-11-01-014 — Bundle definition and subscriptions are audit-logged with the bundle, subjects, and timestamp
**Type:** Positive
**Covers:** 1.2 → Audit logging of the bundle definition and the subscriptions; Rule: bundle definition and subscriptions are audit-logged with the bundle, subjects, and timestamp
**Preconditions:** Bundle definition and subscription events have occurred.
**Steps:**
1. Open the audit trail and filter by "subject bundle".
2. Verify entries show the bundle, the subjects, and the timestamp.
**Expected Result:** The bundle definition and subscriptions are audit-logged with the bundle, subjects, and timestamp.
**Priority:** Critical

### TC-SA-11-01-015 — A bundle adjustment (the discount, the period) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 1.2 → Rule: a bundle adjustment (the discount, the period) is recorded (the change, the time); it is auditable
**Preconditions:** A bundle is live.
**Steps:**
1. Adjust the bundle (change the discount, the period).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The bundle adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

## 1.3 Full Grade Access (All Subjects)

### TC-SA-11-01-016 — Full-grade plan: the plan for all the subjects of a grade (the grade, the period, the price)
**Type:** Positive
**Covers:** 1.3 → Full-grade plan: the plan for all the subjects of a grade (the grade, the period, the price); Plan definition: the plan defined by the Super Admin (the grade, the period, the price)
**Preconditions:** The Super Admin opens the academic subscription plans.
**Steps:**
1. Define the full-grade plan: the grade (the one the learner subscribes to), the billing period (the monthly, the quarterly), and the price.
2. Save the plan.
3. Verify the plan is live and a learner can subscribe to the full grade.
**Expected Result:** The full-grade plan is defined (the grade, the period, the price) — the plan is live and subscribable.
**Priority:** Critical

### TC-SA-11-01-017 — Grade scope: the access to all the subjects of the grade (the content, the assessments, the resources)
**Type:** Negative
**Covers:** 1.3 → Grade scope: the access to all the subjects of the grade (the content, the assessments, the resources); Rule: the full-grade plan is for all the subjects of a grade; the access is to the grade's content
**Preconditions:** A learner has subscribed to a full-grade plan (e.g., Grade 10).
**Steps:**
1. As the learner, access all the subjects of the grade (the content, the assessments, the resources).
2. Attempt to access a different grade's content.
3. Verify the access is to all the subjects of the grade (the other grades are not included).
**Expected Result:** The access is to all the subjects of the grade — the other grades are not accessible.
**Priority:** Critical

### TC-SA-11-01-018 — Billing period: the subscription duration (the monthly, the quarterly, etc.)
**Type:** Positive
**Covers:** 1.3 → Billing period: the subscription duration (the monthly, the quarterly, etc.); Rule: the billing period is the duration (the monthly, the quarterly); the access ends at the period end
**Preconditions:** A full-grade plan is defined with a billing period.
**Steps:**
1. Verify the billing period is set (the monthly, the quarterly).
2. Verify the subscription duration matches the billing period.
**Expected Result:** The billing period is the duration — the subscription lasts for the defined period.
**Priority:** High

### TC-SA-11-01-019 — Subscription activation: the access granted (the grade's content available)
**Type:** Positive
**Covers:** 1.3 → Subscription activation: the access granted (the grade's content available); Rule: the subscription activation grants the access (the grade's content available)
**Preconditions:** A learner subscribes to a full-grade plan.
**Steps:**
1. Subscribe to the full-grade plan.
2. Verify the access is granted (the grade's content is available for the period).
**Expected Result:** The access is granted — the grade's content is available for the period.
**Priority:** Critical

### TC-SA-11-01-020 — Subscription expiry: the access ending at the period end (the renewal prompt)
**Type:** Edge
**Covers:** 1.3 → Subscription expiry: the access ending at the period end (the renewal prompt); Rule: the expiry ends it (the renewal prompt)
**Preconditions:** A full-grade subscription is active and the period is ending.
**Steps:**
1. Wait for the period end.
2. Verify the access ends at the period end.
3. Verify the learner is prompted to renew.
**Expected Result:** The access ends at the period end — the learner is prompted to renew.
**Priority:** Critical

### TC-SA-11-01-021 — Plan definition and subscriptions are audit-logged with the plan, grade, and timestamp
**Type:** Positive
**Covers:** 1.3 → Audit logging of the plan definition and the subscriptions; Rule: plan definition and subscriptions are audit-logged with the plan, grade, and timestamp
**Preconditions:** Plan definition and subscription events have occurred.
**Steps:**
1. Open the audit trail and filter by "full-grade plan".
2. Verify entries show the plan, the grade, and the timestamp.
**Expected Result:** The plan definition and subscriptions are audit-logged with the plan, grade, and timestamp.
**Priority:** Critical

### TC-SA-11-01-022 — A plan adjustment (the price, the period) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 1.3 → Rule: a plan adjustment (the price, the period) is recorded (the change, the time); it is auditable
**Preconditions:** A full-grade plan is live.
**Steps:**
1. Adjust the plan (change the price, the period).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The plan adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

### TC-SA-11-01-023 — The full-grade subscriptions are visible (the count, the grades, the periods); the demand is managed
**Type:** Positive
**Covers:** 1.3 → Rule: the full-grade subscriptions are visible (the count, the grades, the periods); the demand is managed
**Preconditions:** Multiple full-grade subscriptions exist.
**Steps:**
1. Open the full-grade subscriptions view.
2. Verify the count, the grades, and the periods are visible.
3. Verify the full-grade demand is visible.
**Expected Result:** The full-grade subscriptions are visible (the count, the grades, the periods) — the demand is managed.
**Priority:** Medium

## 1.4 Custom Subject Combinations

### TC-SA-11-01-024 — Custom combination: the custom set of subjects (the selection, not a predefined bundle)
**Type:** Positive
**Covers:** 1.4 → Custom combination: the custom set of subjects (the selection, not a predefined bundle); Combination definition: the combination defined (the subjects, the price)
**Preconditions:** A learner needs a custom combination of subjects (not a standard bundle).
**Steps:**
1. Enable the custom combination (the selection, the pricing).
2. Define the combination (the subjects, the price).
3. Verify the combination is live and the learner can subscribe to it.
**Expected Result:** The custom combination is defined (the subjects, the price) — the combination is live and subscribable.
**Priority:** Critical

### TC-SA-11-01-025 — Subject selection: the subjects selected (the combination); the selection is explicit
**Type:** Positive
**Covers:** 1.4 → Subject selection: the subjects selected (the combination); Rule: the custom combination is a custom set of subjects (not a predefined bundle); the selection is explicit
**Preconditions:** A custom combination is being defined.
**Steps:**
1. Select the subjects in the combination (the set the learner needs).
2. Verify the selection is explicit (the subjects are listed).
3. Verify the combination is not a predefined bundle.
**Expected Result:** The subject selection is explicit — the combination is a custom set of subjects (not a predefined bundle).
**Priority:** High

### TC-SA-11-01-026 — Custom pricing: the pricing for the combination (the price reflects the subjects); the price is the value
**Type:** Positive
**Covers:** 1.4 → Custom pricing: the pricing for the combination (the price reflects the subjects); Rule: the custom pricing reflects the combination (the subjects, the period); the price is the value
**Preconditions:** A custom combination is being defined.
**Steps:**
1. Set the custom pricing: the price for the combination (the price reflects the subjects, the period).
2. Verify the pricing reflects the combination.
**Expected Result:** The custom pricing reflects the combination (the subjects, the period) — the price is the value.
**Priority:** High

### TC-SA-11-01-027 — Subscription activation: the access granted to the combination's subjects (the content available)
**Type:** Positive
**Covers:** 1.4 → Subscription activation: the access granted to the combination's subjects (the content available); Rule: the subscription activation grants the access (the combination's subjects available)
**Preconditions:** A learner subscribes to a custom combination.
**Steps:**
1. Subscribe to the custom combination.
2. Verify the access is granted to the combination's subjects (the content is available for the period).
**Expected Result:** The access is granted to the combination's subjects — the content is available for the period.
**Priority:** Critical

### TC-SA-11-01-028 — Combination expiry: the access ending at the period end (the renewal prompt)
**Type:** Edge
**Covers:** 1.4 → Combination expiry: the access ending at the period end (the renewal prompt); Rule: the expiry ends it (the renewal prompt)
**Preconditions:** A custom combination subscription is active and the period is ending.
**Steps:**
1. Wait for the period end.
2. Verify the access ends at the period end.
3. Verify the learner is prompted to renew.
**Expected Result:** The access ends at the period end — the learner is prompted to renew.
**Priority:** Critical

### TC-SA-11-01-029 — Combination and subscriptions are audit-logged with the combination, subjects, and timestamp
**Type:** Positive
**Covers:** 1.4 → Audit logging of the combination and the subscriptions; Rule: combination and subscriptions are audit-logged with the combination, subjects, and timestamp
**Preconditions:** Combination and subscription events have occurred.
**Steps:**
1. Open the audit trail and filter by "custom combination".
2. Verify entries show the combination, the subjects, and the timestamp.
**Expected Result:** The combination and subscriptions are audit-logged with the combination, subjects, and timestamp.
**Priority:** Critical

### TC-SA-11-01-030 — A recurring custom combination can be productized (made a standard bundle); the change is recorded
**Type:** Positive
**Covers:** 1.4 → Rule: a recurring custom combination can be productized (made a standard bundle); the change is recorded
**Preconditions:** A custom combination has recurring demand (a common custom set).
**Steps:**
1. Identify the recurring custom combination.
2. Productize it (make it a standard bundle).
3. Verify the change is recorded.
**Expected Result:** The recurring custom combination is productized (made a standard bundle) — the change is recorded.
**Priority:** Medium

### TC-SA-11-01-031 — The custom combinations are visible (the count, the combinations, the periods); the demand is managed
**Type:** Positive
**Covers:** 1.4 → Rule: the custom combinations are visible (the count, the combinations, the periods); the demand is managed
**Preconditions:** Multiple custom combinations exist.
**Steps:**
1. Open the custom combinations view.
2. Verify the count, the combinations, and the periods are visible.
3. Verify the custom combination demand is visible.
**Expected Result:** The custom combinations are visible (the count, the combinations, the periods) — the demand is managed.
**Priority:** Medium

## 1.5 Billing Periods (Monthly, Quarterly, Semi-Annual, Annual)

### TC-SA-11-01-032 — Billing periods: the monthly, the quarterly, the semi-annual, and the annual
**Type:** Positive
**Covers:** 1.5 → Billing periods: the monthly, the quarterly, the semi-annual, and the annual; Rule: the billing periods are the monthly, the quarterly, the semi-annual, and the annual; the duration is the period
**Preconditions:** The Super Admin opens the billing periods configuration.
**Steps:**
1. Define the billing periods: the monthly, the quarterly, the semi-annual, and the annual.
2. Verify all four periods are available.
**Expected Result:** The billing periods are the monthly, the quarterly, the semi-annual, and the annual — all four are available.
**Priority:** Critical

### TC-SA-11-01-033 — Period duration: the duration of the period (the months)
**Type:** Positive
**Covers:** 1.5 → Period duration: the duration of the period (the months)
**Preconditions:** The billing periods are defined.
**Steps:**
1. Verify the period duration is set (the months: 1 for monthly, 3 for quarterly, 6 for semi-annual, 12 for annual).
2. Verify the duration matches the period.
**Expected Result:** The period duration is set — the months match the period.
**Priority:** High

### TC-SA-11-01-034 — Period pricing: the price per period (the price reflects the duration)
**Type:** Positive
**Covers:** 1.5 → Period pricing: the price per period (the price reflects the duration); Rule: the period pricing reflects the duration (the price per period)
**Preconditions:** The billing periods are defined.
**Steps:**
1. Set the period pricing: the price per period (the price reflects the duration).
2. Verify the pricing reflects the duration.
**Expected Result:** The period pricing reflects the duration — the price per period is set.
**Priority:** High

### TC-SA-11-01-035 — Period value: the longer periods offer the value (the annual is cheaper per month)
**Type:** Negative
**Covers:** 1.5 → Period value: the longer periods offer the value (the annual is cheaper per month); Rule: the longer periods offer the value (the annual is cheaper per month)
**Preconditions:** The billing periods are defined with pricing.
**Steps:**
1. Compare the per-month cost of the monthly vs. the annual period.
2. Verify the annual is cheaper per month than the monthly.
3. Verify the longer periods offer the value.
**Expected Result:** The annual is cheaper per month than the monthly — the longer periods offer the value.
**Priority:** High

### TC-SA-11-01-036 — Period selection: the learner chooses the period (the duration that fits); the billing is flexible
**Type:** Positive
**Covers:** 1.5 → Period selection: the learner chooses the period (the duration that fits); Rule: the period selection is the learner's choice (the duration that fits); the billing is flexible
**Preconditions:** A plan is available with multiple billing periods.
**Steps:**
1. As a learner, choose the period (the duration that fits their needs and budget).
2. Verify the period selection is the learner's choice.
3. Verify the billing is flexible.
**Expected Result:** The period selection is the learner's choice — the billing is flexible.
**Priority:** High

### TC-SA-11-01-037 — Period renewal: the renewal at the period end (the continuation); the expiry ends the access
**Type:** Edge
**Covers:** 1.5 → Period renewal: the renewal at the period end (the continuation); Rule: the period renewal is at the period end (the continuation); the expiry ends the access
**Preconditions:** A subscription with a period is active and the period is ending.
**Steps:**
1. Wait for the period end.
2. Verify the access ends (the expiry).
3. Verify the learner is prompted to renew (the continuation).
**Expected Result:** The renewal is at the period end (the continuation) — the expiry ends the access.
**Priority:** Critical

### TC-SA-11-01-038 — Period definition and subscriptions are audit-logged with the period, plan, and timestamp
**Type:** Positive
**Covers:** 1.5 → Audit logging of the period definition and the subscriptions; Rule: period definition and subscriptions are audit-logged with the period, plan, and timestamp
**Preconditions:** Period definition and subscription events have occurred.
**Steps:**
1. Open the audit trail and filter by "billing period".
2. Verify entries show the period, the plan, and the timestamp.
**Expected Result:** The period definition and subscriptions are audit-logged with the period, plan, and timestamp.
**Priority:** Critical

### TC-SA-11-01-039 — A period adjustment (the price, the duration) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 1.5 → Rule: a period adjustment (the price, the duration) is recorded (the change, the time); it is auditable
**Preconditions:** A billing period is defined.
**Steps:**
1. Adjust the period (change the price, the duration).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The period adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High
