# 3. License Entitlements & Usage — Test Cases

User Type: **Training Institute**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: license_entitlements_usage.md — every feature, sub-feature, and rule covered

## Test Execution Policy

- Zero tolerance: any deviation from the documented behavior is a defect.
- Every failed test is logged with a Bug ID, the feature, the sub-feature, the expected vs actual result, and the severity; 100% of bugs are fixed before the group passes.
- 100% pass rate is required for the group to be marked complete.

## Coverage Matrix

| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 3.1 | Entitlement overview | TC-TI-5-03-001 |
| 3.1 | Total entitled licenses | TC-TI-5-03-002 |
| 3.1 | Licenses in use | TC-TI-5-03-003 |
| 3.1 | Headroom shown | TC-TI-5-03-004 |
| 3.1 | Entitlement by tier | TC-TI-5-03-005 |
| 3.1 | Entitlement vs usage comparison | TC-TI-5-03-006 |
| 3.1 | Overview available on web and mobile | TC-TI-5-03-007 |
| 3.1 | Overview event logging (viewed) | TC-TI-5-03-008 |
| 3.1 | Audit logging of the entitlement overview | TC-TI-5-03-009 |
| 3.1 | Rule: The headroom equals entitled minus in use. | TC-TI-5-03-001 |
| 3.1 | Rule: The entitlement is by tier. | TC-TI-5-03-002 |
| 3.1 | Rule: Overview events (viewed) are logged with the account and the timestamp. | TC-TI-5-03-003 |
| 3.1 | Rule: The entitlement overview is audit-logged with the account and the timestamp. | TC-TI-5-03-004 |
| 3.2 | Usage threshold warning | TC-TI-5-03-010 |
| 3.2 | Entitlement reached block | TC-TI-5-03-011 |
| 3.2 | Configurable threshold | TC-TI-5-03-012 |
| 3.2 | Alert with the current usage | TC-TI-5-03-013 |
| 3.2 | Purchase or release from the alert | TC-TI-5-03-014 |
| 3.2 | Alerts available on web and mobile | TC-TI-5-03-015 |
| 3.2 | Alerts event logging (shown, action taken) | TC-TI-5-03-016 |
| 3.2 | Audit logging of the usage vs entitlement alerts | TC-TI-5-03-017 |
| 3.2 | Rule: The block prevents new assignments beyond the entitlement. | TC-TI-5-03-010 |
| 3.2 | Rule: The threshold is configurable. | TC-TI-5-03-011 |
| 3.2 | Rule: Alerts events (shown, action taken) are logged with the account and the timestamp. | TC-TI-5-03-012 |
| 3.2 | Rule: The usage vs entitlement alerts is audit-logged with the account and the timestamp. | TC-TI-5-03-013 |
| 3.3 | Entitlement change history | TC-TI-5-03-018 |
| 3.3 | Date, old and new count, and reason per change | TC-TI-5-03-019 |
| 3.3 | Filter by period | TC-TI-5-03-020 |
| 3.3 | Export the history | TC-TI-5-03-021 |
| 3.3 | History paginated | TC-TI-5-03-022 |
| 3.3 | History available on web and mobile | TC-TI-5-03-023 |
| 3.3 | History event logging (viewed, exported) | TC-TI-5-03-024 |
| 3.3 | Audit logging of the entitlement change history | TC-TI-5-03-025 |
| 3.3 | Rule: The history is immutable and append-only. | TC-TI-5-03-018 |
| 3.3 | Rule: The history is filterable by period. | TC-TI-5-03-019 |
| 3.3 | Rule: History events (viewed, exported) are logged with the account and the timestamp. | TC-TI-5-03-020 |
| 3.3 | Rule: The entitlement change history is audit-logged with the account and the timestamp. | TC-TI-5-03-021 |

## 3.1 Entitlement Overview

### TC-TI-5-03-001 — Entitlement overview
**Type:** Positive
**Covers:** 3.1 → Entitlement overview; Rule: The headroom equals entitled minus in use.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Entitlement overview.
2. Observe the result and verify the full behavior: Entitlement overview.
**Expected Result:** Entitlement overview — delivered exactly as documented.
**Priority:** Critical

### TC-TI-5-03-002 — Total entitled licenses
**Type:** Positive
**Covers:** 3.1 → Total entitled licenses; Rule: The entitlement is by tier.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Total entitled licenses.
2. Observe the result and verify the full behavior: Total entitled licenses.
**Expected Result:** Total entitled licenses — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-003 — Licenses in use
**Type:** Positive
**Covers:** 3.1 → Licenses in use; Rule: Overview events (viewed) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Licenses in use.
2. Observe the result and verify the full behavior: Licenses in use.
**Expected Result:** Licenses in use — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-004 — Headroom shown
**Type:** Positive
**Covers:** 3.1 → Headroom shown; Rule: The entitlement overview is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Headroom shown.
2. Observe the result and verify the full behavior: Headroom shown.
**Expected Result:** Headroom shown — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-005 — Entitlement by tier
**Type:** Positive
**Covers:** 3.1 → Entitlement by tier
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Entitlement by tier.
2. Observe the result and verify the full behavior: Entitlement by tier.
**Expected Result:** Entitlement by tier — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-006 — Entitlement vs usage comparison
**Type:** Positive
**Covers:** 3.1 → Entitlement vs usage comparison
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Entitlement vs usage comparison.
2. Observe the result and verify the full behavior: Entitlement vs usage comparison.
**Expected Result:** Entitlement vs usage comparison — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-007 — Overview available on web and mobile
**Type:** Positive
**Covers:** 3.1 → Overview available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Overview available on web and mobile.
2. Observe the result and verify the full behavior: Overview available on web and mobile.
**Expected Result:** Overview available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-008 — Overview event logging (viewed)
**Type:** Positive
**Covers:** 3.1 → Overview event logging (viewed)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Overview event logging (viewed).
2. Observe the result and verify the full behavior: Overview event logging (viewed).
**Expected Result:** Overview event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-009 — Audit logging of the entitlement overview
**Type:** Positive
**Covers:** 3.1 → Audit logging of the entitlement overview
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the entitlement overview action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The entitlement overview action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.2 Usage vs Entitlement Alerts

### TC-TI-5-03-010 — Usage threshold warning
**Type:** Edge
**Covers:** 3.2 → Usage threshold warning; Rule: The block prevents new assignments beyond the entitlement.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Usage threshold warning.
2. Observe the result and verify the full behavior: Usage threshold warning.
**Expected Result:** Usage threshold warning — delivered exactly as documented.
**Priority:** Critical

### TC-TI-5-03-011 — Entitlement reached block
**Type:** Edge
**Covers:** 3.2 → Entitlement reached block; Rule: The threshold is configurable.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Entitlement reached block.
2. Observe the result and verify the full behavior: Entitlement reached block.
**Expected Result:** Entitlement reached block — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-012 — Configurable threshold
**Type:** Edge
**Covers:** 3.2 → Configurable threshold; Rule: Alerts events (shown, action taken) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Configurable threshold.
2. Observe the result and verify the full behavior: Configurable threshold.
**Expected Result:** Configurable threshold — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-013 — Alert with the current usage
**Type:** Positive
**Covers:** 3.2 → Alert with the current usage; Rule: The usage vs entitlement alerts is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Alert with the current usage.
2. Observe the result and verify the full behavior: Alert with the current usage.
**Expected Result:** Alert with the current usage — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-014 — Purchase or release from the alert
**Type:** Positive
**Covers:** 3.2 → Purchase or release from the alert
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Purchase or release from the alert.
2. Observe the result and verify the full behavior: Purchase or release from the alert.
**Expected Result:** Purchase or release from the alert — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-015 — Alerts available on web and mobile
**Type:** Positive
**Covers:** 3.2 → Alerts available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Alerts available on web and mobile.
2. Observe the result and verify the full behavior: Alerts available on web and mobile.
**Expected Result:** Alerts available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-016 — Alerts event logging (shown, action taken)
**Type:** Positive
**Covers:** 3.2 → Alerts event logging (shown, action taken)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Alerts event logging (shown, action taken).
2. Observe the result and verify the full behavior: Alerts event logging (shown, action taken).
**Expected Result:** Alerts event logging (shown, action taken) — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-017 — Audit logging of the usage vs entitlement alerts
**Type:** Positive
**Covers:** 3.2 → Audit logging of the usage vs entitlement alerts
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the usage vs entitlement alerts action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The usage vs entitlement alerts action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.3 Entitlement Change History

### TC-TI-5-03-018 — Entitlement change history
**Type:** Positive
**Covers:** 3.3 → Entitlement change history; Rule: The history is immutable and append-only.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Entitlement change history.
2. Observe the result and verify the full behavior: Entitlement change history.
**Expected Result:** Entitlement change history — delivered exactly as documented.
**Priority:** Critical

### TC-TI-5-03-019 — Date, old and new count, and reason per change
**Type:** Positive
**Covers:** 3.3 → Date, old and new count, and reason per change; Rule: The history is filterable by period.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Date, old and new count, and reason per change.
2. Observe the result and verify the full behavior: Date, old and new count, and reason per change.
**Expected Result:** Date, old and new count, and reason per change — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-020 — Filter by period
**Type:** Positive
**Covers:** 3.3 → Filter by period; Rule: History events (viewed, exported) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Filter by period.
2. Observe the result and verify the full behavior: Filter by period.
**Expected Result:** Filter by period — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-021 — Export the history
**Type:** Positive
**Covers:** 3.3 → Export the history; Rule: The entitlement change history is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Export the history.
2. Observe the result and verify the full behavior: Export the history.
**Expected Result:** Export the history — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-022 — History paginated
**Type:** Positive
**Covers:** 3.3 → History paginated
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: History paginated.
2. Observe the result and verify the full behavior: History paginated.
**Expected Result:** History paginated — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-023 — History available on web and mobile
**Type:** Positive
**Covers:** 3.3 → History available on web and mobile
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: History available on web and mobile.
2. Observe the result and verify the full behavior: History available on web and mobile.
**Expected Result:** History available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-024 — History event logging (viewed, exported)
**Type:** Positive
**Covers:** 3.3 → History event logging (viewed, exported)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: History event logging (viewed, exported).
2. Observe the result and verify the full behavior: History event logging (viewed, exported).
**Expected Result:** History event logging (viewed, exported) — delivered exactly as documented.
**Priority:** High

### TC-TI-5-03-025 — Audit logging of the entitlement change history
**Type:** Positive
**Covers:** 3.3 → Audit logging of the entitlement change history
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the entitlement change history action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The entitlement change history action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
