# 4. Dashboard Customization & Reports — Test Cases

User Type: **Training Institute**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: dashboard_customization_reports.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 |
|---------|--------------------|----------|
| 4.1 | Dashboard widgets shown | TC-TI-2-04-001 |
| 4.1 | Drag widgets to rearrange | TC-TI-2-04-002 |
| 4.1 | Toggle a widget on or off | TC-TI-2-04-003 |
| 4.1 | Widget size options | TC-TI-2-04-004 |
| 4.1 | Layout saved per admin user | TC-TI-2-04-005 |
| 4.1 | Customization available on web and mobile | TC-TI-2-04-006 |
| 4.1 | Customization event logging (layout changed) | TC-TI-2-04-007 |
| 4.1 | Audit logging of the dashboard widget layout | TC-TI-2-04-008 |
| 4.1 | Rule: The layout is saved per admin user. | TC-TI-2-04-001 |
| 4.1 | Rule: A widget can be toggled on or off. | TC-TI-2-04-002 |
| 4.1 | Rule: Customization events (layout changed) are logged with the account and the timestamp. | TC-TI-2-04-003 |
| 4.1 | Rule: The dashboard widget layout is audit-logged with the account and the timestamp. | TC-TI-2-04-004 |
| 4.2 | Standard reports list | TC-TI-2-04-009 |
| 4.2 | Enrollment report | TC-TI-2-04-010 |
| 4.2 | License usage report | TC-TI-2-04-011 |
| 4.2 | Student performance report | TC-TI-2-04-012 |
| 4.2 | Billing report | TC-TI-2-04-013 |
| 4.2 | Set the report period | TC-TI-2-04-014 |
| 4.2 | View or export a report | TC-TI-2-04-015 |
| 4.2 | Reports available on web and mobile | TC-TI-2-04-016 |
| 4.2 | Reports event logging (viewed, exported) | TC-TI-2-04-017 |
| 4.2 | Audit logging of the standard reports | TC-TI-2-04-018 |
| 4.2 | Rule: The report period is selectable. | TC-TI-2-04-009 |
| 4.2 | Rule: A report can be exported. | TC-TI-2-04-010 |
| 4.2 | Rule: Reports events (viewed, exported) are logged with the account and the timestamp. | TC-TI-2-04-011 |
| 4.2 | Rule: The standard reports is audit-logged with the account and the timestamp. | TC-TI-2-04-012 |
| 4.3 | Schedule a report | TC-TI-2-04-019 |
| 4.3 | Report frequency options | TC-TI-2-04-020 |
| 4.3 | Recipients selection | TC-TI-2-04-021 |
| 4.3 | Report delivered by email on schedule | TC-TI-2-04-022 |
| 4.3 | Scheduled reports list | TC-TI-2-04-023 |
| 4.3 | Pause or cancel a scheduled report | TC-TI-2-04-024 |
| 4.3 | Scheduling available on web and mobile | TC-TI-2-04-025 |
| 4.3 | Scheduling event logging (scheduled, delivered) | TC-TI-2-04-026 |
| 4.3 | Audit logging of the scheduled reports | TC-TI-2-04-027 |
| 4.3 | Rule: The report is delivered by email on schedule. | TC-TI-2-04-019 |
| 4.3 | Rule: A scheduled report can be paused or cancelled. | TC-TI-2-04-020 |
| 4.3 | Rule: Scheduling events (scheduled, delivered) are logged with the account and the timestamp. | TC-TI-2-04-021 |
| 4.3 | Rule: The scheduled reports is audit-logged with the account and the timestamp. | TC-TI-2-04-022 |

## 4.1 Dashboard Widget Layout

### TC-TI-2-04-001 — Dashboard widgets shown
**Type:** Positive
**Covers:** 4.1 → Dashboard widgets shown; Rule: The layout is saved per admin user.
**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 widgets shown.
2. Observe the result and verify the full behavior: Dashboard widgets shown.
**Expected Result:** Dashboard widgets shown — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-04-002 — Drag widgets to rearrange
**Type:** Positive
**Covers:** 4.1 → Drag widgets to rearrange; Rule: A widget can be toggled on or off.
**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: Drag widgets to rearrange.
2. Observe the result and verify the full behavior: Drag widgets to rearrange.
**Expected Result:** Drag widgets to rearrange — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-003 — Toggle a widget on or off
**Type:** Positive
**Covers:** 4.1 → Toggle a widget on or off; Rule: Customization events (layout changed) 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: Toggle a widget on or off.
2. Observe the result and verify the full behavior: Toggle a widget on or off.
**Expected Result:** Toggle a widget on or off — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-004 — Widget size options
**Type:** Positive
**Covers:** 4.1 → Widget size options; Rule: The dashboard widget layout 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: Widget size options.
2. Observe the result and verify the full behavior: Widget size options.
**Expected Result:** Widget size options — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-005 — Layout saved per admin user
**Type:** Positive
**Covers:** 4.1 → Layout saved per admin user
**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: Layout saved per admin user.
2. Observe the result and verify the full behavior: Layout saved per admin user.
**Expected Result:** Layout saved per admin user — delivered exactly as documented.
**Priority:** High

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

### TC-TI-2-04-007 — Customization event logging (layout changed)
**Type:** Positive
**Covers:** 4.1 → Customization event logging (layout changed)
**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: Customization event logging (layout changed).
2. Observe the result and verify the full behavior: Customization event logging (layout changed).
**Expected Result:** Customization event logging (layout changed) — delivered exactly as documented.
**Priority:** High

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


## 4.2 Standard Reports

### TC-TI-2-04-009 — Standard reports list
**Type:** Positive
**Covers:** 4.2 → Standard reports list; Rule: The report period is selectable.
**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: Standard reports list.
2. Observe the result and verify the full behavior: Standard reports list.
**Expected Result:** Standard reports list — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-04-010 — Enrollment report
**Type:** Positive
**Covers:** 4.2 → Enrollment report; Rule: A report can be 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: Enrollment report.
2. Observe the result and verify the full behavior: Enrollment report.
**Expected Result:** Enrollment report — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-011 — License usage report
**Type:** Positive
**Covers:** 4.2 → License usage report; Rule: Reports 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: License usage report.
2. Observe the result and verify the full behavior: License usage report.
**Expected Result:** License usage report — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-012 — Student performance report
**Type:** Positive
**Covers:** 4.2 → Student performance report; Rule: The standard reports 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: Student performance report.
2. Observe the result and verify the full behavior: Student performance report.
**Expected Result:** Student performance report — delivered exactly as documented.
**Priority:** High

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

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

### TC-TI-2-04-015 — View or export a report
**Type:** Positive
**Covers:** 4.2 → View or export a report
**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 or export a report.
2. Observe the result and verify the full behavior: View or export a report.
**Expected Result:** View or export a report — delivered exactly as documented.
**Priority:** High

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

### TC-TI-2-04-017 — Reports event logging (viewed, exported)
**Type:** Positive
**Covers:** 4.2 → Reports 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: Reports event logging (viewed, exported).
2. Observe the result and verify the full behavior: Reports event logging (viewed, exported).
**Expected Result:** Reports event logging (viewed, exported) — delivered exactly as documented.
**Priority:** High

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


## 4.3 Scheduled Reports

### TC-TI-2-04-019 — Schedule a report
**Type:** Positive
**Covers:** 4.3 → Schedule a report; Rule: The report is delivered by email on schedule.
**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: Schedule a report.
2. Observe the result and verify the full behavior: Schedule a report.
**Expected Result:** Schedule a report — delivered exactly as documented.
**Priority:** Critical

### TC-TI-2-04-020 — Report frequency options
**Type:** Positive
**Covers:** 4.3 → Report frequency options; Rule: A scheduled report can be paused or cancelled.
**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: Report frequency options.
2. Observe the result and verify the full behavior: Report frequency options.
**Expected Result:** Report frequency options — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-021 — Recipients selection
**Type:** Positive
**Covers:** 4.3 → Recipients selection; Rule: Scheduling events (scheduled, delivered) 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: Recipients selection.
2. Observe the result and verify the full behavior: Recipients selection.
**Expected Result:** Recipients selection — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-022 — Report delivered by email on schedule
**Type:** Positive
**Covers:** 4.3 → Report delivered by email on schedule; Rule: The scheduled reports 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: Report delivered by email on schedule.
2. Observe the result and verify the full behavior: Report delivered by email on schedule.
**Expected Result:** Report delivered by email on schedule — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-023 — Scheduled reports list
**Type:** Positive
**Covers:** 4.3 → Scheduled reports list
**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: Scheduled reports list.
2. Observe the result and verify the full behavior: Scheduled reports list.
**Expected Result:** Scheduled reports list — delivered exactly as documented.
**Priority:** High

### TC-TI-2-04-024 — Pause or cancel a scheduled report
**Type:** Positive
**Covers:** 4.3 → Pause or cancel a scheduled report
**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: Pause or cancel a scheduled report.
2. Observe the result and verify the full behavior: Pause or cancel a scheduled report.
**Expected Result:** Pause or cancel a scheduled report — delivered exactly as documented.
**Priority:** High

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

### TC-TI-2-04-026 — Scheduling event logging (scheduled, delivered)
**Type:** Positive
**Covers:** 4.3 → Scheduling event logging (scheduled, delivered)
**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: Scheduling event logging (scheduled, delivered).
2. Observe the result and verify the full behavior: Scheduling event logging (scheduled, delivered).
**Expected Result:** Scheduling event logging (scheduled, delivered) — delivered exactly as documented.
**Priority:** High

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