# 5. Bulk License Packages — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: bulk_license_packages.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 |
|---------|--------------------|----------|
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | License tiers: the count tiers (the 10-50, the 51-200, the 201-500, the 500+) | TC-SA-11-05-002 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Tier pricing: the price per license per tier (the price decreases with the tier) | TC-SA-11-05-003 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Tier definition: the tiers defined by the Super Admin (the count range, the price per license) | TC-SA-11-05-001 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Tier assignment: the license count assigned to a tier (the count determines the tier) | TC-SA-11-05-004 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Tier pricing application: the price applied (the license count, the tier, the price per license) | TC-SA-11-05-005 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Tier record: the tier recorded (the institute, the count, the tier, the price) | TC-SA-11-05-006 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Audit logging of the tier definition and the applications | TC-SA-11-05-007 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: the license tiers are the count ranges (the 10-50, the 51-200, the 201-500, the 500+); the count determines the tier | TC-SA-11-05-002, TC-SA-11-05-010 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: the tier pricing is the price per license per tier (the price decreases with the tier); the volume is rewarded | TC-SA-11-05-003 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: a tier assignment is the count to the tier (the count determines the tier); the assignment is explicit | TC-SA-11-05-004 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: a count increase (a new tier) re-applies the price (the new tier, the new price); the change is recorded | TC-SA-11-05-008 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: a tier adjustment (the count range, the price per license) is recorded (the change, the time); it is auditable | TC-SA-11-05-009 |
| 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses) | Rule: tier definition and applications are audit-logged with the tier, institute, and timestamp | TC-SA-11-05-007 |
| 5.2 Custom Enterprise Pricing | Custom pricing: the pricing for the enterprise (the count, the price, the terms) | TC-SA-11-05-011 |
| 5.2 Custom Enterprise Pricing | Enterprise scope: the enterprise's scope (the licenses, the features, the support) | TC-SA-11-05-012 |
| 5.2 Custom Enterprise Pricing | Custom terms: the terms (the payment, the duration, the support) | TC-SA-11-05-013 |
| 5.2 Custom Enterprise Pricing | Pricing definition: the pricing defined by the Super Admin (the enterprise, the count, the price, the terms) | TC-SA-11-05-011 |
| 5.2 Custom Enterprise Pricing | Pricing application: the pricing applied (the enterprise's price is the custom price) | TC-SA-11-05-015 |
| 5.2 Custom Enterprise Pricing | Pricing record: the pricing recorded (the enterprise, the count, the price, the terms) | TC-SA-11-05-016 |
| 5.2 Custom Enterprise Pricing | Audit logging of the pricing definition and the applications | TC-SA-11-05-017 |
| 5.2 Custom Enterprise Pricing | Rule: the custom pricing is for the enterprise (the count, the price, the terms); it is negotiated, not the standard tier | TC-SA-11-05-014 |
| 5.2 Custom Enterprise Pricing | Rule: the enterprise scope is the licenses, the features, and the support; the scope is explicit | TC-SA-11-05-012 |
| 5.2 Custom Enterprise Pricing | Rule: the custom terms are the payment, the duration, and the support; the terms are the deal | TC-SA-11-05-013 |
| 5.2 Custom Enterprise Pricing | Rule: a terms change (a new duration, a new support level) re-applies the pricing (the new terms, the new price); the change is recorded | TC-SA-11-05-018 |
| 5.2 Custom Enterprise Pricing | Rule: a pricing adjustment (the count, the price, the terms) is recorded (the change, the time); it is auditable | TC-SA-11-05-019 |
| 5.2 Custom Enterprise Pricing | Rule: pricing definition and applications are audit-logged with the pricing, enterprise, and timestamp | TC-SA-11-05-017 |
| 5.3 Volume Discounts | Volume discount: the discount for the license count (the more licenses, the greater the discount) | TC-SA-11-05-021 |
| 5.3 Volume Discounts | Count: the license count (the discount key) | TC-SA-11-05-022 |
| 5.3 Volume Discounts | Discount: the discount (the percentage, the amount) | TC-SA-11-05-020 |
| 5.3 Volume Discounts | Discount definition: the discount defined by the Super Admin (the count, the discount) | TC-SA-11-05-020 |
| 5.3 Volume Discounts | Discount application: the discount applied (the institute's price is the discounted price) | TC-SA-11-05-024 |
| 5.3 Volume Discounts | Discount record: the discount recorded (the institute, the count, the discount) | TC-SA-11-05-025 |
| 5.3 Volume Discounts | Audit logging of the discount definition and the applications | TC-SA-11-05-026 |
| 5.3 Volume Discounts | Rule: the volume discount is for the license count (the more licenses, the greater the discount); the discount is the incentive | TC-SA-11-05-021 |
| 5.3 Volume Discounts | Rule: the count is the discount key (the license count); the discount is per the count | TC-SA-11-05-022 |
| 5.3 Volume Discounts | Rule: the discount tiers are explicit (the count tiers, the discount per tier); the tiers are the structure | TC-SA-11-05-023 |
| 5.3 Volume Discounts | Rule: a count increase (a new tier) re-applies the discount (the new count, the new discount); the change is recorded | TC-SA-11-05-027 |
| 5.3 Volume Discounts | Rule: a discount adjustment (the count, the discount) is recorded (the change, the time); it is auditable | TC-SA-11-05-028 |
| 5.3 Volume Discounts | Rule: discount definition and applications are audit-logged with the discount, institute, and timestamp | TC-SA-11-05-026 |
| 5.4 Dedicated Account Manager | Account manager: the dedicated person for the account (the single point of contact) | TC-SA-11-05-030 |
| 5.4 Dedicated Account Manager | Assignment: the account manager assigned to the account (the person, the account) | TC-SA-11-05-029 |
| 5.4 Dedicated Account Manager | Manager scope: the manager's scope (the support, the issues, the changes) | TC-SA-11-05-031 |
| 5.4 Dedicated Account Manager | Manager contact: the manager's contact (the email, the phone) | TC-SA-11-05-032 |
| 5.4 Dedicated Account Manager | Manager handoff: the manager changed (the handoff, the continuity) | TC-SA-11-05-033 |
| 5.4 Dedicated Account Manager | Manager record: the assignment recorded (the account, the manager, the time) | TC-SA-11-05-034 |
| 5.4 Dedicated Account Manager | Audit logging of the assignment | TC-SA-11-05-035 |
| 5.4 Dedicated Account Manager | Rule: the account manager is the dedicated person for the account (the single point of contact); the relationship is personal | TC-SA-11-05-030 |
| 5.4 Dedicated Account Manager | Rule: the assignment is the person to the account (the person, the account); it is explicit | TC-SA-11-05-029 |
| 5.4 Dedicated Account Manager | Rule: the manager scope is the support, the issues, and the changes; the scope is the manager's responsibility | TC-SA-11-05-031 |
| 5.4 Dedicated Account Manager | Rule: a manager change (a handoff) is re-assigned (the new person, the account); the handoff is the continuity | TC-SA-11-05-033 |
| 5.4 Dedicated Account Manager | Rule: an assignment change is recorded (the change, the time); it is auditable | TC-SA-11-05-036 |
| 5.4 Dedicated Account Manager | Rule: assignment is audit-logged with the account, manager, and timestamp | TC-SA-11-05-035 |
| 5.5 Custom Branding Options | Custom branding: the customer's brand on the platform (the logo, the colors, the name) | TC-SA-11-05-037 |
| 5.5 Custom Branding Options | Brand elements: the logo, the colors, and the name (the customer's identity) | TC-SA-11-05-038 |
| 5.5 Custom Branding Options | Branding scope: the branding on the platform (the learner's view, the customer's brand) | TC-SA-11-05-039 |
| 5.5 Custom Branding Options | Branding setup: the branding set (the customer provides the elements, the Super Admin applies them) | TC-SA-11-05-037 |
| 5.5 Custom Branding Options | Branding consistency: the branding consistent (the elements match, the view is uniform) | TC-SA-11-05-040 |
| 5.5 Custom Branding Options | Branding record: the branding recorded (the customer, the elements, the time) | TC-SA-11-05-041 |
| 5.5 Custom Branding Options | Audit logging of the branding setup | TC-SA-11-05-042 |
| 5.5 Custom Branding Options | Rule: the custom branding is the customer's brand on the platform (the logo, the colors, the name); the identity is the customer's | TC-SA-11-05-037 |
| 5.5 Custom Branding Options | Rule: the brand elements are the logo, the colors, and the name; the elements are the identity | TC-SA-11-05-038 |
| 5.5 Custom Branding Options | Rule: the branding scope is the platform (the learner's view, the customer's brand); the scope is explicit | TC-SA-11-05-039 |
| 5.5 Custom Branding Options | Rule: a branding change (a new logo, a new color) is re-applied (the new elements, the change recorded); it is auditable | TC-SA-11-05-043 |
| 5.5 Custom Branding Options | Rule: the branding consistency is the elements match (the logo, the colors, the name), and the view is uniform; the consistency is the quality | TC-SA-11-05-040 |
| 5.5 Custom Branding Options | Rule: branding setup is audit-logged with the customer, elements, and timestamp | TC-SA-11-05-042 |
| 5.6 Priority Support | Priority support: the support for the customer (the faster response, the dedicated channel) | TC-SA-11-05-044 |
| 5.6 Priority Support | SLA: the service level (the response time, the resolution time) | TC-SA-11-05-045 |
| 5.6 Priority Support | Support channel: the dedicated channel (the email, the phone, the portal) | TC-SA-11-05-046 |
| 5.6 Priority Support | Support setup: the support set (the SLA, the channel) | TC-SA-11-05-044 |
| 5.6 Priority Support | Support handling: the support handled (the issue, the response, the resolution) | TC-SA-11-05-047 |
| 5.6 Priority Support | Support record: the support recorded (the customer, the issue, the response, the time) | TC-SA-11-05-048 |
| 5.6 Priority Support | Audit logging of the support setup and the handling | TC-SA-11-05-049 |
| 5.6 Priority Support | Rule: the priority support is the support for the customer (the faster response, the dedicated channel); the priority is the SLA | TC-SA-11-05-044 |
| 5.6 Priority Support | Rule: the SLA is the service level (the response time, the resolution time); the SLA is the priority | TC-SA-11-05-045 |
| 5.6 Priority Support | Rule: the support channel is the dedicated channel (the email, the phone, the portal); the channel is the customer's | TC-SA-11-05-046 |
| 5.6 Priority Support | Rule: an SLA breach (a response time exceeded) triggers the alert (the breach flagged); the issue is escalated (the priority is restored) | TC-SA-11-05-050 |
| 5.6 Priority Support | Rule: a support change (a new SLA, a new channel) is re-applied (the new terms, the change recorded); it is auditable | TC-SA-11-05-051 |
| 5.6 Priority Support | Rule: support setup and handling are audit-logged with the customer, support, and timestamp | TC-SA-11-05-049 |
| 5.7 Custom Reporting | Custom reporting: the reports for the customer (the metrics, the format) | TC-SA-11-05-052 |
| 5.7 Custom Reporting | Report scope: the reports' scope (the usage, the progress, the financials) | TC-SA-11-05-053 |
| 5.7 Custom Reporting | Report definition: the reports defined (the metrics, the format, the frequency) | TC-SA-11-05-052 |
| 5.7 Custom Reporting | Report generation: the reports generated (the data, the format) | TC-SA-11-05-054 |
| 5.7 Custom Reporting | Report delivery: the reports delivered (the email, the portal, the export) | TC-SA-11-05-055 |
| 5.7 Custom Reporting | Report record: the reports recorded (the customer, the reports, the time) | TC-SA-11-05-056 |
| 5.7 Custom Reporting | Audit logging of the report definition and the generation | TC-SA-11-05-057 |
| 5.7 Custom Reporting | Rule: the custom reporting is the reports for the customer (the metrics, the format); the reporting is tailored | TC-SA-11-05-052 |
| 5.7 Custom Reporting | Rule: the report scope is the usage, the progress, and the financials; the scope is explicit | TC-SA-11-05-053 |
| 5.7 Custom Reporting | Rule: the report definition is the metrics, the format, and the frequency; the definition is the structure | TC-SA-11-05-052 |
| 5.7 Custom Reporting | Rule: a report change (a new metric, a new format) is re-defined (the new metric, the new format); the change is recorded | TC-SA-11-05-058 |
| 5.7 Custom Reporting | Rule: the report delivery is the email, the portal, and the export; the delivery is the customer's | TC-SA-11-05-055 |
| 5.7 Custom Reporting | Rule: report definition and generation are audit-logged with the customer, reports, and timestamp | TC-SA-11-05-057 |

## 5.1 Tiered Pricing (10-50, 51-200, 201-500, 500+ Licenses)

### TC-SA-11-05-001 — Tier definition: the tiers defined by the Super Admin (the count range, the price per license)
**Type:** Positive
**Covers:** 5.1 → Tier definition: the tiers defined by the Super Admin (the count range, the price per license)
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Define the license tiers: the count ranges (the 10-50, the 51-200, the 201-500, the 500+) and the price per license per tier.
2. Save the tiers.
3. Verify the tiers are live.
**Expected Result:** The license tiers are defined (the count range, the price per license) — the tiers are live.
**Priority:** Critical

### TC-SA-11-05-002 — License tiers: the count tiers (the 10-50, the 51-200, the 201-500, the 500+); the count determines the tier
**Type:** Positive
**Covers:** 5.1 → License tiers: the count tiers (the 10-50, the 51-200, the 201-500, the 500+); Rule: the license tiers are the count ranges; the count determines the tier
**Preconditions:** The license tiers are defined.
**Steps:**
1. Verify the count tiers are set (the 10-50, the 51-200, the 201-500, the 500+).
2. Verify the count determines the tier.
**Expected Result:** The count tiers are set — the count determines the tier.
**Priority:** Critical

### TC-SA-11-05-003 — Tier pricing: the price per license per tier (the price decreases with the tier); the volume is rewarded
**Type:** Negative
**Covers:** 5.1 → Tier pricing: the price per license per tier (the price decreases with the tier); Rule: the tier pricing is the price per license per tier (the price decreases with the tier); the volume is rewarded
**Preconditions:** The license tiers are defined with pricing.
**Steps:**
1. Compare the price per license across the tiers (the 10-50 vs. the 51-200 vs. the 201-500 vs. the 500+).
2. Verify the price per license decreases with the tier.
3. Verify the volume is rewarded.
**Expected Result:** The price per license decreases with the tier — the volume is rewarded.
**Priority:** Critical

### TC-SA-11-05-004 — Tier assignment: the license count assigned to a tier (the count determines the tier); the assignment is explicit
**Type:** Positive
**Covers:** 5.1 → Tier assignment: the license count assigned to a tier (the count determines the tier); Rule: a tier assignment is the count to the tier (the count determines the tier); the assignment is explicit
**Preconditions:** An institute requests a bulk license package with a license count.
**Steps:**
1. Assign the license count to a tier (the count determines the tier).
2. Verify the assignment is explicit (the count, the tier).
**Expected Result:** The license count is assigned to a tier — the assignment is explicit.
**Priority:** High

### TC-SA-11-05-005 — Tier pricing application: the price applied (the license count, the tier, the price per license)
**Type:** Positive
**Covers:** 5.1 → Tier pricing application: the price applied (the license count, the tier, the price per license)
**Preconditions:** An institute's license count is assigned to a tier.
**Steps:**
1. Apply the tier pricing (the license count, the tier, the price per license).
2. Verify the price is applied to the institute's package.
**Expected Result:** The tier pricing is applied — the price per license for the tier is charged.
**Priority:** Critical

### TC-SA-11-05-006 — Tier record: the tier recorded (the institute, the count, the tier, the price)
**Type:** Positive
**Covers:** 5.1 → Tier record: the tier recorded (the institute, the count, the tier, the price)
**Preconditions:** A tier pricing application has occurred.
**Steps:**
1. Open the tier record.
2. Verify it shows the institute, the count, the tier, and the price.
**Expected Result:** The tier is recorded — the institute, the count, the tier, and the price are shown.
**Priority:** High

### TC-SA-11-05-007 — Tier definition and applications are audit-logged with the tier, institute, and timestamp
**Type:** Positive
**Covers:** 5.1 → Audit logging of the tier definition and the applications; Rule: tier definition and applications are audit-logged with the tier, institute, and timestamp
**Preconditions:** Tier definition and application events have occurred.
**Steps:**
1. Open the audit trail and filter by "license tier".
2. Verify entries show the tier, the institute, and the timestamp.
**Expected Result:** The tier definition and applications are audit-logged with the tier, institute, and timestamp.
**Priority:** Critical

### TC-SA-11-05-008 — A count increase (a new tier) re-applies the price (the new tier, the new price); the change is recorded
**Type:** Positive
**Covers:** 5.1 → Rule: a count increase (a new tier) re-applies the price (the new tier, the new price); the change is recorded
**Preconditions:** An institute's license count increases to a higher tier.
**Steps:**
1. Increase the institute's license count (a new tier).
2. Verify the price is re-applied (the new tier, the new price).
3. Verify the change is recorded.
**Expected Result:** The price is re-applied (the new tier, the new price) — the change is recorded.
**Priority:** High

### TC-SA-11-05-009 — A tier adjustment (the count range, the price per license) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 5.1 → Rule: a tier adjustment (the count range, the price per license) is recorded (the change, the time); it is auditable
**Preconditions:** The license tiers are live.
**Steps:**
1. Adjust a tier (change the count range, the price per license).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The tier adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

### TC-SA-11-05-010 — Boundary counts are assigned to the correct tier (50 vs. 51, 200 vs. 201, 500 vs. 501)
**Type:** Edge
**Covers:** 5.1 → Rule: the license tiers are the count ranges (the 10-50, the 51-200, the 201-500, the 500+); the count determines the tier
**Preconditions:** The license tiers are defined.
**Steps:**
1. Assign a count of 50 and verify it is in the 10-50 tier.
2. Assign a count of 51 and verify it is in the 51-200 tier.
3. Assign a count of 200 and verify it is in the 51-200 tier.
4. Assign a count of 201 and verify it is in the 201-500 tier.
5. Assign a count of 500 and verify it is in the 201-500 tier.
6. Assign a count of 501 and verify it is in the 500+ tier.
**Expected Result:** Each boundary count is assigned to the correct tier — the count determines the tier.
**Priority:** Critical

## 5.2 Custom Enterprise Pricing

### TC-SA-11-05-011 — Pricing definition: the pricing defined by the Super Admin (the enterprise, the count, the price, the terms)
**Type:** Positive
**Covers:** 5.2 → Custom pricing: the pricing for the enterprise (the count, the price, the terms); Pricing definition: the pricing defined by the Super Admin (the enterprise, the count, the price, the terms)
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Define the custom enterprise pricing: the enterprise (the customer), the count (the licenses), the price (the negotiated price), and the terms (the payment, the duration, the support).
2. Save the pricing.
3. Verify the pricing is live.
**Expected Result:** The custom enterprise pricing is defined (the enterprise, the count, the price, the terms) — the pricing is live.
**Priority:** Critical

### TC-SA-11-05-012 — Enterprise scope: the enterprise's scope (the licenses, the features, the support); the scope is explicit
**Type:** Positive
**Covers:** 5.2 → Enterprise scope: the enterprise's scope (the licenses, the features, the support); Rule: the enterprise scope is the licenses, the features, and the support; the scope is explicit
**Preconditions:** A custom enterprise pricing is defined.
**Steps:**
1. Open the enterprise scope.
2. Verify it shows the licenses, the features, and the support.
3. Verify the scope is explicit.
**Expected Result:** The enterprise scope is the licenses, the features, and the support — it is explicit.
**Priority:** High

### TC-SA-11-05-013 — Custom terms: the terms (the payment, the duration, the support); the terms are the deal
**Type:** Positive
**Covers:** 5.2 → Custom terms: the terms (the payment, the duration, the support); Rule: the custom terms are the payment, the duration, and the support; the terms are the deal
**Preconditions:** A custom enterprise pricing is defined.
**Steps:**
1. Open the custom terms.
2. Verify it shows the payment, the duration, and the support.
3. Verify the terms are the deal.
**Expected Result:** The custom terms are the payment, the duration, and the support — the terms are the deal.
**Priority:** High

### TC-SA-11-05-014 — The custom pricing is for the enterprise (the count, the price, the terms); it is negotiated, not the standard tier
**Type:** Negative
**Covers:** 5.2 → Rule: the custom pricing is for the enterprise (the count, the price, the terms); it is negotiated, not the standard tier
**Preconditions:** A custom enterprise pricing is defined.
**Steps:**
1. Compare the custom pricing to the standard tier pricing for the same count.
2. Verify the custom pricing is the negotiated price (not the standard tier price).
3. Verify the custom pricing is for the enterprise.
**Expected Result:** The custom pricing is the negotiated price — it is not the standard tier.
**Priority:** Critical

### TC-SA-11-05-015 — Pricing application: the pricing applied (the enterprise's price is the custom price)
**Type:** Positive
**Covers:** 5.2 → Pricing application: the pricing applied (the enterprise's price is the custom price)
**Preconditions:** A custom enterprise pricing is defined.
**Steps:**
1. Apply the custom pricing to the enterprise.
2. Verify the enterprise's price is the custom price.
**Expected Result:** The custom pricing is applied — the enterprise's price is the custom price.
**Priority:** Critical

### TC-SA-11-05-016 — Pricing record: the pricing recorded (the enterprise, the count, the price, the terms)
**Type:** Positive
**Covers:** 5.2 → Pricing record: the pricing recorded (the enterprise, the count, the price, the terms)
**Preconditions:** A custom enterprise pricing application has occurred.
**Steps:**
1. Open the pricing record.
2. Verify it shows the enterprise, the count, the price, and the terms.
**Expected Result:** The pricing is recorded — the enterprise, the count, the price, and the terms are shown.
**Priority:** High

### TC-SA-11-05-017 — Pricing definition and applications are audit-logged with the pricing, enterprise, and timestamp
**Type:** Positive
**Covers:** 5.2 → Audit logging of the pricing definition and the applications; Rule: pricing definition and applications are audit-logged with the pricing, enterprise, and timestamp
**Preconditions:** Pricing definition and application events have occurred.
**Steps:**
1. Open the audit trail and filter by "custom enterprise pricing".
2. Verify entries show the pricing, the enterprise, and the timestamp.
**Expected Result:** The pricing definition and applications are audit-logged with the pricing, enterprise, and timestamp.
**Priority:** Critical

### TC-SA-11-05-018 — A terms change (a new duration, a new support level) re-applies the pricing (the new terms, the new price); the change is recorded
**Type:** Positive
**Covers:** 5.2 → Rule: a terms change (a new duration, a new support level) re-applies the pricing (the new terms, the new price); the change is recorded
**Preconditions:** A custom enterprise pricing is live and the terms change.
**Steps:**
1. Change the terms (a new duration, a new support level).
2. Verify the pricing is re-applied (the new terms, the new price).
3. Verify the change is recorded.
**Expected Result:** The pricing is re-applied (the new terms, the new price) — the change is recorded.
**Priority:** High

### TC-SA-11-05-019 — A pricing adjustment (the count, the price, the terms) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 5.2 → Rule: a pricing adjustment (the count, the price, the terms) is recorded (the change, the time); it is auditable
**Preconditions:** A custom enterprise pricing is live.
**Steps:**
1. Adjust the pricing (change the count, the price, the terms).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The pricing adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

## 5.3 Volume Discounts

### TC-SA-11-05-020 — Discount definition: the discount defined by the Super Admin (the count, the discount)
**Type:** Positive
**Covers:** 5.3 → Volume discount: the discount for the license count (the more licenses, the greater the discount); Discount: the discount (the percentage, the amount); Discount definition: the discount defined by the Super Admin (the count, the discount)
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Define the volume discount: the count tiers and the discount per tier (the percentage, the amount).
2. Save the discount.
3. Verify the discount is live.
**Expected Result:** The volume discount is defined (the count, the discount) — the discount is live.
**Priority:** Critical

### TC-SA-11-05-021 — Volume discount: the discount for the license count (the more licenses, the greater the discount); the discount is the incentive
**Type:** Negative
**Covers:** 5.3 → Rule: the volume discount is for the license count (the more licenses, the greater the discount); the discount is the incentive
**Preconditions:** The volume discount is defined with tiers.
**Steps:**
1. Compare the discount for a lower count vs. a higher count.
2. Verify the discount is greater for the higher count.
3. Verify the discount is the incentive.
**Expected Result:** The discount is greater for the higher count — the discount is the incentive.
**Priority:** Critical

### TC-SA-11-05-022 — Count: the license count (the discount key); the discount is per the count
**Type:** Positive
**Covers:** 5.3 → Count: the license count (the discount key); Rule: the count is the discount key (the license count); the discount is per the count
**Preconditions:** The volume discount is defined.
**Steps:**
1. Verify the count is the discount key (the license count).
2. Verify the discount is per the count.
**Expected Result:** The count is the discount key — the discount is per the count.
**Priority:** High

### TC-SA-11-05-023 — The discount tiers are explicit (the count tiers, the discount per tier); the tiers are the structure
**Type:** Positive
**Covers:** 5.3 → Rule: the discount tiers are explicit (the count tiers, the discount per tier); the tiers are the structure
**Preconditions:** The volume discount is defined with tiers.
**Steps:**
1. Open the discount tiers.
2. Verify the count tiers and the discount per tier are explicit.
3. Verify the tiers are the structure.
**Expected Result:** The discount tiers are explicit — the count tiers and the discount per tier are the structure.
**Priority:** High

### TC-SA-11-05-024 — Discount application: the discount applied (the institute's price is the discounted price)
**Type:** Positive
**Covers:** 5.3 → Discount application: the discount applied (the institute's price is the discounted price)
**Preconditions:** An institute's license count qualifies for a volume discount.
**Steps:**
1. Apply the volume discount to the institute.
2. Verify the institute's price is the discounted price.
**Expected Result:** The volume discount is applied — the institute's price is the discounted price.
**Priority:** Critical

### TC-SA-11-05-025 — Discount record: the discount recorded (the institute, the count, the discount)
**Type:** Positive
**Covers:** 5.3 → Discount record: the discount recorded (the institute, the count, the discount)
**Preconditions:** A volume discount has been applied to an institute.
**Steps:**
1. Open the discount record.
2. Verify it shows the institute, the count, and the discount.
**Expected Result:** The discount is recorded — the institute, the count, and the discount are shown.
**Priority:** High

### TC-SA-11-05-026 — Discount definition and applications are audit-logged with the discount, institute, and timestamp
**Type:** Positive
**Covers:** 5.3 → Audit logging of the discount definition and the applications; Rule: discount definition and applications are audit-logged with the discount, institute, and timestamp
**Preconditions:** Discount definition and application events have occurred.
**Steps:**
1. Open the audit trail and filter by "volume discount".
2. Verify entries show the discount, the institute, and the timestamp.
**Expected Result:** The discount definition and applications are audit-logged with the discount, institute, and timestamp.
**Priority:** Critical

### TC-SA-11-05-027 — A count increase (a new tier) re-applies the discount (the new count, the new discount); the change is recorded
**Type:** Positive
**Covers:** 5.3 → Rule: a count increase (a new tier) re-applies the discount (the new count, the new discount); the change is recorded
**Preconditions:** An institute's license count increases to a higher discount tier.
**Steps:**
1. Increase the institute's license count (a new tier).
2. Verify the discount is re-applied (the new count, the new discount).
3. Verify the change is recorded.
**Expected Result:** The discount is re-applied (the new count, the new discount) — the change is recorded.
**Priority:** High

### TC-SA-11-05-028 — A discount adjustment (the count, the discount) is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 5.3 → Rule: a discount adjustment (the count, the discount) is recorded (the change, the time); it is auditable
**Preconditions:** The volume discount is live.
**Steps:**
1. Adjust the discount (change the count tiers, the discount).
2. Verify the adjustment is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The discount adjustment is recorded (the change, the time) — it is auditable.
**Priority:** High

## 5.4 Dedicated Account Manager

### TC-SA-11-05-029 — Assignment: the account manager assigned to the account (the person, the account); it is explicit
**Type:** Positive
**Covers:** 5.4 → Assignment: the account manager assigned to the account (the person, the account); Rule: the assignment is the person to the account (the person, the account); it is explicit
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Assign an account manager to an account (the person, the account).
2. Verify the assignment is explicit.
**Expected Result:** The account manager is assigned to the account — the assignment is explicit.
**Priority:** Critical

### TC-SA-11-05-030 — Account manager: the dedicated person for the account (the single point of contact); the relationship is personal
**Type:** Positive
**Covers:** 5.4 → Account manager: the dedicated person for the account (the single point of contact); Rule: the account manager is the dedicated person for the account (the single point of contact); the relationship is personal
**Preconditions:** An account manager is assigned to an account.
**Steps:**
1. Verify the account manager is the dedicated person for the account.
2. Verify the account manager is the single point of contact.
**Expected Result:** The account manager is the dedicated person for the account — the single point of contact.
**Priority:** High

### TC-SA-11-05-031 — Manager scope: the manager's scope (the support, the issues, the changes); the scope is the manager's responsibility
**Type:** Positive
**Covers:** 5.4 → Manager scope: the manager's scope (the support, the issues, the changes); Rule: the manager scope is the support, the issues, and the changes; the scope is the manager's responsibility
**Preconditions:** An account manager is assigned to an account.
**Steps:**
1. Open the manager scope.
2. Verify it shows the support, the issues, and the changes.
3. Verify the scope is the manager's responsibility.
**Expected Result:** The manager scope is the support, the issues, and the changes — the scope is the manager's responsibility.
**Priority:** Medium

### TC-SA-11-05-032 — Manager contact: the manager's contact (the email, the phone)
**Type:** Positive
**Covers:** 5.4 → Manager contact: the manager's contact (the email, the phone)
**Preconditions:** An account manager is assigned to an account.
**Steps:**
1. Open the manager contact.
2. Verify it shows the email and the phone.
**Expected Result:** The manager contact is shown — the email and the phone.
**Priority:** Medium

### TC-SA-11-05-033 — Manager handoff: the manager changed (the handoff, the continuity); the handoff is the continuity
**Type:** Positive
**Covers:** 5.4 → Manager handoff: the manager changed (the handoff, the continuity); Rule: a manager change (a handoff) is re-assigned (the new person, the account); the handoff is the continuity
**Preconditions:** An account manager is assigned to an account and the manager changes.
**Steps:**
1. Change the account manager (a handoff).
2. Verify the new manager is assigned (the new person, the account).
3. Verify the handoff is the continuity (the account's history is transferred).
**Expected Result:** The account manager is changed (the handoff) — the new manager is assigned; the handoff is the continuity.
**Priority:** High

### TC-SA-11-05-034 — Manager record: the assignment recorded (the account, the manager, the time)
**Type:** Positive
**Covers:** 5.4 → Manager record: the assignment recorded (the account, the manager, the time)
**Preconditions:** An account manager assignment has occurred.
**Steps:**
1. Open the manager record.
2. Verify it shows the account, the manager, and the time.
**Expected Result:** The assignment is recorded — the account, the manager, and the time are shown.
**Priority:** High

### TC-SA-11-05-035 — Assignment is audit-logged with the account, manager, and timestamp
**Type:** Positive
**Covers:** 5.4 → Audit logging of the assignment; Rule: assignment is audit-logged with the account, manager, and timestamp
**Preconditions:** Account manager assignment events have occurred.
**Steps:**
1. Open the audit trail and filter by "account manager".
2. Verify entries show the account, the manager, and the timestamp.
**Expected Result:** The assignment is audit-logged with the account, manager, and timestamp.
**Priority:** Critical

### TC-SA-11-05-036 — An assignment change is recorded (the change, the time); it is auditable
**Type:** Positive
**Covers:** 5.4 → Rule: an assignment change is recorded (the change, the time); it is auditable
**Preconditions:** An account manager is assigned to an account.
**Steps:**
1. Change the assignment (a new manager).
2. Verify the change is recorded (the change, the time).
3. Verify the change is auditable.
**Expected Result:** The assignment change is recorded (the change, the time) — it is auditable.
**Priority:** High

## 5.5 Custom Branding Options

### TC-SA-11-05-037 — Branding setup: the branding set (the customer provides the elements, the Super Admin applies them); the identity is the customer's
**Type:** Positive
**Covers:** 5.5 → Custom branding: the customer's brand on the platform (the logo, the colors, the name); Branding setup: the branding set (the customer provides the elements, the Super Admin applies them); Rule: the custom branding is the customer's brand on the platform; the identity is the customer's
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Receive the customer's brand elements (the logo, the colors, the name).
2. Apply the branding to the platform.
3. Verify the customer's brand is on the platform.
**Expected Result:** The branding is set — the customer's brand is on the platform; the identity is the customer's.
**Priority:** Critical

### TC-SA-11-05-038 — Brand elements: the logo, the colors, and the name (the customer's identity); the elements are the identity
**Type:** Positive
**Covers:** 5.5 → Brand elements: the logo, the colors, and the name (the customer's identity); Rule: the brand elements are the logo, the colors, and the name; the elements are the identity
**Preconditions:** A customer's branding is set.
**Steps:**
1. Open the brand elements.
2. Verify it shows the logo, the colors, and the name.
3. Verify the elements are the customer's identity.
**Expected Result:** The brand elements are the logo, the colors, and the name — the elements are the identity.
**Priority:** High

### TC-SA-11-05-039 — Branding scope: the branding on the platform (the learner's view, the customer's brand); the scope is explicit
**Type:** Positive
**Covers:** 5.5 → Branding scope: the branding on the platform (the learner's view, the customer's brand); Rule: the branding scope is the platform (the learner's view, the customer's brand); the scope is explicit
**Preconditions:** A customer's branding is set.
**Steps:**
1. Open the branding scope.
2. Verify it shows the platform (the learner's view, the customer's brand).
3. Verify the scope is explicit.
**Expected Result:** The branding scope is the platform — the learner's view shows the customer's brand; the scope is explicit.
**Priority:** High

### TC-SA-11-05-040 — Branding consistency: the branding consistent (the elements match, the view is uniform); the consistency is the quality
**Type:** Negative
**Covers:** 5.5 → Branding consistency: the branding consistent (the elements match, the view is uniform); Rule: the branding consistency is the elements match (the logo, the colors, the name), and the view is uniform; the consistency is the quality
**Preconditions:** A customer's branding is set.
**Steps:**
1. Verify the brand elements match (the logo, the colors, the name).
2. Verify the learner's view is uniform (the branding is consistent across the platform).
3. Verify the consistency is the quality.
**Expected Result:** The branding is consistent — the elements match and the view is uniform.
**Priority:** High

### TC-SA-11-05-041 — Branding record: the branding recorded (the customer, the elements, the time)
**Type:** Positive
**Covers:** 5.5 → Branding record: the branding recorded (the customer, the elements, the time)
**Preconditions:** A customer's branding has been set.
**Steps:**
1. Open the branding record.
2. Verify it shows the customer, the elements, and the time.
**Expected Result:** The branding is recorded — the customer, the elements, and the time are shown.
**Priority:** High

### TC-SA-11-05-042 — Branding setup is audit-logged with the customer, elements, and timestamp
**Type:** Positive
**Covers:** 5.5 → Audit logging of the branding setup; Rule: branding setup is audit-logged with the customer, elements, and timestamp
**Preconditions:** Branding setup events have occurred.
**Steps:**
1. Open the audit trail and filter by "custom branding".
2. Verify entries show the customer, the elements, and the timestamp.
**Expected Result:** The branding setup is audit-logged with the customer, elements, and timestamp.
**Priority:** Critical

### TC-SA-11-05-043 — A branding change (a new logo, a new color) is re-applied (the new elements, the change recorded); it is auditable
**Type:** Positive
**Covers:** 5.5 → Rule: a branding change (a new logo, a new color) is re-applied (the new elements, the change recorded); it is auditable
**Preconditions:** A customer's branding is set.
**Steps:**
1. Change the branding (a new logo, a new color).
2. Verify the new elements are re-applied.
3. Verify the change is recorded and auditable.
**Expected Result:** The branding change is re-applied (the new elements) — the change is recorded and auditable.
**Priority:** High

## 5.6 Priority Support

### TC-SA-11-05-044 — Support setup: the support set (the SLA, the channel); the priority is the SLA
**Type:** Positive
**Covers:** 5.6 → Priority support: the support for the customer (the faster response, the dedicated channel); Support setup: the support set (the SLA, the channel); Rule: the priority support is the support for the customer (the faster response, the dedicated channel); the priority is the SLA
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Set the priority support: the SLA (the response time, the resolution time) and the channel (the dedicated channel).
2. Save the support setup.
3. Verify the priority support is live.
**Expected Result:** The priority support is set (the SLA, the channel) — the priority support is live.
**Priority:** Critical

### TC-SA-11-05-045 — SLA: the service level (the response time, the resolution time); the SLA is the priority
**Type:** Positive
**Covers:** 5.6 → SLA: the service level (the response time, the resolution time); Rule: the SLA is the service level (the response time, the resolution time); the SLA is the priority
**Preconditions:** The priority support is set.
**Steps:**
1. Open the SLA.
2. Verify it shows the response time and the resolution time.
3. Verify the SLA is the priority.
**Expected Result:** The SLA is the service level — the response time and the resolution time are set.
**Priority:** High

### TC-SA-11-05-046 — Support channel: the dedicated channel (the email, the phone, the portal); the channel is the customer's
**Type:** Positive
**Covers:** 5.6 → Support channel: the dedicated channel (the email, the phone, the portal); Rule: the support channel is the dedicated channel (the email, the phone, the portal); the channel is the customer's
**Preconditions:** The priority support is set.
**Steps:**
1. Open the support channel.
2. Verify it shows the dedicated channel (the email, the phone, the portal).
3. Verify the channel is the customer's.
**Expected Result:** The support channel is the dedicated channel — the email, the phone, and the portal are the customer's.
**Priority:** High

### TC-SA-11-05-047 — Support handling: the support handled (the issue, the response, the resolution)
**Type:** Positive
**Covers:** 5.6 → Support handling: the support handled (the issue, the response, the resolution)
**Preconditions:** A customer raises a support issue.
**Steps:**
1. Raise a support issue.
2. Verify the issue is handled (the response, the resolution).
**Expected Result:** The support is handled — the issue, the response, and the resolution are processed.
**Priority:** Critical

### TC-SA-11-05-048 — Support record: the support recorded (the customer, the issue, the response, the time)
**Type:** Positive
**Covers:** 5.6 → Support record: the support recorded (the customer, the issue, the response, the time)
**Preconditions:** A support issue has been handled.
**Steps:**
1. Open the support record.
2. Verify it shows the customer, the issue, the response, and the time.
**Expected Result:** The support is recorded — the customer, the issue, the response, and the time are shown.
**Priority:** High

### TC-SA-11-05-049 — Support setup and handling are audit-logged with the customer, support, and timestamp
**Type:** Positive
**Covers:** 5.6 → Audit logging of the support setup and the handling; Rule: support setup and handling are audit-logged with the customer, support, and timestamp
**Preconditions:** Support setup and handling events have occurred.
**Steps:**
1. Open the audit trail and filter by "priority support".
2. Verify entries show the customer, the support, and the timestamp.
**Expected Result:** The support setup and handling are audit-logged with the customer, support, and timestamp.
**Priority:** Critical

### TC-SA-11-05-050 — An SLA breach (a response time exceeded) triggers the alert (the breach flagged); the issue is escalated (the priority is restored)
**Type:** Negative
**Covers:** 5.6 → Rule: an SLA breach (a response time exceeded) triggers the alert (the breach flagged); the issue is escalated (the priority is restored)
**Preconditions:** A support issue is raised and the response time is exceeded (an SLA breach).
**Steps:**
1. Let a support issue exceed the response time (an SLA breach).
2. Verify the breach is flagged (the alert).
3. Verify the issue is escalated (the priority is restored).
**Expected Result:** The SLA breach triggers the alert (the breach flagged) — the issue is escalated (the priority is restored).
**Priority:** Critical

### TC-SA-11-05-051 — A support change (a new SLA, a new channel) is re-applied (the new terms, the change recorded); it is auditable
**Type:** Positive
**Covers:** 5.6 → Rule: a support change (a new SLA, a new channel) is re-applied (the new terms, the change recorded); it is auditable
**Preconditions:** The priority support is set.
**Steps:**
1. Change the support (a new SLA, a new channel).
2. Verify the new terms are re-applied.
3. Verify the change is recorded and auditable.
**Expected Result:** The support change is re-applied (the new terms) — the change is recorded and auditable.
**Priority:** High

## 5.7 Custom Reporting

### TC-SA-11-05-052 — Report definition: the reports defined (the metrics, the format, the frequency); the reporting is tailored
**Type:** Positive
**Covers:** 5.7 → Custom reporting: the reports for the customer (the metrics, the format); Report definition: the reports defined (the metrics, the format, the frequency); Rule: the custom reporting is the reports for the customer (the metrics, the format); the reporting is tailored; the report definition is the metrics, the format, and the frequency; the definition is the structure
**Preconditions:** The Super Admin opens the bulk license packages.
**Steps:**
1. Define the custom reports: the metrics, the format, and the frequency.
2. Save the report definition.
3. Verify the custom reporting is live.
**Expected Result:** The custom reports are defined (the metrics, the format, the frequency) — the reporting is tailored.
**Priority:** Critical

### TC-SA-11-05-053 — Report scope: the reports' scope (the usage, the progress, the financials); the scope is explicit
**Type:** Positive
**Covers:** 5.7 → Report scope: the reports' scope (the usage, the progress, the financials); Rule: the report scope is the usage, the progress, and the financials; the scope is explicit
**Preconditions:** The custom reports are defined.
**Steps:**
1. Open the report scope.
2. Verify it shows the usage, the progress, and the financials.
3. Verify the scope is explicit.
**Expected Result:** The report scope is the usage, the progress, and the financials — it is explicit.
**Priority:** High

### TC-SA-11-05-054 — Report generation: the reports generated (the data, the format)
**Type:** Positive
**Covers:** 5.7 → Report generation: the reports generated (the data, the format)
**Preconditions:** The custom reports are defined.
**Steps:**
1. Generate the reports.
2. Verify the reports are generated (the data, the format).
**Expected Result:** The reports are generated — the data and the format are correct.
**Priority:** Critical

### TC-SA-11-05-055 — Report delivery: the reports delivered (the email, the portal, the export); the delivery is the customer's
**Type:** Positive
**Covers:** 5.7 → Report delivery: the reports delivered (the email, the portal, the export); Rule: the report delivery is the email, the portal, and the export; the delivery is the customer's
**Preconditions:** The custom reports are generated.
**Steps:**
1. Deliver the reports (the email, the portal, the export).
2. Verify the reports are delivered to the customer.
**Expected Result:** The reports are delivered — the email, the portal, and the export are the customer's.
**Priority:** High

### TC-SA-11-05-056 — Report record: the reports recorded (the customer, the reports, the time)
**Type:** Positive
**Covers:** 5.7 → Report record: the reports recorded (the customer, the reports, the time)
**Preconditions:** The custom reports have been generated and delivered.
**Steps:**
1. Open the report record.
2. Verify it shows the customer, the reports, and the time.
**Expected Result:** The reports are recorded — the customer, the reports, and the time are shown.
**Priority:** High

### TC-SA-11-05-057 — Report definition and generation are audit-logged with the customer, reports, and timestamp
**Type:** Positive
**Covers:** 5.7 → Audit logging of the report definition and the generation; Rule: report definition and generation are audit-logged with the customer, reports, and timestamp
**Preconditions:** Report definition and generation events have occurred.
**Steps:**
1. Open the audit trail and filter by "custom reporting".
2. Verify entries show the customer, the reports, and the timestamp.
**Expected Result:** The report definition and generation are audit-logged with the customer, reports, and timestamp.
**Priority:** Critical

### TC-SA-11-05-058 — A report change (a new metric, a new format) is re-defined (the new metric, the new format); the change is recorded
**Type:** Positive
**Covers:** 5.7 → Rule: a report change (a new metric, a new format) is re-defined (the new metric, the new format); the change is recorded
**Preconditions:** The custom reports are defined.
**Steps:**
1. Change the report (a new metric, a new format).
2. Verify the report is re-defined (the new metric, the new format).
3. Verify the change is recorded.
**Expected Result:** The report is re-defined (the new metric, the new format) — the change is recorded.
**Priority:** High
