# 3. Content Metrics — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: content_metrics.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 |
|---------|--------------------|----------|
| 3.1 Content Library Statistics | Content: the content (the content, the type, the count) | TC-SA-18-03-001 |
| 3.1 Content Library Statistics | Content count: the count (the count of the content) | TC-SA-18-03-002 |
| 3.1 Content Library Statistics | Content type: the type (the type of the content, e.g., the video, the podcast, the resource) | TC-SA-18-03-003 |
| 3.1 Content Library Statistics | Library size: the size (the size of the library, the total count) | TC-SA-18-03-004 |
| 3.1 Content Library Statistics | Library period: the period (the period of the library, e.g., the current, the monthly) | TC-SA-18-03-005 |
| 3.1 Content Library Statistics | Library view: the view (the content, the counts, the types, the period) | TC-SA-18-03-006 |
| 3.1 Content Library Statistics | Library export: the export (the library, the format, the period) | TC-SA-18-03-007 |
| 3.1 Content Library Statistics | Audit logging of the library statistics viewing | TC-SA-18-03-008 |
| 3.1 Content Library Statistics | Rule: the content is the item (the content, the type, the count); the content is the unit | TC-SA-18-03-001 |
| 3.1 Content Library Statistics | Rule: the content count is the measure (the count of the content); the count is the volume | TC-SA-18-03-002 |
| 3.1 Content Library Statistics | Rule: the content type is the segment (the type of the content, e.g., the video, the podcast, the resource); the type is the category | TC-SA-18-03-003 |
| 3.1 Content Library Statistics | Rule: the library size is the total (the size of the library, the total count); the size is the aggregate | TC-SA-18-03-004 |
| 3.1 Content Library Statistics | Rule: the library is visible (the content, the counts, the types, the period); the viewing is managed | TC-SA-18-03-006 |
| 3.1 Content Library Statistics | Rule: library statistics viewing is audit-logged with the content, period, and timestamp | TC-SA-18-03-008 |
| 3.2 Content Upload and Approval Status | Content: the content (the content, the type, the count) | TC-SA-18-03-009 |
| 3.2 Content Upload and Approval Status | Upload status: the status (the uploaded, the pending, the approved, the rejected) | TC-SA-18-03-010 |
| 3.2 Content Upload and Approval Status | Approval status: the status (the pending, the approved, the rejected) | TC-SA-18-03-011 |
| 3.2 Content Upload and Approval Status | Content count: the count (the count of the content by status) | TC-SA-18-03-012 |
| 3.2 Content Upload and Approval Status | Content period: the period (the period of the content, e.g., the daily, the weekly, the monthly) | TC-SA-18-03-013 |
| 3.2 Content Upload and Approval Status | Content view: the view (the content, the statuses, the counts, the period) | TC-SA-18-03-014 |
| 3.2 Content Upload and Approval Status | Content export: the export (the content, the format, the period) | TC-SA-18-03-015 |
| 3.2 Content Upload and Approval Status | Audit logging of the content status viewing | TC-SA-18-03-016 |
| 3.2 Content Upload and Approval Status | Rule: the content is the item (the content, the type, the count); the content is the unit | TC-SA-18-03-009 |
| 3.2 Content Upload and Approval Status | Rule: the upload status is the state (the uploaded, the pending, the approved, the rejected); the status is the control | TC-SA-18-03-010 |
| 3.2 Content Upload and Approval Status | Rule: the approval status is the state (the pending, the approved, the rejected); the status is the control | TC-SA-18-03-011 |
| 3.2 Content Upload and Approval Status | Rule: the content count is the measure (the count of the content by status); the count is the volume | TC-SA-18-03-012 |
| 3.2 Content Upload and Approval Status | Rule: the content is visible (the content, the statuses, the counts, the period); the viewing is managed | TC-SA-18-03-014 |
| 3.2 Content Upload and Approval Status | Rule: content status viewing is audit-logged with the content, status, and timestamp | TC-SA-18-03-016 |
| 3.3 Content Performance Overview | Content: the content (the content, the type, the count) | TC-SA-18-03-017 |
| 3.3 Content Performance Overview | Performance metric: the metric (the metric of the performance, e.g., the views, the completion) | TC-SA-18-03-018 |
| 3.3 Content Performance Overview | Performance value: the value (the value of the metric, e.g., the count, the percentage) | TC-SA-18-03-019 |
| 3.3 Content Performance Overview | Performance period: the period (the period of the performance, e.g., the daily, the weekly, the monthly) | TC-SA-18-03-020 |
| 3.3 Content Performance Overview | Performance comparison: the comparison (the comparison of the performance, the content, the periods) | TC-SA-18-03-021 |
| 3.3 Content Performance Overview | Performance view: the view (the content, the metrics, the values, the period) | TC-SA-18-03-022 |
| 3.3 Content Performance Overview | Performance export: the export (the performance, the format, the period) | TC-SA-18-03-023 |
| 3.3 Content Performance Overview | Audit logging of the content performance viewing | TC-SA-18-03-024 |
| 3.3 Content Performance Overview | Rule: the content is the item (the content, the type, the count); the content is the unit | TC-SA-18-03-017 |
| 3.3 Content Performance Overview | Rule: the performance metric is the measure (the metric of the performance, e.g., the views, the completion); the metric is the value | TC-SA-18-03-018 |
| 3.3 Content Performance Overview | Rule: the performance value is the result (the value of the metric, e.g., the count, the percentage); the value is the outcome | TC-SA-18-03-019 |
| 3.3 Content Performance Overview | Rule: the performance comparison is the analysis (the comparison of the performance, the content, the periods); the comparison is the insight | TC-SA-18-03-021 |
| 3.3 Content Performance Overview | Rule: the performance is visible (the content, the metrics, the values, the period); the viewing is managed | TC-SA-18-03-022 |
| 3.3 Content Performance Overview | Rule: content performance viewing is audit-logged with the content, metric, and timestamp | TC-SA-18-03-024 |

## 3.1 Content Library Statistics

### TC-SA-18-03-001 — Content: the content (the content, the type, the count); the content is the unit
**Type:** Positive
**Covers:** 3.1 → Content: the content (the content, the type, the count); Rule: the content is the item (the content, the type, the count); the content is the unit
**Preconditions:** Super Admin is logged in; content of multiple types exists in the library.
**Steps:**
1. Open the Super Admin Dashboard.
2. View the content library statistics: the content (the content, the type, the count) — verify the content is the item.
3. Verify each content type is shown with its count.
**Expected Result:** The content is shown — the content, the type, and the count are the unit.
**Priority:** Critical

### TC-SA-18-03-002 — Content count: the count (the count of the content); the count is the volume
**Type:** Positive
**Covers:** 3.1 → Content count: the count (the count of the content); Rule: the content count is the measure (the count of the content); the count is the volume
**Preconditions:** Content exists in the library.
**Steps:**
1. View the content count: the count (the count of the content) — verify the count is the measure.
2. Verify the count matches the actual number of content items.
3. Upload a new content item — verify the count increments by 1.
**Expected Result:** The content count is shown — the count of the content is the volume; counts update in real time.
**Priority:** Critical

### TC-SA-18-03-003 — Content type: the type (the type of the content, e.g., the video, the podcast, the resource); the type is the category
**Type:** Positive
**Covers:** 3.1 → Content type: the type (the type of the content, e.g., the video, the podcast, the resource); Rule: the content type is the segment (the type of the content, e.g., the video, the podcast, the resource); the type is the category
**Preconditions:** Content of multiple types exists.
**Steps:**
1. View the content type: the type (the type of the content, e.g., the video, the podcast, the resource) — verify the type is the segment.
2. Verify content is segmented by type.
3. Verify each type's count is accurate.
**Expected Result:** The content type is shown — the type of the content (the video, the podcast, the resource) is the category.
**Priority:** High

### TC-SA-18-03-004 — Library size: the size (the size of the library, the total count); the size is the aggregate
**Type:** Edge
**Covers:** 3.1 → Library size: the size (the size of the library, the total count); Rule: the library size is the total (the size of the library, the total count); the size is the aggregate
**Preconditions:** Content of multiple types exists; a type with zero content also exists.
**Steps:**
1. View the library size: the size (the size of the library, the total count) — verify the size is the total.
2. Verify the size equals the sum of all content type counts.
3. Verify a type with zero content shows 0 (no error) and the size is still correct.
**Expected Result:** The library size is shown — the size of the library and the total count are the aggregate; a zero-count type is handled.
**Priority:** High

### TC-SA-18-03-005 — Library period: the period (the period of the library, e.g., the current, the monthly); the period is the scope
**Type:** Positive
**Covers:** 3.1 → Library period: the period (the period of the library, e.g., the current, the monthly)
**Preconditions:** Content exists across current and monthly periods.
**Steps:**
1. Set the library period: the period (the period of the library, e.g., the current, the monthly) — verify the period is the scope.
2. View the library for the current period and the monthly period — verify each covers the correct period.
**Expected Result:** The library period is set — the period of the library (the current, the monthly) is the scope.
**Priority:** High

### TC-SA-18-03-006 — Library view: the view (the content, the counts, the types, the period); the viewing is managed
**Type:** Positive
**Covers:** 3.1 → Library view: the view (the content, the counts, the types, the period); Rule: the library is visible (the content, the counts, the types, the period); the viewing is managed
**Preconditions:** Content exists in the library.
**Steps:**
1. View the library: the view (the content, the counts, the types, the period) — verify the library is visible.
2. Verify the view is complete for the period.
**Expected Result:** The library view works — the content, the counts, the types, and the period are visible.
**Priority:** High

### TC-SA-18-03-007 — Library export: the export (the library, the format, the period); the export is the record
**Type:** Positive
**Covers:** 3.1 → Library export: the export (the library, the format, the period)
**Preconditions:** Library statistics exist for a period.
**Steps:**
1. Export the library: the export (the library, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the library view.
**Expected Result:** The library is exported — the library in the selected format for the period is generated.
**Priority:** Medium

### TC-SA-18-03-008 — Library statistics viewing is audit-logged with the content, period, and timestamp
**Type:** Positive
**Covers:** 3.1 → Audit logging of the library statistics viewing; Rule: library statistics viewing is audit-logged with the content, period, and timestamp
**Preconditions:** Super Admin has viewed the content library statistics.
**Steps:**
1. Open the audit trail and filter by "library statistics".
2. Verify entries show the content, the period, and the timestamp.
**Expected Result:** The library statistics viewing is audit-logged with the content, period, and timestamp.
**Priority:** Critical

## 3.2 Content Upload and Approval Status

### TC-SA-18-03-009 — Content: the content (the content, the type, the count); the content is the unit
**Type:** Positive
**Covers:** 3.2 → Content: the content (the content, the type, the count); Rule: the content is the item (the content, the type, the count); the content is the unit
**Preconditions:** Content in various upload/approval statuses exists.
**Steps:**
1. View the content upload and approval status: the content (the content, the type, the count) — verify the content is the item.
2. Verify each content item is shown with its type and count.
**Expected Result:** The content is shown — the content, the type, and the count are the unit.
**Priority:** Critical

### TC-SA-18-03-010 — Upload status: the status (the uploaded, the pending, the approved, the rejected); the status is the control
**Type:** Positive
**Covers:** 3.2 → Upload status: the status (the uploaded, the pending, the approved, the rejected); Rule: the upload status is the state (the uploaded, the pending, the approved, the rejected); the status is the control
**Preconditions:** Content in all four upload statuses exists.
**Steps:**
1. View the upload statuses: the status (the uploaded, the pending, the approved, the rejected) — verify the status is the state.
2. Verify content is segmented by upload status.
3. Verify a content item's upload status updates in the view when its status changes.
**Expected Result:** The upload status is shown — the uploaded, the pending, the approved, and the rejected are the control.
**Priority:** Critical

### TC-SA-18-03-011 — Approval status: the status (the pending, the approved, the rejected); the status is the control
**Type:** Positive
**Covers:** 3.2 → Approval status: the status (the pending, the approved, the rejected); Rule: the approval status is the state (the pending, the approved, the rejected); the status is the control
**Preconditions:** Content in all three approval statuses exists.
**Steps:**
1. View the approval statuses: the status (the pending, the approved, the rejected) — verify the status is the state.
2. Verify content is segmented by approval status.
3. Approve a pending content item — verify it moves from pending to approved in the view.
**Expected Result:** The approval status is shown — the pending, the approved, and the rejected are the control.
**Priority:** Critical

### TC-SA-18-03-012 — Content count: the count (the count of the content by status); the count is the volume
**Type:** Positive
**Covers:** 3.2 → Content count: the count (the count of the content by status); Rule: the content count is the measure (the count of the content by status); the count is the volume
**Preconditions:** Content in various statuses exists.
**Steps:**
1. View the content count: the count (the count of the content by status) — verify the count is the measure.
2. Verify each status's count matches the actual number of content items in that status.
**Expected Result:** The content count is shown — the count of the content by status is the volume.
**Priority:** High

### TC-SA-18-03-013 — Content period: the period (the period of the content, e.g., the daily, the weekly, the monthly); the period is the scope
**Type:** Positive
**Covers:** 3.2 → Content period: the period (the period of the content, e.g., the daily, the weekly, the monthly)
**Preconditions:** Content exists across daily, weekly, and monthly periods.
**Steps:**
1. Set the content period: the period (the period of the content, e.g., the daily, the weekly, the monthly) — verify the period is the scope.
2. Switch between daily, weekly, and monthly — verify the content updates for each period.
3. Verify each period covers the correct date range.
**Expected Result:** The content period is set — the period of the content (the daily, the weekly, the monthly) is the scope.
**Priority:** High

### TC-SA-18-03-014 — Content view: the view (the content, the statuses, the counts, the period); the viewing is managed
**Type:** Positive
**Covers:** 3.2 → Content view: the view (the content, the statuses, the counts, the period); Rule: the content is visible (the content, the statuses, the counts, the period); the viewing is managed
**Preconditions:** Content in various statuses exists across a period.
**Steps:**
1. View the content: the view (the content, the statuses, the counts, the period) — verify the content is visible.
2. Verify the view is complete for the period.
**Expected Result:** The content view works — the content, the statuses, the counts, and the period are visible.
**Priority:** High

### TC-SA-18-03-015 — Content export: the export (the content, the format, the period); the export is the record
**Type:** Positive
**Covers:** 3.2 → Content export: the export (the content, the format, the period)
**Preconditions:** Content status data exists for a period.
**Steps:**
1. Export the content: the export (the content, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the content view.
**Expected Result:** The content is exported — the content in the selected format for the period is generated.
**Priority:** Medium

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

## 3.3 Content Performance Overview

### TC-SA-18-03-017 — Content: the content (the content, the type, the count); the content is the unit
**Type:** Positive
**Covers:** 3.3 → Content: the content (the content, the type, the count); Rule: the content is the item (the content, the type, the count); the content is the unit
**Preconditions:** Content with performance data exists.
**Steps:**
1. View the content performance overview: the content (the content, the type, the count) — verify the content is the item.
2. Verify each content item is shown with its type and count.
**Expected Result:** The content is shown — the content, the type, and the count are the unit.
**Priority:** Critical

### TC-SA-18-03-018 — Performance metric: the metric (the metric of the performance, e.g., the views, the completion); the metric is the value
**Type:** Positive
**Covers:** 3.3 → Performance metric: the metric (the metric of the performance, e.g., the views, the completion); Rule: the performance metric is the measure (the metric of the performance, e.g., the views, the completion); the metric is the value
**Preconditions:** Content with performance data exists.
**Steps:**
1. View the performance metric: the metric (the metric of the performance, e.g., the views, the completion) — verify the metric is the measure.
2. Verify the metrics (views, completion) are shown for the content.
3. Verify each metric is accurate for the content.
**Expected Result:** The performance metric is shown — the metric of the performance (the views, the completion) is the value.
**Priority:** High

### TC-SA-18-03-019 — Performance value: the value (the value of the metric, e.g., the count, the percentage); the value is the outcome
**Type:** Positive
**Covers:** 3.3 → Performance value: the value (the value of the metric, e.g., the count, the percentage); Rule: the performance value is the result (the value of the metric, e.g., the count, the percentage); the value is the outcome
**Preconditions:** Content with performance data exists.
**Steps:**
1. View the performance value: the value (the value of the metric, e.g., the count, the percentage) — verify the value is the result.
2. Verify each metric's value is shown (the count, the percentage).
3. Verify the values are accurate for the content.
**Expected Result:** The performance value is shown — the value of the metric (the count, the percentage) is the outcome.
**Priority:** High

### TC-SA-18-03-020 — Performance period: the period (the period of the performance, e.g., the daily, the weekly, the monthly); the period is the scope
**Type:** Positive
**Covers:** 3.3 → Performance period: the period (the period of the performance, e.g., the daily, the weekly, the monthly)
**Preconditions:** Content performance data exists across daily, weekly, and monthly periods.
**Steps:**
1. Set the performance period: the period (the period of the performance, e.g., the daily, the weekly, the monthly) — verify the period is the scope.
2. Switch between daily, weekly, and monthly — verify the performance updates for each period.
3. Verify each period covers the correct date range.
**Expected Result:** The performance period is set — the period of the performance (the daily, the weekly, the monthly) is the scope.
**Priority:** High

### TC-SA-18-03-021 — Performance comparison: the comparison (the comparison of the performance, the content, the periods); the comparison is the insight
**Type:** Positive
**Covers:** 3.3 → Performance comparison: the comparison (the comparison of the performance, the content, the periods); Rule: the performance comparison is the analysis (the comparison of the performance, the content, the periods); the comparison is the insight
**Preconditions:** Content performance data exists across multiple periods.
**Steps:**
1. Compare the performance: the comparison (the comparison of the performance, the content, the periods) — verify the comparison is the analysis.
2. Verify the comparison shows the performance across the selected periods.
3. Verify the comparison values are accurate.
**Expected Result:** The performance comparison works — the comparison of the performance, the content, and the periods is the insight.
**Priority:** Medium

### TC-SA-18-03-022 — Performance view: the view (the content, the metrics, the values, the period); the viewing is managed
**Type:** Positive
**Covers:** 3.3 → Performance view: the view (the content, the metrics, the values, the period); Rule: the performance is visible (the content, the metrics, the values, the period); the viewing is managed
**Preconditions:** Content performance data exists across a period.
**Steps:**
1. View the performance: the view (the content, the metrics, the values, the period) — verify the performance is visible.
2. Verify the view is complete for the period.
**Expected Result:** The performance view works — the content, the metrics, the values, and the period are visible.
**Priority:** High

### TC-SA-18-03-023 — Performance export: the export (the performance, the format, the period); the export is the record
**Type:** Positive
**Covers:** 3.3 → Performance export: the export (the performance, the format, the period)
**Preconditions:** Content performance data exists for a period.
**Steps:**
1. Export the performance: the export (the performance, the format, the period).
2. Verify the export is generated in the selected format.
3. Verify the exported data matches the performance view.
**Expected Result:** The performance is exported — the performance in the selected format for the period is generated.
**Priority:** Medium

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