# 3. License Alerts & Quick Actions — Test Cases

User Type: **Training Institute**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: license_alerts_quick_actions.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 | Licenses expiring within the window | TC-TI-2-03-001 |
| 3.1 | Licenses already expired | TC-TI-2-03-002 |
| 3.1 | Number of students affected | TC-TI-2-03-003 |
| 3.1 | Configurable expiry window | TC-TI-2-03-004 |
| 3.1 | Renew or reallocate from the alert | TC-TI-2-03-005 |
| 3.1 | Alerts available on web and mobile | TC-TI-2-03-006 |
| 3.1 | Alerts event logging (shown, action taken) | TC-TI-2-03-007 |
| 3.1 | Audit logging of the license expiry alerts | TC-TI-2-03-008 |
| 3.1 | Rule: The expiry window is configurable. | TC-TI-2-03-001 |
| 3.1 | Rule: An expired license immediately restricts the affected students' access. | TC-TI-2-03-002 |
| 3.1 | Rule: Alerts events (shown, action taken) are logged with the account and the timestamp. | TC-TI-2-03-003 |
| 3.1 | Rule: The license expiry alerts is audit-logged with the account and the timestamp. | TC-TI-2-03-004 |
| 3.2 | Quick actions on the dashboard | TC-TI-2-03-009 |
| 3.2 | Add students action | TC-TI-2-03-010 |
| 3.2 | Purchase licenses action | TC-TI-2-03-011 |
| 3.2 | View reports action | TC-TI-2-03-012 |
| 3.2 | Contact support action | TC-TI-2-03-013 |
| 3.2 | Actions configurable | TC-TI-2-03-014 |
| 3.2 | Actions available on web and mobile | TC-TI-2-03-015 |
| 3.2 | Actions event logging (used) | TC-TI-2-03-016 |
| 3.2 | Audit logging of the quick actions | TC-TI-2-03-017 |
| 3.2 | Rule: The actions are configurable. | TC-TI-2-03-009 |
| 3.2 | Rule: An action is taken to the relevant screen. | TC-TI-2-03-010 |
| 3.2 | Rule: Actions events (used) are logged with the account and the timestamp. | TC-TI-2-03-011 |
| 3.2 | Rule: The quick actions is audit-logged with the account and the timestamp. | TC-TI-2-03-012 |
| 3.3 | Dashboard notifications list | TC-TI-2-03-018 |
| 3.3 | Unread count shown | TC-TI-2-03-019 |
| 3.3 | License, student, billing, and system notifications | TC-TI-2-03-020 |
| 3.3 | Read a notification | TC-TI-2-03-021 |
| 3.3 | Mark a notification as read | TC-TI-2-03-022 |
| 3.3 | Notifications available on web and mobile | TC-TI-2-03-023 |
| 3.3 | Notifications event logging (viewed, marked read) | TC-TI-2-03-024 |
| 3.3 | Audit logging of the dashboard notifications | TC-TI-2-03-025 |
| 3.3 | Rule: The unread count updates on mark-as-read. | TC-TI-2-03-018 |
| 3.3 | Rule: The critical notifications are always shown. | TC-TI-2-03-019 |
| 3.3 | Rule: Notifications events (viewed, marked read) are logged with the account and the timestamp. | TC-TI-2-03-020 |
| 3.3 | Rule: The dashboard notifications is audit-logged with the account and the timestamp. | TC-TI-2-03-021 |

## 3.1 License Expiry Alerts

### TC-TI-2-03-001 — Licenses expiring within the window
**Type:** Edge
**Covers:** 3.1 → Licenses expiring within the window; Rule: The expiry window 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: Licenses expiring within the window.
2. Observe the result and verify the full behavior: Licenses expiring within the window.
**Expected Result:** Licenses expiring within the window — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-03-002 — Licenses already expired
**Type:** Edge
**Covers:** 3.1 → Licenses already expired; Rule: An expired license immediately restricts the affected students' access.
**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 already expired.
2. Observe the result and verify the full behavior: Licenses already expired.
**Expected Result:** Licenses already expired — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-003 — Number of students affected
**Type:** Positive
**Covers:** 3.1 → Number of students affected; 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: Number of students affected.
2. Observe the result and verify the full behavior: Number of students affected.
**Expected Result:** Number of students affected — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-004 — Configurable expiry window
**Type:** Edge
**Covers:** 3.1 → Configurable expiry window; Rule: The license expiry 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: Configurable expiry window.
2. Observe the result and verify the full behavior: Configurable expiry window.
**Expected Result:** Configurable expiry window — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-005 — Renew or reallocate from the alert
**Type:** Positive
**Covers:** 3.1 → Renew or reallocate 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: Renew or reallocate from the alert.
2. Observe the result and verify the full behavior: Renew or reallocate from the alert.
**Expected Result:** Renew or reallocate from the alert — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-006 — Alerts available on web and mobile
**Type:** Positive
**Covers:** 3.1 → 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-2-03-007 — Alerts event logging (shown, action taken)
**Type:** Positive
**Covers:** 3.1 → 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-2-03-008 — Audit logging of the license expiry alerts
**Type:** Edge
**Covers:** 3.1 → Audit logging of the license expiry 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 license expiry alerts action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The license expiry alerts action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.2 Quick Actions

### TC-TI-2-03-009 — Quick actions on the dashboard
**Type:** Positive
**Covers:** 3.2 → Quick actions on the dashboard; Rule: The actions are 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: Quick actions on the dashboard.
2. Observe the result and verify the full behavior: Quick actions on the dashboard.
**Expected Result:** Quick actions on the dashboard — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-03-010 — Add students action
**Type:** Positive
**Covers:** 3.2 → Add students action; Rule: An action is taken to the relevant screen.
**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: Add students action.
2. Observe the result and verify the full behavior: Add students action.
**Expected Result:** Add students action — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-011 — Purchase licenses action
**Type:** Positive
**Covers:** 3.2 → Purchase licenses action; Rule: Actions events (used) 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: Purchase licenses action.
2. Observe the result and verify the full behavior: Purchase licenses action.
**Expected Result:** Purchase licenses action — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-012 — View reports action
**Type:** Positive
**Covers:** 3.2 → View reports action; Rule: The quick actions 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: View reports action.
2. Observe the result and verify the full behavior: View reports action.
**Expected Result:** View reports action — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-013 — Contact support action
**Type:** Positive
**Covers:** 3.2 → Contact support action
**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: Contact support action.
2. Observe the result and verify the full behavior: Contact support action.
**Expected Result:** Contact support action — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-014 — Actions configurable
**Type:** Positive
**Covers:** 3.2 → Actions 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: Actions configurable.
2. Observe the result and verify the full behavior: Actions configurable.
**Expected Result:** Actions configurable — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-015 — Actions available on web and mobile
**Type:** Positive
**Covers:** 3.2 → Actions 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: Actions available on web and mobile.
2. Observe the result and verify the full behavior: Actions available on web and mobile.
**Expected Result:** Actions available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-016 — Actions event logging (used)
**Type:** Positive
**Covers:** 3.2 → Actions event logging (used)
**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: Actions event logging (used).
2. Observe the result and verify the full behavior: Actions event logging (used).
**Expected Result:** Actions event logging (used) — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-017 — Audit logging of the quick actions
**Type:** Positive
**Covers:** 3.2 → Audit logging of the quick actions
**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 quick actions action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The quick actions action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 3.3 Dashboard Notifications

### TC-TI-2-03-018 — Dashboard notifications list
**Type:** Positive
**Covers:** 3.3 → Dashboard notifications list; Rule: The unread count updates on mark-as-read.
**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: Dashboard notifications list.
2. Observe the result and verify the full behavior: Dashboard notifications list.
**Expected Result:** Dashboard notifications list — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-03-019 — Unread count shown
**Type:** Positive
**Covers:** 3.3 → Unread count shown; Rule: The critical notifications are always shown.
**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: Unread count shown.
2. Observe the result and verify the full behavior: Unread count shown.
**Expected Result:** Unread count shown — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-020 — License, student, billing, and system notifications
**Type:** Positive
**Covers:** 3.3 → License, student, billing, and system notifications; Rule: Notifications events (viewed, marked read) 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: License, student, billing, and system notifications.
2. Observe the result and verify the full behavior: License, student, billing, and system notifications.
**Expected Result:** License, student, billing, and system notifications — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-021 — Read a notification
**Type:** Positive
**Covers:** 3.3 → Read a notification; Rule: The dashboard notifications 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: Read a notification.
2. Observe the result and verify the full behavior: Read a notification.
**Expected Result:** Read a notification — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-022 — Mark a notification as read
**Type:** Positive
**Covers:** 3.3 → Mark a notification as read
**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: Mark a notification as read.
2. Observe the result and verify the full behavior: Mark a notification as read.
**Expected Result:** Mark a notification as read — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-023 — Notifications available on web and mobile
**Type:** Positive
**Covers:** 3.3 → Notifications 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: Notifications available on web and mobile.
2. Observe the result and verify the full behavior: Notifications available on web and mobile.
**Expected Result:** Notifications available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-024 — Notifications event logging (viewed, marked read)
**Type:** Positive
**Covers:** 3.3 → Notifications event logging (viewed, marked read)
**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: Notifications event logging (viewed, marked read).
2. Observe the result and verify the full behavior: Notifications event logging (viewed, marked read).
**Expected Result:** Notifications event logging (viewed, marked read) — delivered exactly as documented.
**Priority:** High

### TC-TI-2-03-025 — Audit logging of the dashboard notifications
**Type:** Positive
**Covers:** 3.3 → Audit logging of the dashboard notifications
**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 dashboard notifications action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The dashboard notifications action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
