# 3. Mastery Tracking — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: mastery_tracking.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 |
|---------|--------------------|----------|
| 3.1 Concept Mastery Visualization | Mastery level definitions and thresholds | TC-SA-SRS-8-001 |
| 3.1 Concept Mastery Visualization | Mastery display per concept, per subject, per student | TC-SA-SRS-8-002 |
| 3.1 Concept Mastery Visualization | Mastery trend view and heatmap | TC-SA-SRS-8-003 |
| 3.1 Concept Mastery Visualization | Rule: level derived from recall rate, no manual override | TC-SA-SRS-8-004 |
| 3.1 Concept Mastery Visualization | Rule: no recall data → shown as New | TC-SA-SRS-8-005 |
| 3.1 Concept Mastery Visualization | Audit logging of mastery visualization configuration | TC-SA-SRS-8-006 |
| 3.2 Confidence Rating Configuration | Confidence rating options (Too Easy / Good / Hard) | TC-SA-SRS-9-001 |
| 3.2 Confidence Rating Configuration | Rating prompt timing (per recall, per batch) | TC-SA-SRS-9-002 |
| 3.2 Confidence Rating Configuration | Rating-to-adjustment mapping | TC-SA-SRS-9-003 |
| 3.2 Confidence Rating Configuration | Rating required vs optional per content type | TC-SA-SRS-9-004 |
| 3.2 Confidence Rating Configuration | Rule: required rating blocks progression | TC-SA-SRS-9-005 |
| 3.2 Confidence Rating Configuration | Rule: optional rating defaults to "Good" when skipped | TC-SA-SRS-9-006 |
| 3.2 Confidence Rating Configuration | Audit logging of confidence rating configuration | TC-SA-SRS-9-007 |
| 3.3 Retention Rate Prediction | Retention prediction model and horizon | TC-SA-SRS-10-001 |
| 3.3 Retention Rate Prediction | At-risk concept identification | TC-SA-SRS-10-002 |
| 3.3 Retention Rate Prediction | Prediction confidence and refresh frequency | TC-SA-SRS-10-003 |
| 3.3 Retention Rate Prediction | Rule: insufficient data → low-confidence or not shown | TC-SA-SRS-10-004 |
| 3.3 Retention Rate Prediction | Rule: prediction refreshed per frequency, not per view | TC-SA-SRS-10-005 |
| 3.3 Retention Rate Prediction | Audit logging of retention prediction configuration | TC-SA-SRS-10-006 |
| 3.4 Mastered Concept Graduation Rules | Graduation criteria (consecutive recalls, mastery level) | TC-SA-SRS-11-001 |
| 3.4 Mastered Concept Graduation Rules | Graduation action (remove from queue, archive) | TC-SA-SRS-11-002 |
| 3.4 Mastered Concept Graduation Rules | Periodic re-check and re-entry rule | TC-SA-SRS-11-003 |
| 3.4 Mastered Concept Graduation Rules | Graduation report | TC-SA-SRS-11-004 |
| 3.4 Mastered Concept Graduation Rules | Rule: all criteria required to graduate | TC-SA-SRS-11-005 |
| 3.4 Mastered Concept Graduation Rules | Rule: graduated concept re-enters on failed recall | TC-SA-SRS-11-006 |
| 3.4 Mastered Concept Graduation Rules | Audit logging of graduation rules | TC-SA-SRS-11-007 |

## 3.1 Concept Mastery Visualization

### TC-SA-SRS-8-001 — Mastery level definitions and thresholds
**Type:** Positive
**Covers:** 3.1 → Mastery level definitions
**Preconditions:** A Super Admin account is active; SRS is enabled.
**Steps:**
1. As a Super Admin, open SRS Management → Mastery Tracking → Visualization and define the mastery levels (New, Learning, Familiar, Mastered) and the threshold per level.
2. Verify the levels and thresholds are saved and applied.
**Expected Result:** Mastery level definitions and thresholds — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-8-002 — Mastery display per concept, per subject, per student
**Type:** Positive
**Covers:** 3.1 → Mastery display
**Preconditions:** Mastery levels are defined; recall data exists.
**Steps:**
1. View the mastery display per concept.
2. View the mastery display per subject and per student.
**Expected Result:** Mastery display per concept, per subject, per student — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-8-003 — Mastery trend view and heatmap
**Type:** Positive
**Covers:** 3.1 → Trend view and heatmap
**Preconditions:** Recall data exists over time.
**Steps:**
1. View the mastery trend (mastery over time).
2. View the mastery heatmap (concept × student or concept × subject).
**Expected Result:** Mastery trend view and heatmap — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-8-004 — Rule: level derived from recall rate, no manual override
**Type:** Negative
**Covers:** 3.1 → Rule: no manual override
**Preconditions:** A concept has a recall rate below the Mastered threshold.
**Steps:**
1. Attempt to manually set the concept's mastery level to Mastered.
2. Verify the manual override is not available; the level is derived from the recall rate.
**Expected Result:** A concept's mastery level is derived from its recall rate; there is no manual override — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-8-005 — Rule: no recall data → shown as New
**Type:** Edge
**Covers:** 3.1 → Rule: no-data handling
**Preconditions:** A concept has no recall data.
**Steps:**
1. View the mastery display for the concept.
2. Verify it is shown as New, not an error.
**Expected Result:** A concept with no recall data is shown as New — delivered exactly as documented.
**Priority:** Medium

### TC-SA-SRS-8-006 — Audit logging of mastery visualization configuration
**Type:** Positive
**Covers:** 3.1 → Audit logging
**Preconditions:** Mastery visualization configuration changes have been made.
**Steps:**
1. Open the audit trail and filter by mastery visualization configuration.
2. Verify entries show the setting, the change, and the timestamp.
**Expected Result:** Audit logging of mastery visualization configuration — delivered exactly as documented.
**Priority:** Critical

## 3.2 Confidence Rating Configuration

### TC-SA-SRS-9-001 — Confidence rating options (Too Easy / Good / Hard)
**Type:** Positive
**Covers:** 3.2 → Rating options
**Preconditions:** A Super Admin is configuring the confidence rating.
**Steps:**
1. Set the confidence rating options (Too Easy / Good / Hard).
2. Verify the options appear on the SRS review prompt.
**Expected Result:** Confidence rating options — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-9-002 — Rating prompt timing (per recall, per batch)
**Type:** Positive
**Covers:** 3.2 → Prompt timing
**Preconditions:** Confidence rating options are set.
**Steps:**
1. Set the prompt timing to after-each-recall and verify the prompt appears per recall.
2. Set it to after-a-review-batch and verify the prompt appears per batch.
**Expected Result:** Rating prompt timing — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-9-003 — Rating-to-adjustment mapping
**Type:** Positive
**Covers:** 3.2 → Rating-to-adjustment mapping
**Preconditions:** Confidence rating options are set.
**Steps:**
1. Map each rating to its interval adjustment.
2. Trigger each rating and verify the interval adjustment matches the mapping.
**Expected Result:** Rating-to-adjustment mapping — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-9-004 — Rating required vs optional per content type
**Type:** Positive
**Covers:** 3.2 → Required vs optional
**Preconditions:** Confidence rating is configured.
**Steps:**
1. Set the rating to required for flashcards and optional for videos.
2. Verify the prompt enforces required for flashcards and allows skipping for videos.
**Expected Result:** Rating required vs optional per content type — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-9-005 — Rule: required rating blocks progression
**Type:** Negative
**Covers:** 3.2 → Rule: required rating enforcement
**Preconditions:** The rating is required for a content type.
**Steps:**
1. Attempt to progress past a recall without providing the rating.
2. Verify progression is blocked until the rating is provided.
**Expected Result:** A required rating blocks progression until the student provides a rating — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-9-006 — Rule: optional rating defaults to "Good" when skipped
**Type:** Edge
**Covers:** 3.2 → Rule: optional default
**Preconditions:** The rating is optional for a content type.
**Steps:**
1. Skip the rating prompt.
2. Verify the adjustment defaults to the "Good" outcome.
**Expected Result:** An optional rating defaults to "Good" when skipped — delivered exactly as documented.
**Priority:** Medium

### TC-SA-SRS-9-007 — Audit logging of confidence rating configuration
**Type:** Positive
**Covers:** 3.2 → Audit logging
**Preconditions:** Confidence rating configuration changes have been made.
**Steps:**
1. Open the audit trail and filter by confidence rating configuration.
2. Verify entries show the setting, the change, and the timestamp.
**Expected Result:** Audit logging of confidence rating configuration — delivered exactly as documented.
**Priority:** Critical

## 3.3 Retention Rate Prediction

### TC-SA-SRS-10-001 — Retention prediction model and horizon
**Type:** Positive
**Covers:** 3.3 → Model and horizon
**Preconditions:** A Super Admin is configuring retention prediction.
**Steps:**
1. Configure the retention prediction model (recall history + Ebbinghaus parameters) and set the prediction horizon (7-day, 30-day).
2. Verify the prediction is computed for the configured horizon.
**Expected Result:** Retention prediction model and horizon — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-10-002 — At-risk concept identification
**Type:** Positive
**Covers:** 3.3 → At-risk identification
**Preconditions:** Retention prediction is configured; some concepts have low predicted retention.
**Steps:**
1. Define the at-risk concept threshold.
2. Verify concepts with predicted retention below the threshold are identified as at-risk.
**Expected Result:** At-risk concept identification — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-10-003 — Prediction confidence and refresh frequency
**Type:** Positive
**Covers:** 3.3 → Confidence and refresh
**Preconditions:** Retention prediction is configured.
**Steps:**
1. Set the prediction confidence levels (high/medium/low based on data volume).
2. Set the refresh frequency and verify predictions refresh per the frequency.
**Expected Result:** Prediction confidence and refresh frequency — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-10-004 — Rule: insufficient data → low-confidence or not shown
**Type:** Edge
**Covers:** 3.3 → Rule: insufficient data
**Preconditions:** A concept has insufficient recall data.
**Steps:**
1. View the retention prediction for the concept.
2. Verify it is marked low-confidence or not shown (not a false-precision value).
**Expected Result:** A prediction is only shown when there is sufficient recall data — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-10-005 — Rule: prediction refreshed per frequency, not per view
**Type:** Negative
**Covers:** 3.3 → Rule: refresh cadence
**Preconditions:** The refresh frequency is set to daily.
**Steps:**
1. View the prediction multiple times within a day.
2. Verify the prediction value does not recompute on each view (refreshed per the frequency).
**Expected Result:** The prediction is refreshed per the configured frequency, not on every view — delivered exactly as documented.
**Priority:** Medium

### TC-SA-SRS-10-006 — Audit logging of retention prediction configuration
**Type:** Positive
**Covers:** 3.3 → Audit logging
**Preconditions:** Retention prediction configuration changes have been made.
**Steps:**
1. Open the audit trail and filter by retention prediction configuration.
2. Verify entries show the setting, the change, and the timestamp.
**Expected Result:** Audit logging of retention prediction configuration — delivered exactly as documented.
**Priority:** Critical

## 3.4 Mastered Concept Graduation Rules

### TC-SA-SRS-11-001 — Graduation criteria (consecutive recalls, mastery level)
**Type:** Positive
**Covers:** 3.4 → Graduation criteria
**Preconditions:** A Super Admin is configuring graduation rules.
**Steps:**
1. Set the graduation criteria (consecutive successful recalls, mastery level reached).
2. Verify the criteria are saved and applied.
**Expected Result:** Graduation criteria — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-11-002 — Graduation action (remove from queue, archive)
**Type:** Positive
**Covers:** 3.4 → Graduation action
**Preconditions:** A concept meets the graduation criteria.
**Steps:**
1. Define the graduation action (remove from active queue, archive).
2. Verify the concept is removed from the active queue and retained in the archive.
**Expected Result:** Graduation action — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-11-003 — Periodic re-check and re-entry rule
**Type:** Positive
**Covers:** 3.4 → Re-check and re-entry
**Preconditions:** Graduation rules are configured.
**Steps:**
1. Configure the periodic re-check of graduated concepts.
2. Define the re-entry rule (a graduated concept re-enters on a failed recall).
**Expected Result:** Periodic re-check and re-entry rule — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-11-004 — Graduation report
**Type:** Positive
**Covers:** 3.4 → Graduation report
**Preconditions:** Concepts have graduated over a period.
**Steps:**
1. Enable the graduation report.
2. Verify the report lists the concepts graduated per period.
**Expected Result:** Graduation report — delivered exactly as documented.
**Priority:** Medium

### TC-SA-SRS-11-005 — Rule: all criteria required to graduate
**Type:** Negative
**Covers:** 3.4 → Rule: all criteria required
**Preconditions:** A concept meets only some graduation criteria.
**Steps:**
1. Verify the concept does not graduate while any criterion is unmet.
2. Meet the remaining criteria and verify it graduates.
**Expected Result:** A concept graduates only when all graduation criteria are met — delivered exactly as documented.
**Priority:** Critical

### TC-SA-SRS-11-006 — Rule: graduated concept re-enters on failed recall
**Type:** Negative
**Covers:** 3.4 → Rule: re-entry
**Preconditions:** A concept has graduated; the re-entry rule is active.
**Steps:**
1. Trigger a failed recall on the graduated concept (via periodic re-check).
2. Verify the concept re-enters the active queue.
**Expected Result:** A graduated concept re-enters the active queue on a failed recall — delivered exactly as documented.
**Priority:** High

### TC-SA-SRS-11-007 — Audit logging of graduation rules
**Type:** Positive
**Covers:** 3.4 → Audit logging
**Preconditions:** Graduation rule changes have been made.
**Steps:**
1. Open the audit trail and filter by graduation rules.
2. Verify entries show the rule, the change, and the timestamp.
**Expected Result:** Audit logging of graduation rules — delivered exactly as documented.
**Priority:** Critical
