# 1. Detailed Performance Reports — Test Cases

User Type: **Parent**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: detailed_performance_reports.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 |
|---------|--------------------|----------|
| 1.1 Subject-Wise Performance Reports | Subject-wise performance report | TC-PT-4-01-001 |
| 1.1 Subject-Wise Performance Reports | Scores per subject | TC-PT-4-01-002 |
| 1.1 Subject-Wise Performance Reports | Topics covered per subject | TC-PT-4-01-003 |
| 1.1 Subject-Wise Performance Reports | Strengths and gaps per subject | TC-PT-4-01-004 |
| 1.1 Subject-Wise Performance Reports | Subject trend | TC-PT-4-01-005 |
| 1.1 Subject-Wise Performance Reports | Report viewable on screen | TC-PT-4-01-006 |
| 1.1 Subject-Wise Performance Reports | Report available on web and mobile | TC-PT-4-01-007 |
| 1.1 Subject-Wise Performance Reports | Report event logging (generated, viewed) | TC-PT-4-01-008 |
| 1.1 Subject-Wise Performance Reports | Audit logging of the subject-wise performance reports | TC-PT-4-01-009 |
| 1.1 Subject-Wise Performance Reports | Rule: The report is broken down by subject. | TC-PT-4-01-001 |
| 1.1 Subject-Wise Performance Reports | Rule: The report shows scores, topics, strengths, gaps, and trend. | TC-PT-4-01-002 |
| 1.1 Subject-Wise Performance Reports | Rule: Report events (generated, viewed) are logged with the account and the timestamp. | TC-PT-4-01-003 |
| 1.1 Subject-Wise Performance Reports | Rule: The subject-wise performance reports is audit-logged with the account and the timestamp. | TC-PT-4-01-004 |
| 1.2 Report Generation and Download | Generate a performance report | TC-PT-4-01-010 |
| 1.2 Report Generation and Download | Select the report period | TC-PT-4-01-011 |
| 1.2 Report Generation and Download | Select the report type | TC-PT-4-01-012 |
| 1.2 Report Generation and Download | Download the report as a document | TC-PT-4-01-013 |
| 1.2 Report Generation and Download | Report formatted for sharing | TC-PT-4-01-014 |
| 1.2 Report Generation and Download | Report generation available on web and mobile | TC-PT-4-01-015 |
| 1.2 Report Generation and Download | Report event logging (generated, downloaded) | TC-PT-4-01-016 |
| 1.2 Report Generation and Download | Audit logging of the report generation and download | TC-PT-4-01-017 |
| 1.2 Report Generation and Download | Rule: The report period is selectable. | TC-PT-4-01-010 |
| 1.2 Report Generation and Download | Rule: The report type is selectable. | TC-PT-4-01-011 |
| 1.2 Report Generation and Download | Rule: The report can be downloaded as a document. | TC-PT-4-01-012 |
| 1.2 Report Generation and Download | Rule: Report events (generated, downloaded) are logged with the account and the timestamp. | TC-PT-4-01-013 |
| 1.2 Report Generation and Download | Rule: The report generation and download is audit-logged with the account and the timestamp. | TC-PT-4-01-014 |
| 1.3 Report History | History of generated reports | TC-PT-4-01-018 |
| 1.3 Report History | View a past report | TC-PT-4-01-019 |
| 1.3 Report History | Re-download a past report | TC-PT-4-01-020 |
| 1.3 Report History | Compare reports across periods | TC-PT-4-01-021 |
| 1.3 Report History | History retained for a platform-defined period | TC-PT-4-01-022 |
| 1.3 Report History | History available on web and mobile | TC-PT-4-01-023 |
| 1.3 Report History | History event logging (viewed, re-downloaded) | TC-PT-4-01-024 |
| 1.3 Report History | Audit logging of the report history | TC-PT-4-01-025 |
| 1.3 Report History | Rule: The history lists generated reports. | TC-PT-4-01-018 |
| 1.3 Report History | Rule: A past report can be viewed and re-downloaded. | TC-PT-4-01-019 |
| 1.3 Report History | Rule: Reports can be compared across periods. | TC-PT-4-01-020 |
| 1.3 Report History | Rule: History events (viewed, re-downloaded) are logged with the account and the timestamp. | TC-PT-4-01-021 |
| 1.3 Report History | Rule: The report history is audit-logged with the account and the timestamp. | TC-PT-4-01-022 |

## 1.1 Subject-Wise Performance Reports

### TC-PT-4-01-001 — Subject-wise performance report
**Type:** Positive
**Covers:** 1.1 → Subject-wise performance report; Rule: The report is broken down by subject.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Subject-wise performance report.
2. Observe the result and verify the full behavior: Subject-wise performance report.
**Expected Result:** Subject-wise performance report — delivered exactly as documented.
**Priority:** Critical

### TC-PT-4-01-002 — Scores per subject
**Type:** Positive
**Covers:** 1.1 → Scores per subject; Rule: The report shows scores, topics, strengths, gaps, and trend.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Scores per subject.
2. Observe the result and verify the full behavior: Scores per subject.
**Expected Result:** Scores per subject — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-003 — Topics covered per subject
**Type:** Positive
**Covers:** 1.1 → Topics covered per subject; Rule: Report events (generated, viewed) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Topics covered per subject.
2. Observe the result and verify the full behavior: Topics covered per subject.
**Expected Result:** Topics covered per subject — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-004 — Strengths and gaps per subject
**Type:** Edge
**Covers:** 1.1 → Strengths and gaps per subject; Rule: The subject-wise performance reports is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Strengths and gaps per subject.
2. Observe the result and verify the full behavior: Strengths and gaps per subject.
**Expected Result:** Strengths and gaps per subject — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-005 — Subject trend
**Type:** Positive
**Covers:** 1.1 → Subject trend
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Subject trend.
2. Observe the result and verify the full behavior: Subject trend.
**Expected Result:** Subject trend — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-006 — Report viewable on screen
**Type:** Positive
**Covers:** 1.1 → Report viewable on screen
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report viewable on screen.
2. Observe the result and verify the full behavior: Report viewable on screen.
**Expected Result:** Report viewable on screen — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-007 — Report available on web and mobile
**Type:** Positive
**Covers:** 1.1 → Report available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report available on web and mobile.
2. Observe the result and verify the full behavior: Report available on web and mobile.
**Expected Result:** Report available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-008 — Report event logging (generated, viewed)
**Type:** Positive
**Covers:** 1.1 → Report event logging (generated, viewed)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report event logging (generated.
2. Observe the result and verify the full behavior: Report event logging (generated, viewed).
**Expected Result:** Report event logging (generated, viewed) — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-009 — Audit logging of the subject-wise performance reports
**Type:** Positive
**Covers:** 1.1 → Audit logging of the subject-wise performance reports
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the subject-wise performance reports.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical

## 1.2 Report Generation and Download

### TC-PT-4-01-010 — Generate a performance report
**Type:** Positive
**Covers:** 1.2 → Generate a performance report; Rule: The report period is selectable.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Generate a performance report.
2. Observe the result and verify the full behavior: Generate a performance report.
**Expected Result:** Generate a performance report — delivered exactly as documented.
**Priority:** Critical

### TC-PT-4-01-011 — Select the report period
**Type:** Positive
**Covers:** 1.2 → Select the report period; Rule: The report type is selectable.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Select the report period.
2. Observe the result and verify the full behavior: Select the report period.
**Expected Result:** Select the report period — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-012 — Select the report type
**Type:** Positive
**Covers:** 1.2 → Select the report type; Rule: The report can be downloaded as a document.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Select the report type.
2. Observe the result and verify the full behavior: Select the report type.
**Expected Result:** Select the report type — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-013 — Download the report as a document
**Type:** Positive
**Covers:** 1.2 → Download the report as a document; Rule: Report events (generated, downloaded) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Download the report as a document.
2. Observe the result and verify the full behavior: Download the report as a document.
**Expected Result:** Download the report as a document — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-014 — Report formatted for sharing
**Type:** Positive
**Covers:** 1.2 → Report formatted for sharing; Rule: The report generation and download is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report formatted for sharing.
2. Observe the result and verify the full behavior: Report formatted for sharing.
**Expected Result:** Report formatted for sharing — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-015 — Report generation available on web and mobile
**Type:** Positive
**Covers:** 1.2 → Report generation available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report generation available on web and mobile.
2. Observe the result and verify the full behavior: Report generation available on web and mobile.
**Expected Result:** Report generation available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-016 — Report event logging (generated, downloaded)
**Type:** Positive
**Covers:** 1.2 → Report event logging (generated, downloaded)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Report event logging (generated.
2. Observe the result and verify the full behavior: Report event logging (generated, downloaded).
**Expected Result:** Report event logging (generated, downloaded) — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-017 — Audit logging of the report generation and download
**Type:** Positive
**Covers:** 1.2 → Audit logging of the report generation and download
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the report generation and download.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical

## 1.3 Report History

### TC-PT-4-01-018 — History of generated reports
**Type:** Positive
**Covers:** 1.3 → History of generated reports; Rule: The history lists generated reports.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: History of generated reports.
2. Observe the result and verify the full behavior: History of generated reports.
**Expected Result:** History of generated reports — delivered exactly as documented.
**Priority:** Critical

### TC-PT-4-01-019 — View a past report
**Type:** Positive
**Covers:** 1.3 → View a past report; Rule: A past report can be viewed and re-downloaded.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: View a past report.
2. Observe the result and verify the full behavior: View a past report.
**Expected Result:** View a past report — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-020 — Re-download a past report
**Type:** Positive
**Covers:** 1.3 → Re-download a past report; Rule: Reports can be compared across periods.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Re-download a past report.
2. Observe the result and verify the full behavior: Re-download a past report.
**Expected Result:** Re-download a past report — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-021 — Compare reports across periods
**Type:** Positive
**Covers:** 1.3 → Compare reports across periods; Rule: History events (viewed, re-downloaded) are logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: Compare reports across periods.
2. Observe the result and verify the full behavior: Compare reports across periods.
**Expected Result:** Compare reports across periods — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-022 — History retained for a platform-defined period
**Type:** Positive
**Covers:** 1.3 → History retained for a platform-defined period; Rule: The report history is audit-logged with the account and the timestamp.
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: History retained for a platform-defined period.
2. Observe the result and verify the full behavior: History retained for a platform-defined period.
**Expected Result:** History retained for a platform-defined period — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-023 — History available on web and mobile
**Type:** Positive
**Covers:** 1.3 → History available on web and mobile
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: History available on web and mobile.
2. Observe the result and verify the full behavior: History available on web and mobile.
**Expected Result:** History available on web and mobile — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-024 — History event logging (viewed, re-downloaded)
**Type:** Positive
**Covers:** 1.3 → History event logging (viewed, re-downloaded)
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, set up the precondition and perform: History event logging (viewed.
2. Observe the result and verify the full behavior: History event logging (viewed, re-downloaded).
**Expected Result:** History event logging (viewed, re-downloaded) — delivered exactly as documented.
**Priority:** High

### TC-PT-4-01-025 — Audit logging of the report history
**Type:** Positive
**Covers:** 1.3 → Audit logging of the report history
**Preconditions:** A Parent account is active and the Parent is in the state required for this behavior.
**Steps:**
1. As a Parent, perform the action associated with: Audit logging of the report history.
2. Open the relevant activity / audit log and verify the event is recorded with the account, the action, and the timestamp.
**Expected Result:** The action is audit-logged — the account, the action, and the timestamp are recorded.
**Priority:** Critical
