# 4. Content Delivery — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: content_delivery.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 |
|---------|--------------------|----------|
| 4.1 Content Delivery Network (CDN) Monitoring | Performance | TC-SA-24-04-001 |
| 4.1 Content Delivery Network (CDN) Monitoring | Node | TC-SA-24-04-002 |
| 4.1 Content Delivery Network (CDN) Monitoring | Traffic | TC-SA-24-04-003 |
| 4.1 Content Delivery Network (CDN) Monitoring | Performance status | TC-SA-24-04-004 |
| 4.1 Content Delivery Network (CDN) Monitoring | Performance count | TC-SA-24-04-005 |
| 4.1 Content Delivery Network (CDN) Monitoring | Performance period | TC-SA-24-04-006 |
| 4.1 Content Delivery Network (CDN) Monitoring | Performance view | TC-SA-24-04-007 |
| 4.1 Content Delivery Network (CDN) Monitoring | Audit logging of the CDN monitoring | TC-SA-24-04-008 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: the performance is the measure/rate | TC-SA-24-04-001 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: the node is the point/location | TC-SA-24-04-002 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: the traffic is the load/demand | TC-SA-24-04-003 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: the performance status is the state/control | TC-SA-24-04-004 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: the CDN is healthy — monitoring is managed | TC-SA-24-04-007 |
| 4.1 Content Delivery Network (CDN) Monitoring | Rule: audit-logged with performance, node, and timestamp | TC-SA-24-04-008 |
| 4.2 Fast Video Streaming Globally | Streaming | TC-SA-24-04-009 |
| 4.2 Fast Video Streaming Globally | Video | TC-SA-24-04-010 |
| 4.2 Fast Video Streaming Globally | Region | TC-SA-24-04-011 |
| 4.2 Fast Video Streaming Globally | Streaming speed | TC-SA-24-04-012 |
| 4.2 Fast Video Streaming Globally | Streaming status | TC-SA-24-04-013 |
| 4.2 Fast Video Streaming Globally | Streaming count | TC-SA-24-04-014 |
| 4.2 Fast Video Streaming Globally | Streaming view | TC-SA-24-04-015 |
| 4.2 Fast Video Streaming Globally | Audit logging of the global video streaming | TC-SA-24-04-016 |
| 4.2 Fast Video Streaming Globally | Rule: the streaming is the delivery/flow | TC-SA-24-04-009 |
| 4.2 Fast Video Streaming Globally | Rule: the video is the content/asset | TC-SA-24-04-010 |
| 4.2 Fast Video Streaming Globally | Rule: the region is the location/area | TC-SA-24-04-011 |
| 4.2 Fast Video Streaming Globally | Rule: the streaming status is the state/control | TC-SA-24-04-013 |
| 4.2 Fast Video Streaming Globally | Rule: the videos stream fast — streaming is managed | TC-SA-24-04-015 |
| 4.2 Fast Video Streaming Globally | Rule: audit-logged with streaming, region, and timestamp | TC-SA-24-04-016 |
| 4.3 Reduced Latency | Latency | TC-SA-24-04-017 |
| 4.3 Reduced Latency | Region | TC-SA-24-04-018 |
| 4.3 Reduced Latency | Time | TC-SA-24-04-019 |
| 4.3 Reduced Latency | Latency status | TC-SA-24-04-020 |
| 4.3 Reduced Latency | Latency count | TC-SA-24-04-021 |
| 4.3 Reduced Latency | Latency period | TC-SA-24-04-022 |
| 4.3 Reduced Latency | Latency view | TC-SA-24-04-023 |
| 4.3 Reduced Latency | Audit logging of the latency reduction | TC-SA-24-04-024 |
| 4.3 Reduced Latency | Rule: the latency is the delay/lag | TC-SA-24-04-017 |
| 4.3 Reduced Latency | Rule: the region is the location/area | TC-SA-24-04-018 |
| 4.3 Reduced Latency | Rule: the time is the duration/length | TC-SA-24-04-019 |
| 4.3 Reduced Latency | Rule: the latency status is the state/control | TC-SA-24-04-020 |
| 4.3 Reduced Latency | Rule: the platform is responsive — reduction is managed | TC-SA-24-04-023 |
| 4.3 Reduced Latency | Rule: audit-logged with latency, region, and timestamp | TC-SA-24-04-024 |
| 4.4 Automatic Quality Adjustment | Quality | TC-SA-24-04-025 |
| 4.4 Automatic Quality Adjustment | Video | TC-SA-24-04-026 |
| 4.4 Automatic Quality Adjustment | Level | TC-SA-24-04-027 |
| 4.4 Automatic Quality Adjustment | Adjustment trigger | TC-SA-24-04-028 |
| 4.4 Automatic Quality Adjustment | Adjustment status | TC-SA-24-04-029 |
| 4.4 Automatic Quality Adjustment | Adjustment count | TC-SA-24-04-030 |
| 4.4 Automatic Quality Adjustment | Adjustment view | TC-SA-24-04-031 |
| 4.4 Automatic Quality Adjustment | Audit logging of the automatic quality adjustment | TC-SA-24-04-032 |
| 4.4 Automatic Quality Adjustment | Rule: the quality is the grade/standard | TC-SA-24-04-025 |
| 4.4 Automatic Quality Adjustment | Rule: the video is the content/asset | TC-SA-24-04-026 |
| 4.4 Automatic Quality Adjustment | Rule: the level is the grade/tier | TC-SA-24-04-027 |
| 4.4 Automatic Quality Adjustment | Rule: the adjustment status is the state/control | TC-SA-24-04-029 |
| 4.4 Automatic Quality Adjustment | Rule: the streaming adapts — adjustment is managed | TC-SA-24-04-031 |
| 4.4 Automatic Quality Adjustment | Rule: audit-logged with quality, level, and timestamp | TC-SA-24-04-032 |

---

## 4.1 Content Delivery Network (CDN) Monitoring

### TC-SA-24-04-001 — CDN performance is monitored with performance, node, traffic, and date
**Type:** Positive
**Covers:** 4.1 → Performance; Rule: the performance is the measure/rate
**Preconditions:** Super Admin logged in; CDN data is being collected
**Steps:**
1. Open the CDN Monitoring view
2. Observe the monitored performance entries (performance, node, traffic, date)
3. Verify each performance reflects the actual behavior of its CDN node
**Expected Result:** The performance of the CDN is monitored and displayed with the performance, the node, the traffic, and the date; the performance is the measure/rate of the CDN
**Priority:** Critical

### TC-SA-24-04-002 — A specific CDN node can be selected and inspected
**Type:** Positive
**Covers:** 4.1 → Node; Rule: the node is the point/location
**Preconditions:** Super Admin logged in; multiple CDN nodes exist
**Steps:**
1. Open the CDN Monitoring view
2. Select a specific node
3. Verify the node details (location, date) and its performance data are shown
**Expected Result:** The selected node (the point of the CDN, with its location and date) is shown with its performance data; the node is the location being watched
**Priority:** High

### TC-SA-24-04-003 — CDN traffic is displayed as the correct volume
**Type:** Positive
**Covers:** 4.1 → Traffic; Rule: the traffic is the load/demand
**Preconditions:** Super Admin logged in; CDN traffic data exists
**Steps:**
1. Open the CDN Monitoring view
2. View the traffic of the CDN (volume, date)
3. Independently measure the CDN traffic and compare
**Expected Result:** The traffic of the CDN is displayed with the exact volume and date; the traffic is the load/demand and matches the independently measured value
**Priority:** High

### TC-SA-24-04-004 — Performance status is shown as healthy, degraded, or down
**Type:** Edge
**Covers:** 4.1 → Performance status; Rule: the performance status is the state/control
**Preconditions:** Super Admin logged in; CDN nodes exist in healthy, degraded, and down states
**Steps:**
1. View a healthy CDN node and verify its status
2. View a degraded CDN node and verify its status
3. View a down CDN node and verify its status
**Expected Result:** The performance status is displayed as healthy, degraded, or down and always matches the actual state of the node; a down node is never shown as healthy; the status is the state/control
**Priority:** High

### TC-SA-24-04-005 — Performance count by status is accurate
**Type:** Positive
**Covers:** 4.1 → Performance count
**Preconditions:** Super Admin logged in; CDN nodes exist in multiple states
**Steps:**
1. Open the CDN Monitoring view
2. View the performance count (count of nodes by status)
3. Manually count nodes per status and compare
**Expected Result:** The performance count shows the exact count of nodes in each status; the count is the measure and matches the actual nodes
**Priority:** High

### TC-SA-24-04-006 — Performance period can be set to daily, weekly, or monthly
**Type:** Positive
**Covers:** 4.1 → Performance period
**Preconditions:** Super Admin logged in; CDN performance history exists across multiple periods
**Steps:**
1. Open the CDN Monitoring view
2. Set the performance period to daily, then weekly, then monthly
3. Verify the displayed performance data matches the selected period
**Expected Result:** The period of the performance (daily, weekly, monthly) can be set and the performance data shown matches the selected period; the period is the scope of the watch
**Priority:** High

### TC-SA-24-04-007 — Performance view shows performances, nodes, traffic, and dates
**Type:** Positive
**Covers:** 4.1 → Performance view; Rule: the CDN is healthy — monitoring is managed
**Preconditions:** Super Admin logged in; CDN performance data exists
**Steps:**
1. Open the performance view
2. Verify the view lists the performances, the nodes, the traffic, and the dates
3. Verify the CDN is visible and the watch is complete
**Expected Result:** The performance view displays the performances, the nodes, the traffic, and the dates; the CDN is healthy and the monitoring is managed
**Priority:** Medium

### TC-SA-24-04-008 — CDN monitoring is audit-logged
**Type:** Positive
**Covers:** 4.1 → Audit logging of the CDN monitoring; Rule: audit-logged with performance, node, and timestamp
**Preconditions:** Super Admin logged in; audit log accessible
**Steps:**
1. Perform a CDN monitoring action (view/select a node)
2. Open the audit log
3. Verify an entry exists with the performance, the node, and the timestamp
**Expected Result:** The CDN monitoring is audit-logged with the performance, the node, and the timestamp
**Priority:** Critical

## 4.2 Fast Video Streaming Globally

### TC-SA-24-04-009 — Fast video streaming is provided globally with streaming, video, region, and date
**Type:** Positive
**Covers:** 4.2 → Streaming; Rule: the streaming is the delivery/flow
**Preconditions:** Super Admin logged in; videos are streaming from multiple regions
**Steps:**
1. Open the Fast Video Streaming view
2. Observe the streaming entries (streaming, video, region, date)
3. Verify the streaming is delivered fast across the regions
**Expected Result:** The streaming of the videos is provided fast globally with the streaming, the video, the region, and the date; the streaming is the delivery/flow of the videos
**Priority:** Critical

### TC-SA-24-04-010 — A specific video can be selected and inspected
**Type:** Positive
**Covers:** 4.2 → Video; Rule: the video is the content/asset
**Preconditions:** Super Admin logged in; multiple platform videos exist
**Steps:**
1. Open the Fast Video Streaming view
2. Select a specific video
3. Verify the video details (name, date) and its streaming data are shown
**Expected Result:** The selected video (the content of the platform, with its name and date) is shown with its streaming data; the video is the asset being delivered
**Priority:** High

### TC-SA-24-04-011 — A specific region can be selected and its streaming inspected
**Type:** Positive
**Covers:** 4.2 → Region; Rule: the region is the location/area
**Preconditions:** Super Admin logged in; streaming data exists for multiple regions
**Steps:**
1. Open the Fast Video Streaming view
2. Select a specific region
3. Verify the region details (location, date) and its streaming data are shown
**Expected Result:** The selected region (the location of the streaming, with its location and date) is shown with its streaming data; the region is the area being delivered to
**Priority:** High

### TC-SA-24-04-012 — Streaming speed is displayed as the correct rate
**Type:** Positive
**Covers:** 4.2 → Streaming speed
**Preconditions:** Super Admin logged in; streaming data exists for videos and regions
**Steps:**
1. Open the Fast Video Streaming view
2. View the streaming speed (rate) for a video in a region
3. Independently measure the streaming rate and compare
**Expected Result:** The streaming speed is displayed as the exact rate; the speed is the rate of the streaming and matches the independently measured value
**Priority:** High

### TC-SA-24-04-013 — Streaming status is shown as fast or slow
**Type:** Edge
**Covers:** 4.2 → Streaming status; Rule: the streaming status is the state/control
**Preconditions:** Super Admin logged in; streams exist that are fast and streams that are slow
**Steps:**
1. View a fast stream and verify its status
2. View a slow stream and verify its status
3. Verify the status always matches the actual streaming speed
**Expected Result:** The streaming status is displayed as fast or slow and always matches the actual streaming speed; a slow stream is never shown as fast; the status is the state/control
**Priority:** High

### TC-SA-24-04-014 — Streaming count by status is accurate
**Type:** Positive
**Covers:** 4.2 → Streaming count
**Preconditions:** Super Admin logged in; streams exist in both fast and slow states
**Steps:**
1. Open the Fast Video Streaming view
2. View the streaming count (count of streams by status)
3. Manually count fast and slow streams and compare
**Expected Result:** The streaming count shows the exact count of streams in each status; the count is the measure and matches the actual streams
**Priority:** High

### TC-SA-24-04-015 — Streaming view shows streamings, videos, regions, and dates
**Type:** Positive
**Covers:** 4.2 → Streaming view; Rule: the videos stream fast — streaming is managed
**Preconditions:** Super Admin logged in; streaming data exists
**Steps:**
1. Open the streaming view
2. Verify the view lists the streamings, the videos, the regions, and the dates
3. Verify the videos are visible and the delivery is complete
**Expected Result:** The streaming view displays the streamings, the videos, the regions, and the dates; the videos stream fast and the streaming is managed
**Priority:** Medium

### TC-SA-24-04-016 — Global video streaming is audit-logged
**Type:** Positive
**Covers:** 4.2 → Audit logging of the global video streaming; Rule: audit-logged with streaming, region, and timestamp
**Preconditions:** Super Admin logged in; audit log accessible
**Steps:**
1. Perform a global video streaming action (view/select a region)
2. Open the audit log
3. Verify an entry exists with the streaming, the region, and the timestamp
**Expected Result:** The global video streaming is audit-logged with the streaming, the region, and the timestamp
**Priority:** Critical

## 4.3 Reduced Latency

### TC-SA-24-04-017 — Latency is reduced with latency, region, time, and date
**Type:** Positive
**Covers:** 4.3 → Latency; Rule: the latency is the delay/lag
**Preconditions:** Super Admin logged in; latency data is being collected
**Steps:**
1. Open the Reduced Latency view
2. Observe the latency entries (latency, region, time, date)
3. Verify the latency reflects the actual delay of the platform
**Expected Result:** The latency of the platform is reduced and displayed with the latency, the region, the time, and the date; the latency is the delay/lag of the platform
**Priority:** Critical

### TC-SA-24-04-018 — A specific region can be selected and its latency inspected
**Type:** Positive
**Covers:** 4.3 → Region; Rule: the region is the location/area
**Preconditions:** Super Admin logged in; latency data exists for multiple regions
**Steps:**
1. Open the Reduced Latency view
2. Select a specific region
3. Verify the region details (location, date) and its latency data are shown
**Expected Result:** The selected region (the location of the latency, with its location and date) is shown with its latency data; the region is the area being measured
**Priority:** High

### TC-SA-24-04-019 — Latency time is displayed as the correct duration
**Type:** Positive
**Covers:** 4.3 → Time; Rule: the time is the duration/length
**Preconditions:** Super Admin logged in; latency data exists
**Steps:**
1. Open the Reduced Latency view
2. View the time of the latency for a region
3. Independently measure the latency duration and compare
**Expected Result:** The time of the latency is displayed as the exact duration; the time is the length of the latency and matches the independently measured value
**Priority:** High

### TC-SA-24-04-020 — Latency status is shown as low or high
**Type:** Edge
**Covers:** 4.3 → Latency status; Rule: the latency status is the state/control
**Preconditions:** Super Admin logged in; regions exist with low and high latency
**Steps:**
1. View a region with low latency and verify its status
2. View a region with high latency and verify its status
3. Verify the status always matches the actual latency
**Expected Result:** The latency status is displayed as low or high and always matches the actual latency; a high-latency region is never shown as low; the status is the state/control
**Priority:** High

### TC-SA-24-04-021 — Latency count by status is accurate
**Type:** Positive
**Covers:** 4.3 → Latency count
**Preconditions:** Super Admin logged in; regions exist in both low and high latency states
**Steps:**
1. Open the Reduced Latency view
2. View the latency count (count of regions by status)
3. Manually count regions per status and compare
**Expected Result:** The latency count shows the exact count of regions in each status; the count is the measure and matches the actual regions
**Priority:** High

### TC-SA-24-04-022 — Latency period can be set to daily, weekly, or monthly
**Type:** Positive
**Covers:** 4.3 → Latency period
**Preconditions:** Super Admin logged in; latency history exists across multiple periods
**Steps:**
1. Open the Reduced Latency view
2. Set the latency period to daily, then weekly, then monthly
3. Verify the displayed latency data matches the selected period
**Expected Result:** The period of the latency (daily, weekly, monthly) can be set and the latency data shown matches the selected period; the period is the scope of the watch
**Priority:** High

### TC-SA-24-04-023 — Latency view shows latencies, regions, times, and dates
**Type:** Positive
**Covers:** 4.3 → Latency view; Rule: the platform is responsive — reduction is managed
**Preconditions:** Super Admin logged in; latency data exists
**Steps:**
1. Open the latency view
2. Verify the view lists the latencies, the regions, the times, and the dates
3. Verify the platform responsiveness is visible and the speed is complete
**Expected Result:** The latency view displays the latencies, the regions, the times, and the dates; the platform is responsive and the reduction is managed
**Priority:** Medium

### TC-SA-24-04-024 — Latency reduction is audit-logged
**Type:** Positive
**Covers:** 4.3 → Audit logging of the latency reduction; Rule: audit-logged with latency, region, and timestamp
**Preconditions:** Super Admin logged in; audit log accessible
**Steps:**
1. Perform a latency reduction action (view/select a region)
2. Open the audit log
3. Verify an entry exists with the latency, the region, and the timestamp
**Expected Result:** The latency reduction is audit-logged with the latency, the region, and the timestamp
**Priority:** Critical

## 4.4 Automatic Quality Adjustment

### TC-SA-24-04-025 — Quality is adjusted automatically with quality, video, level, and date
**Type:** Positive
**Covers:** 4.4 → Quality; Rule: the quality is the grade/standard
**Preconditions:** Super Admin logged in; automatic quality adjustment is enabled; videos are streaming
**Steps:**
1. Observe the quality of a streaming video
2. Change the network conditions so an adjustment is warranted
3. Verify the quality is adjusted automatically without manual intervention
**Expected Result:** The quality of the streaming (quality, video, level, date) is adjusted automatically; the quality is the grade/standard of the streaming and no manual action is required
**Priority:** Critical

### TC-SA-24-04-026 — A specific video can be selected and its quality inspected
**Type:** Positive
**Covers:** 4.4 → Video; Rule: the video is the content/asset
**Preconditions:** Super Admin logged in; multiple platform videos exist
**Steps:**
1. Open the Automatic Quality Adjustment view
2. Select a specific video
3. Verify the video details (name, date) and its quality data are shown
**Expected Result:** The selected video (the content of the platform, with its name and date) is shown with its quality data; the video is the asset being adjusted
**Priority:** High

### TC-SA-24-04-027 — Quality level is displayed as the correct grade
**Type:** Positive
**Covers:** 4.4 → Level; Rule: the level is the grade/tier
**Preconditions:** Super Admin logged in; videos stream at different quality levels
**Steps:**
1. Open the Automatic Quality Adjustment view
2. View the level of the quality for a video
3. Verify the level matches the actual delivered quality tier
**Expected Result:** The level of the quality is displayed as the exact grade; the level is the tier and matches the actual delivered quality
**Priority:** High

### TC-SA-24-04-028 — Adjustment trigger fires exactly on the configured condition
**Type:** Edge
**Covers:** 4.4 → Adjustment trigger
**Preconditions:** Super Admin logged in; an adjustment trigger condition is configured
**Steps:**
1. Drive the streaming condition just below the trigger and verify no adjustment occurs
2. Drive the condition exactly at the trigger and verify the adjustment fires
3. Drive the condition above the trigger and verify the adjustment fires
**Expected Result:** The trigger of the adjustment (condition, date) fires exactly on the configured condition; conditions below the trigger never cause an adjustment and conditions at/above it always do; the trigger is the condition
**Priority:** High

### TC-SA-24-04-029 — Adjustment status is shown as adjusted or stable
**Type:** Positive
**Covers:** 4.4 → Adjustment status; Rule: the adjustment status is the state/control
**Preconditions:** Super Admin logged in; videos exist in adjusted and stable states
**Steps:**
1. View a video whose quality was adjusted and verify its status
2. View a video whose quality is stable and verify its status
3. Verify the status always matches the actual adjustment state
**Expected Result:** The adjustment status is displayed as adjusted or stable and always matches the actual state; the status is the state/control
**Priority:** High

### TC-SA-24-04-030 — Adjustment count is accurate
**Type:** Positive
**Covers:** 4.4 → Adjustment count
**Preconditions:** Super Admin logged in; multiple quality adjustments have occurred
**Steps:**
1. Open the Automatic Quality Adjustment view
2. View the adjustment count (count of the adjustments)
3. Manually count the adjustments and compare
**Expected Result:** The adjustment count shows the exact count of the adjustments; the count is the measure and matches the actual adjustments
**Priority:** High

### TC-SA-24-04-031 — Adjustment view shows qualities, videos, levels, and dates
**Type:** Positive
**Covers:** 4.4 → Adjustment view; Rule: the streaming adapts — adjustment is managed
**Preconditions:** Super Admin logged in; adjustment data exists
**Steps:**
1. Open the adjustment view
2. Verify the view lists the qualities, the videos, the levels, and the dates
3. Verify the streaming adaptation is visible and the adaptation is complete
**Expected Result:** The adjustment view displays the qualities, the videos, the levels, and the dates; the streaming adapts and the adjustment is managed
**Priority:** Medium

### TC-SA-24-04-032 — Automatic quality adjustment is audit-logged
**Type:** Positive
**Covers:** 4.4 → Audit logging of the automatic quality adjustment; Rule: audit-logged with quality, level, and timestamp
**Preconditions:** Super Admin logged in; audit log accessible
**Steps:**
1. Perform an automatic quality adjustment action (view/select a video)
2. Open the audit log
3. Verify an entry exists with the quality, the level, and the timestamp
**Expected Result:** The automatic quality adjustment is audit-logged with the quality, the level, and the timestamp
**Priority:** Critical
