# 6. Support Overview — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: support_overview.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 |
|---------|--------------------|----------|
| 6.1 Support Ticket Overview | Ticket: the ticket (the ticket, the user, the type, the status, the date) | TC-SA-18-06-001 |
| 6.1 Support Ticket Overview | Ticket count: the count (the count of the tickets) | TC-SA-18-06-002 |
| 6.1 Support Ticket Overview | Ticket type: the type (the type of the ticket, e.g., the billing, the technical) | TC-SA-18-06-003 |
| 6.1 Support Ticket Overview | Ticket status: the status (the open, the pending, the resolved) | TC-SA-18-06-004 |
| 6.1 Support Ticket Overview | Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly) | TC-SA-18-06-005 |
| 6.1 Support Ticket Overview | Ticket view: the view (the tickets, the types, the statuses, the period) | TC-SA-18-06-006 |
| 6.1 Support Ticket Overview | Ticket export: the export (the tickets, the format, the period) | TC-SA-18-06-007 |
| 6.1 Support Ticket Overview | Audit logging of the ticket overview viewing | TC-SA-18-06-008 |
| 6.1 Support Ticket Overview | Rule: the ticket is the request (the ticket, the user, the type, the status, the date); the ticket is the issue | TC-SA-18-06-001 |
| 6.1 Support Ticket Overview | Rule: the ticket count is the measure (the count of the tickets); the count is the volume | TC-SA-18-06-002 |
| 6.1 Support Ticket Overview | Rule: the ticket type is the segment (the type of the ticket, e.g., the billing, the technical); the type is the category | TC-SA-18-06-003 |
| 6.1 Support Ticket Overview | Rule: the ticket status is the state (the open, the pending, the resolved); the status is the control | TC-SA-18-06-004 |
| 6.1 Support Ticket Overview | Rule: the tickets are visible (the tickets, the types, the statuses, the period); the viewing is managed | TC-SA-18-06-006 |
| 6.1 Support Ticket Overview | Rule: ticket overview viewing is audit-logged with the ticket, status, and timestamp | TC-SA-18-06-008 |
| 6.2 Open, Pending, and Resolved Tickets | Open ticket: the ticket (the open ticket, the user, the type, the date) | TC-SA-18-06-009 |
| 6.2 Open, Pending, and Resolved Tickets | Pending ticket: the ticket (the pending ticket, the user, the type, the date) | TC-SA-18-06-010 |
| 6.2 Open, Pending, and Resolved Tickets | Resolved ticket: the ticket (the resolved ticket, the user, the type, the date) | TC-SA-18-06-011 |
| 6.2 Open, Pending, and Resolved Tickets | Ticket status: the status (the open, the pending, the resolved) | TC-SA-18-06-012 |
| 6.2 Open, Pending, and Resolved Tickets | Ticket count: the count (the count of the tickets by status) | TC-SA-18-06-013 |
| 6.2 Open, Pending, and Resolved Tickets | Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly) | TC-SA-18-06-014 |
| 6.2 Open, Pending, and Resolved Tickets | Ticket view: the view (the tickets, the statuses, the counts, the period) | TC-SA-18-06-015 |
| 6.2 Open, Pending, and Resolved Tickets | Audit logging of the ticket status viewing | TC-SA-18-06-016 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: the open ticket is the new (the open ticket, the user, the type, the date); the ticket is the state | TC-SA-18-06-009 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: the pending ticket is the in-progress (the pending ticket, the user, the type, the date); the ticket is the state | TC-SA-18-06-010 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: the resolved ticket is the done (the resolved ticket, the user, the type, the date); the ticket is the state | TC-SA-18-06-011 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: the ticket status is the control (the open, the pending, the resolved); the status is the gate | TC-SA-18-06-012 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: the tickets are visible (the tickets, the statuses, the counts, the period); the viewing is managed | TC-SA-18-06-015 |
| 6.2 Open, Pending, and Resolved Tickets | Rule: ticket status viewing is audit-logged with the ticket, status, and timestamp | TC-SA-18-06-016 |
| 6.3 SLA Status | SLA: the SLA (the SLA, the ticket, the status, the deadline, the date) | TC-SA-18-06-017 |
| 6.3 SLA Status | SLA status: the status (the met, the at-risk, the breached) | TC-SA-18-06-018 |
| 6.3 SLA Status | SLA deadline: the deadline (the deadline of the SLA, the date) | TC-SA-18-06-019 |
| 6.3 SLA Status | SLA count: the count (the count of the SLAs by status) | TC-SA-18-06-020 |
| 6.3 SLA Status | SLA period: the period (the period of the SLAs, e.g., the daily, the weekly, the monthly) | TC-SA-18-06-021 |
| 6.3 SLA Status | SLA view: the view (the SLAs, the statuses, the deadlines, the period) | TC-SA-18-06-022 |
| 6.3 SLA Status | SLA export: the export (the SLAs, the format, the period) | TC-SA-18-06-023 |
| 6.3 SLA Status | Audit logging of the SLA status viewing | TC-SA-18-06-024 |
| 6.3 SLA Status | Rule: the SLA is the commitment (the SLA, the ticket, the status, the deadline, the date); the SLA is the promise | TC-SA-18-06-017 |
| 6.3 SLA Status | Rule: the SLA status is the state (the met, the at-risk, the breached); the status is the control | TC-SA-18-06-018 |
| 6.3 SLA Status | Rule: the SLA deadline is the time (the deadline of the SLA, the date); the deadline is the limit | TC-SA-18-06-019 |
| 6.3 SLA Status | Rule: the SLA count is the measure (the count of the SLAs by status); the count is the volume | TC-SA-18-06-020 |
| 6.3 SLA Status | Rule: the SLAs are visible (the SLAs, the statuses, the deadlines, the period); the viewing is managed | TC-SA-18-06-022 |
| 6.3 SLA Status | Rule: SLA status viewing is audit-logged with the SLA, status, and timestamp | TC-SA-18-06-024 |

## 6.1 Support Ticket Overview

### TC-SA-18-06-001 — Ticket: the ticket (the ticket, the user, the type, the status, the date); the ticket is the issue
**Type:** Positive
**Covers:** 6.1 → Ticket: the ticket (the ticket, the user, the type, the status, the date); Rule: the ticket is the request (the ticket, the user, the type, the status, the date); the ticket is the issue
**Preconditions:** Super Admin is logged in; support tickets exist.
**Steps:**
1. Open the Super Admin Dashboard.
2. View the support ticket overview: the tickets (the ticket, the user, the type, the status, the date) — verify the ticket is the request.
3. Verify each ticket shows the user, the type, the status, and the date.
4. Create a new ticket — verify it appears in the overview.
**Expected Result:** The tickets are shown — the ticket, the user, the type, the status, and the date are the issue.
**Priority:** Critical

### TC-SA-18-06-002 — Ticket count: the count (the count of the tickets); the count is the volume
**Type:** Positive
**Covers:** 6.1 → Ticket count: the count (the count of the tickets); Rule: the ticket count is the measure (the count of the tickets); the count is the volume
**Preconditions:** Support tickets exist.
**Steps:**
1. View the ticket count: the count (the count of the tickets) — verify the count is the measure.
2. Verify the count matches the actual number of tickets.
3. Create a new ticket — verify the count increments by 1.
**Expected Result:** The ticket count is shown — the count of the tickets is the volume; counts update in real time.
**Priority:** Critical

### TC-SA-18-06-003 — Ticket type: the type (the type of the ticket, e.g., the billing, the technical); the type is the category
**Type:** Positive
**Covers:** 6.1 → Ticket type: the type (the type of the ticket, e.g., the billing, the technical); Rule: the ticket type is the segment (the type of the ticket, e.g., the billing, the technical); the type is the category
**Preconditions:** Tickets of multiple types exist.
**Steps:**
1. View the ticket type: the type (the type of the ticket, e.g., the billing, the technical) — verify the type is the segment.
2. Verify tickets are segmented by type.
3. Verify each type's ticket count is accurate.
**Expected Result:** The ticket type is shown — the type of the ticket (the billing, the technical) is the category.
**Priority:** High

### TC-SA-18-06-004 — Ticket status: the status (the open, the pending, the resolved); the status is the control
**Type:** Positive
**Covers:** 6.1 → Ticket status: the status (the open, the pending, the resolved); Rule: the ticket status is the state (the open, the pending, the resolved); the status is the control
**Preconditions:** Tickets in all three statuses exist.
**Steps:**
1. View the ticket statuses: the status (the open, the pending, the resolved) — verify the status is the state.
2. Verify tickets are segmented by status.
3. Resolve an open ticket — verify it moves from open to resolved in the overview.
**Expected Result:** The ticket status is shown — the open, the pending, and the resolved are the control.
**Priority:** Critical

### TC-SA-18-06-005 — Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly); the period is the scope
**Type:** Positive
**Covers:** 6.1 → Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly)
**Preconditions:** Tickets exist across daily, weekly, and monthly periods.
**Steps:**
1. Set the ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly) — verify the period is the scope.
2. Switch between daily, weekly, and monthly — verify the tickets update for each period.
3. Verify each period covers the correct date range.
**Expected Result:** The ticket period is set — the period of the tickets (the daily, the weekly, the monthly) is the scope.
**Priority:** High

### TC-SA-18-06-006 — Ticket view: the view (the tickets, the types, the statuses, the period); the viewing is managed
**Type:** Positive
**Covers:** 6.1 → Ticket view: the view (the tickets, the types, the statuses, the period); Rule: the tickets are visible (the tickets, the types, the statuses, the period); the viewing is managed
**Preconditions:** Tickets exist across a period.
**Steps:**
1. View the tickets: the view (the tickets, the types, the statuses, the period) — verify the tickets are visible.
2. Verify the view is complete for the period.
**Expected Result:** The ticket view works — the tickets, the types, the statuses, and the period are visible.
**Priority:** High

### TC-SA-18-06-007 — Ticket export: the export (the tickets, the format, the period); the export is the record
**Type:** Positive
**Covers:** 6.1 → Ticket export: the export (the tickets, the format, the period)
**Preconditions:** Tickets exist for a period.
**Steps:**
1. Export the tickets: the export (the tickets, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the ticket view.
**Expected Result:** The tickets are exported — the tickets in the selected format for the period are generated.
**Priority:** Medium

### TC-SA-18-06-008 — Ticket overview viewing is audit-logged with the ticket, status, and timestamp
**Type:** Positive
**Covers:** 6.1 → Audit logging of the ticket overview viewing; Rule: ticket overview viewing is audit-logged with the ticket, status, and timestamp
**Preconditions:** Super Admin has viewed the support ticket overview.
**Steps:**
1. Open the audit trail and filter by "ticket overview".
2. Verify entries show the ticket, the status, and the timestamp.
**Expected Result:** The ticket overview viewing is audit-logged with the ticket, status, and timestamp.
**Priority:** Critical

## 6.2 Open, Pending, and Resolved Tickets

### TC-SA-18-06-009 — Open ticket: the ticket (the open ticket, the user, the type, the date); the ticket is the state
**Type:** Positive
**Covers:** 6.2 → Open ticket: the ticket (the open ticket, the user, the type, the date); Rule: the open ticket is the new (the open ticket, the user, the type, the date); the ticket is the state
**Preconditions:** Open tickets exist.
**Steps:**
1. View the open tickets: the ticket (the open ticket, the user, the type, the date) — verify the ticket is the new.
2. Verify each open ticket shows the user, the type, and the date.
3. Create a new ticket — verify it appears in the open tickets.
**Expected Result:** The open tickets are shown — the open ticket, the user, the type, and the date are the state.
**Priority:** Critical

### TC-SA-18-06-010 — Pending ticket: the ticket (the pending ticket, the user, the type, the date); the ticket is the state
**Type:** Positive
**Covers:** 6.2 → Pending ticket: the ticket (the pending ticket, the user, the type, the date); Rule: the pending ticket is the in-progress (the pending ticket, the user, the type, the date); the ticket is the state
**Preconditions:** Pending tickets exist.
**Steps:**
1. View the pending tickets: the ticket (the pending ticket, the user, the type, the date) — verify the ticket is the in-progress.
2. Verify each pending ticket shows the user, the type, and the date.
3. Move an open ticket to pending — verify it appears in the pending tickets.
**Expected Result:** The pending tickets are shown — the pending ticket, the user, the type, and the date are the state.
**Priority:** Critical

### TC-SA-18-06-011 — Resolved ticket: the ticket (the resolved ticket, the user, the type, the date); the ticket is the state
**Type:** Positive
**Covers:** 6.2 → Resolved ticket: the ticket (the resolved ticket, the user, the type, the date); Rule: the resolved ticket is the done (the resolved ticket, the user, the type, the date); the ticket is the state
**Preconditions:** Resolved tickets exist.
**Steps:**
1. View the resolved tickets: the ticket (the resolved ticket, the user, the type, the date) — verify the ticket is the done.
2. Verify each resolved ticket shows the user, the type, and the date.
3. Resolve a pending ticket — verify it appears in the resolved tickets.
**Expected Result:** The resolved tickets are shown — the resolved ticket, the user, the type, and the date are the state.
**Priority:** Critical

### TC-SA-18-06-012 — Ticket status: the status (the open, the pending, the resolved); the status is the gate
**Type:** Edge
**Covers:** 6.2 → Ticket status: the status (the open, the pending, the resolved); Rule: the ticket status is the control (the open, the pending, the resolved); the status is the gate
**Preconditions:** Tickets in all three statuses exist; a ticket with no status also exists (edge).
**Steps:**
1. View the ticket statuses: the status (the open, the pending, the resolved) — verify the status is the control.
2. Verify tickets are segmented by status.
3. Verify a ticket with no status is not counted in any status bucket (no misclassification).
**Expected Result:** The ticket status is shown — the open, the pending, and the resolved are the gate; a status-less ticket is not misclassified.
**Priority:** High

### TC-SA-18-06-013 — Ticket count: the count (the count of the tickets by status); the count is the volume
**Type:** Positive
**Covers:** 6.2 → Ticket count: the count (the count of the tickets by status)
**Preconditions:** Tickets in all three statuses exist.
**Steps:**
1. View the ticket count: the count (the count of the tickets by status) — verify the count is the measure.
2. Verify each status's count matches the actual number of tickets in that status.
3. Verify the sum of the status counts equals the total ticket count.
**Expected Result:** The ticket count is shown — the count of the tickets by status is the volume.
**Priority:** High

### TC-SA-18-06-014 — Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly); the period is the scope
**Type:** Positive
**Covers:** 6.2 → Ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly)
**Preconditions:** Tickets exist across daily, weekly, and monthly periods.
**Steps:**
1. Set the ticket period: the period (the period of the tickets, e.g., the daily, the weekly, the monthly) — verify the period is the scope.
2. Switch between daily, weekly, and monthly — verify the tickets update for each period.
3. Verify each period covers the correct date range.
**Expected Result:** The ticket period is set — the period of the tickets (the daily, the weekly, the monthly) is the scope.
**Priority:** High

### TC-SA-18-06-015 — Ticket view: the view (the tickets, the statuses, the counts, the period); the viewing is managed
**Type:** Positive
**Covers:** 6.2 → Ticket view: the view (the tickets, the statuses, the counts, the period); Rule: the tickets are visible (the tickets, the statuses, the counts, the period); the viewing is managed
**Preconditions:** Tickets in various statuses exist across a period.
**Steps:**
1. View the tickets: the view (the tickets, the statuses, the counts, the period) — verify the tickets are visible.
2. Verify the view is complete for the period.
**Expected Result:** The ticket view works — the tickets, the statuses, the counts, and the period are visible.
**Priority:** High

### TC-SA-18-06-016 — Ticket status viewing is audit-logged with the ticket, status, and timestamp
**Type:** Positive
**Covers:** 6.2 → Audit logging of the ticket status viewing; Rule: ticket status viewing is audit-logged with the ticket, status, and timestamp
**Preconditions:** Super Admin has viewed the tickets by status.
**Steps:**
1. Open the audit trail and filter by "ticket status".
2. Verify entries show the ticket, the status, and the timestamp.
**Expected Result:** The ticket status viewing is audit-logged with the ticket, status, and timestamp.
**Priority:** Critical

## 6.3 SLA Status

### TC-SA-18-06-017 — SLA: the SLA (the SLA, the ticket, the status, the deadline, the date); the SLA is the promise
**Type:** Positive
**Covers:** 6.3 → SLA: the SLA (the SLA, the ticket, the status, the deadline, the date); Rule: the SLA is the commitment (the SLA, the ticket, the status, the deadline, the date); the SLA is the promise
**Preconditions:** SLAs exist for tickets.
**Steps:**
1. View the SLA status: the SLAs (the SLA, the ticket, the status, the deadline, the date) — verify the SLA is the commitment.
2. Verify each SLA shows the ticket, the status, the deadline, and the date.
3. Verify each SLA is linked to the correct ticket.
**Expected Result:** The SLAs are shown — the SLA, the ticket, the status, the deadline, and the date are the promise.
**Priority:** Critical

### TC-SA-18-06-018 — SLA status: the status (the met, the at-risk, the breached); the status is the control
**Type:** Edge
**Covers:** 6.3 → SLA status: the status (the met, the at-risk, the breached); Rule: the SLA status is the state (the met, the at-risk, the breached); the status is the control
**Preconditions:** SLAs in all three statuses exist; an SLA approaching its deadline also exists.
**Steps:**
1. View the SLA statuses: the status (the met, the at-risk, the breached) — verify the status is the state.
2. Verify SLAs are segmented by status.
3. Wait for an at-risk SLA to pass its deadline without resolution — verify it transitions to "breached".
**Expected Result:** The SLA status is shown — the met, the at-risk, and the breached are the control; the status transitions correctly at the deadline.
**Priority:** Critical

### TC-SA-18-06-019 — SLA deadline: the deadline (the deadline of the SLA, the date); the deadline is the limit
**Type:** Positive
**Covers:** 6.3 → SLA deadline: the deadline (the deadline of the SLA, the date); Rule: the SLA deadline is the time (the deadline of the SLA, the date); the deadline is the limit
**Preconditions:** SLAs with deadlines exist.
**Steps:**
1. View the SLA deadlines: the deadline (the deadline of the SLA, the date) — verify the deadline is the time.
2. Verify each SLA shows the correct deadline date.
3. Verify the deadline is calculated correctly from the ticket creation date + SLA duration.
**Expected Result:** The SLA deadline is shown — the deadline of the SLA and the date are the limit.
**Priority:** High

### TC-SA-18-06-020 — SLA count: the count (the count of the SLAs by status); the count is the volume
**Type:** Positive
**Covers:** 6.3 → SLA count: the count (the count of the SLAs by status); Rule: the SLA count is the measure (the count of the SLAs by status); the count is the volume
**Preconditions:** SLAs in all three statuses exist.
**Steps:**
1. View the SLA count: the count (the count of the SLAs by status) — verify the count is the measure.
2. Verify each status's count matches the actual number of SLAs in that status.
**Expected Result:** The SLA count is shown — the count of the SLAs by status is the volume.
**Priority:** High

### TC-SA-18-06-021 — SLA period: the period (the period of the SLAs, e.g., the daily, the weekly, the monthly); the period is the scope
**Type:** Positive
**Covers:** 6.3 → SLA period: the period (the period of the SLAs, e.g., the daily, the weekly, the monthly)
**Preconditions:** SLAs exist across daily, weekly, and monthly periods.
**Steps:**
1. Set the SLA period: the period (the period of the SLAs, e.g., the daily, the weekly, the monthly) — verify the period is the scope.
2. Switch between daily, weekly, and monthly — verify the SLAs update for each period.
3. Verify each period covers the correct date range.
**Expected Result:** The SLA period is set — the period of the SLAs (the daily, the weekly, the monthly) is the scope.
**Priority:** High

### TC-SA-18-06-022 — SLA view: the view (the SLAs, the statuses, the deadlines, the period); the viewing is managed
**Type:** Positive
**Covers:** 6.3 → SLA view: the view (the SLAs, the statuses, the deadlines, the period); Rule: the SLAs are visible (the SLAs, the statuses, the deadlines, the period); the viewing is managed
**Preconditions:** SLAs exist across a period.
**Steps:**
1. View the SLAs: the view (the SLAs, the statuses, the deadlines, the period) — verify the SLAs are visible.
2. Verify the view is complete for the period.
**Expected Result:** The SLA view works — the SLAs, the statuses, the deadlines, and the period are visible.
**Priority:** High

### TC-SA-18-06-023 — SLA export: the export (the SLAs, the format, the period); the export is the record
**Type:** Positive
**Covers:** 6.3 → SLA export: the export (the SLAs, the format, the period)
**Preconditions:** SLAs exist for a period.
**Steps:**
1. Export the SLAs: the export (the SLAs, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the SLA view.
**Expected Result:** The SLAs are exported — the SLAs in the selected format for the period are generated.
**Priority:** Medium

### TC-SA-18-06-024 — SLA status viewing is audit-logged with the SLA, status, and timestamp
**Type:** Positive
**Covers:** 6.3 → Audit logging of the SLA status viewing; Rule: SLA status viewing is audit-logged with the SLA, status, and timestamp
**Preconditions:** Super Admin has viewed the SLA status.
**Steps:**
1. Open the audit trail and filter by "SLA".
2. Verify entries show the SLA, the status, and the timestamp.
**Expected Result:** The SLA status viewing is audit-logged with the SLA, status, and timestamp.
**Priority:** Critical
