# 1. Live Class Management — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: live_class_management.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 |
|---------|--------------------|----------|
| 1.1 Schedule Live Teaching Sessions | Session creation: title, subject, topic, teacher, date/time, duration | TC-SA-LS-1-001 |
| 1.1 Schedule Live Teaching Sessions | Audience assignment: by grade, subject, tier, or explicit list | TC-SA-LS-1-002 |
| 1.1 Schedule Live Teaching Sessions | Recurring sessions with a defined end | TC-SA-LS-1-003 |
| 1.1 Schedule Live Teaching Sessions | Session lifecycle: scheduled → live → completed, or cancelled | TC-SA-LS-1-004 |
| 1.1 Schedule Live Teaching Sessions | Calendar integration (Google/Outlook sync) | TC-SA-LS-1-005 |
| 1.1 Schedule Live Teaching Sessions | Conflict detection (teacher/audience overlap) | TC-SA-LS-1-006 |
| 1.1 Schedule Live Teaching Sessions | Rule: a session cannot be scheduled in the past | TC-SA-LS-1-007 |
| 1.1 Schedule Live Teaching Sessions | Rule: cancellation notifies enrolled students | TC-SA-LS-1-008 |
| 1.1 Schedule Live Teaching Sessions | Audit logging of live class scheduling | TC-SA-LS-1-009 |
| 1.2 Real-Time Q&A Configuration | Q&A enable/disable per session or globally | TC-SA-LS-2-001 |
| 1.2 Real-Time Q&A Configuration | Moderation mode: instant vs teacher-moderated | TC-SA-LS-2-002 |
| 1.2 Real-Time Q&A Configuration | Anonymous question option | TC-SA-LS-2-003 |
| 1.2 Real-Time Q&A Configuration | Question upvoting and queue ordering | TC-SA-LS-2-004 |
| 1.2 Real-Time Q&A Configuration | Rule: anonymous questions remain attributable in backend log | TC-SA-LS-2-005 |
| 1.2 Real-Time Q&A Configuration | Audit logging of Q&A configuration | TC-SA-LS-2-006 |
| 1.3 Interactive Whiteboard Settings | Whiteboard enable/disable | TC-SA-LS-3-001 |
| 1.3 Interactive Whiteboard Settings | Student drawing permissions (none/request/free) | TC-SA-LS-3-002 |
| 1.3 Interactive Whiteboard Settings | Whiteboard state saved with recording | TC-SA-LS-3-003 |
| 1.3 Interactive Whiteboard Settings | Rule: request-to-draw requires teacher approval | TC-SA-LS-3-004 |
| 1.3 Interactive Whiteboard Settings | Audit logging of whiteboard settings | TC-SA-LS-3-005 |
| 1.4 Recording Management | Recording enable/disable per session or globally | TC-SA-LS-4-001 |
| 1.4 Recording Management | Recording availability after session | TC-SA-LS-4-002 |
| 1.4 Recording Management | Recording retention period | TC-SA-LS-4-003 |
| 1.4 Recording Management | Recording access control | TC-SA-LS-4-004 |
| 1.4 Recording Management | Recording replacement | TC-SA-LS-4-005 |
| 1.4 Recording Management | Rule: access control enforced (out-of-scope cannot play) | TC-SA-LS-4-006 |
| 1.4 Recording Management | Audit logging of recording management | TC-SA-LS-4-007 |
| 1.5 Small Group Session Configuration | Group size limits (min/max) | TC-SA-LS-5-001 |
| 1.5 Small Group Session Configuration | Group formation: manual or auto by performance | TC-SA-LS-5-002 |
| 1.5 Small Group Session Configuration | Session frequency and teacher assignment | TC-SA-LS-5-003 |
| 1.5 Small Group Session Configuration | Rule: group cannot exceed max size | TC-SA-LS-5-004 |
| 1.5 Small Group Session Configuration | Audit logging of small group configuration | TC-SA-LS-5-005 |

## 1.1 Schedule Live Teaching Sessions

### TC-SA-LS-1-001 — Session creation: title, subject, topic, teacher, date/time, duration
**Type:** Positive
**Covers:** 1.1 → Session creation
**Preconditions:** A Super Admin account is active; a teacher and subject exist.
**Steps:**
1. As a Super Admin, create a new live session with title, subject, topic, teacher, date/time, and duration.
2. Observe the result and verify the session is saved with all fields.
**Expected Result:** Session creation — delivered exactly as documented.
**Priority:** Critical

### TC-SA-LS-1-002 — Audience assignment: by grade, subject, tier, or explicit list
**Type:** Positive
**Covers:** 1.1 → Audience assignment
**Preconditions:** A live session is being created; students exist in multiple grades/tiers.
**Steps:**
1. Assign the audience by grade, subject, subscription tier, and an explicit student list (separately).
2. Verify each assignment scopes the session to the intended students.
**Expected Result:** Audience assignment — delivered exactly as documented.
**Priority:** Critical

### TC-SA-LS-1-003 — Recurring sessions with a defined end
**Type:** Positive
**Covers:** 1.1 → Recurring sessions
**Preconditions:** A weekly recurring session is to be created.
**Steps:**
1. Create a recurring session with a defined end date/end count.
2. Verify the recurrence generates sessions up to the end.
**Expected Result:** Recurring sessions — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-1-004 — Session lifecycle: scheduled → live → completed, or cancelled
**Type:** Positive
**Covers:** 1.1 → Session lifecycle
**Preconditions:** A scheduled session exists.
**Steps:**
1. Observe the session transition scheduled → live at session time.
2. Observe the transition live → completed after it ends.
3. Cancel a separate scheduled session and verify its cancelled state.
**Expected Result:** Session lifecycle — delivered exactly as documented.
**Priority:** Critical

### TC-SA-LS-1-005 — Calendar integration (Google/Outlook sync)
**Type:** Positive
**Covers:** 1.1 → Calendar integration
**Preconditions:** Calendar integration is enabled for the audience.
**Steps:**
1. Publish a session.
2. Verify the session date is synced to the students' calendars.
**Expected Result:** Calendar integration — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-1-006 — Conflict detection (teacher/audience overlap)
**Type:** Negative
**Covers:** 1.1 → Conflict detection
**Preconditions:** A teacher already has a session at a given time.
**Steps:**
1. Attempt to schedule another session for the same teacher at an overlapping time.
2. Observe the conflict is flagged before save.
**Expected Result:** Conflict detection — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-1-007 — Rule: a session cannot be scheduled in the past
**Type:** Negative
**Covers:** 1.1 → Rule: no past scheduling
**Preconditions:** A Super Admin is creating a session.
**Steps:**
1. Attempt to set the session date/time in the past.
2. Observe the save is blocked.
**Expected Result:** The session cannot be scheduled in the past — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-1-008 — Rule: cancellation notifies enrolled students
**Type:** Negative
**Covers:** 1.1 → Rule: cancellation notification
**Preconditions:** A scheduled session has enrolled students.
**Steps:**
1. Cancel the session.
2. Verify enrolled students are notified and the session is not silently removed.
**Expected Result:** Cancellation notifies all enrolled students — delivered exactly as documented.
**Priority:** Critical

### TC-SA-LS-1-009 — Audit logging of live class scheduling
**Type:** Positive
**Covers:** 1.1 → Audit logging
**Preconditions:** Scheduling actions have been performed.
**Steps:**
1. Open the audit trail and filter by live class scheduling.
2. Verify entries show the actor, session, and timestamp.
**Expected Result:** Audit logging of live class scheduling — delivered exactly as documented.
**Priority:** Critical

## 1.2 Real-Time Q&A Configuration

### TC-SA-LS-2-001 — Q&A enable/disable per session or globally
**Type:** Positive
**Covers:** 1.2 → Q&A enable/disable
**Preconditions:** A Super Admin is configuring Q&A.
**Steps:**
1. Enable Q&A for a specific session and set a global default.
2. Verify the per-session setting overrides the global default.
**Expected Result:** Q&A enable/disable — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-2-002 — Moderation mode: instant vs teacher-moderated
**Type:** Positive
**Covers:** 1.2 → Moderation mode
**Preconditions:** Q&A is enabled for a session.
**Steps:**
1. Set moderation to instant and verify questions display immediately.
2. Set moderation to teacher-moderated and verify questions are hidden until approved.
**Expected Result:** Moderation mode — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-2-003 — Anonymous question option
**Type:** Positive
**Covers:** 1.2 → Anonymous question option
**Preconditions:** Q&A is enabled.
**Steps:**
1. Toggle the anonymous question option on.
2. Verify a student can submit an anonymous question.
**Expected Result:** Anonymous question option — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-2-004 — Question upvoting and queue ordering
**Type:** Positive
**Covers:** 1.2 → Upvoting and queue ordering
**Preconditions:** Q&A is enabled with upvoting on.
**Steps:**
1. Set queue ordering by upvotes and verify ordering.
2. Set ordering by time and verify ordering.
**Expected Result:** Question upvoting and queue ordering — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-2-005 — Rule: anonymous questions remain attributable in backend log
**Type:** Negative
**Covers:** 1.2 → Rule: anonymous attribution
**Preconditions:** An anonymous question has been submitted.
**Steps:**
1. Verify the question is hidden from the class.
2. Verify the backend log retains the student's identity.
**Expected Result:** Anonymous questions hide identity from the class but remain attributable in the backend log — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-2-006 — Audit logging of Q&A configuration
**Type:** Positive
**Covers:** 1.2 → Audit logging
**Preconditions:** Q&A configuration changes have been made.
**Steps:**
1. Open the audit trail and filter by Q&A configuration.
2. Verify entries show the session, the change, and the timestamp.
**Expected Result:** Audit logging of Q&A configuration — delivered exactly as documented.
**Priority:** Critical

## 1.3 Interactive Whiteboard Settings

### TC-SA-LS-3-001 — Whiteboard enable/disable
**Type:** Positive
**Covers:** 1.3 → Whiteboard enable/disable
**Preconditions:** A Super Admin is configuring the whiteboard.
**Steps:**
1. Enable the whiteboard for a session and verify it is available.
2. Disable it and verify it is unavailable.
**Expected Result:** Whiteboard enable/disable — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-3-002 — Student drawing permissions (none/request/free)
**Type:** Positive
**Covers:** 1.3 → Student drawing permissions
**Preconditions:** The whiteboard is enabled.
**Steps:**
1. Set permissions to none, request-to-draw, and free drawing (separately).
2. Verify each permission behaves as defined.
**Expected Result:** Student drawing permissions — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-3-003 — Whiteboard state saved with recording
**Type:** Positive
**Covers:** 1.3 → Whiteboard state saved with recording
**Preconditions:** A session with whiteboard activity is recorded.
**Steps:**
1. Enable whiteboard state saving with the recording.
2. Play back the recording and verify the whiteboard state is replayable.
**Expected Result:** Whiteboard state saved with the recording — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-3-004 — Rule: request-to-draw requires teacher approval
**Type:** Negative
**Covers:** 1.3 → Rule: request-to-draw approval
**Preconditions:** Permissions are set to request-to-draw.
**Steps:**
1. A student requests to draw.
2. Verify the drawing is not visible until the teacher approves it.
**Expected Result:** Request-to-draw requires teacher approval — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-3-005 — Audit logging of whiteboard settings
**Type:** Positive
**Covers:** 1.3 → Audit logging
**Preconditions:** Whiteboard settings changes have been made.
**Steps:**
1. Open the audit trail and filter by whiteboard settings.
2. Verify entries show the session, the change, and the timestamp.
**Expected Result:** Audit logging of whiteboard settings — delivered exactly as documented.
**Priority:** Critical

## 1.4 Recording Management

### TC-SA-LS-4-001 — Recording enable/disable per session or globally
**Type:** Positive
**Covers:** 1.4 → Recording enable/disable
**Preconditions:** A Super Admin is configuring recording.
**Steps:**
1. Enable recording for a session and set a global default.
2. Verify the per-session setting overrides the global default.
**Expected Result:** Recording enable/disable — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-4-002 — Recording availability after session
**Type:** Positive
**Covers:** 1.4 → Recording availability
**Preconditions:** A recorded session has ended.
**Steps:**
1. Set availability to immediate and verify the recording is available.
2. Set availability to after review and verify it is held until released.
**Expected Result:** Recording availability after session — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-4-003 — Recording retention period
**Type:** Positive
**Covers:** 1.4 → Recording retention
**Preconditions:** A recording retention period is set.
**Steps:**
1. Set the retention period.
2. Verify recordings are removed after the period elapses.
**Expected Result:** Recording retention period — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-4-004 — Recording access control
**Type:** Positive
**Covers:** 1.4 → Recording access control
**Preconditions:** A recording exists.
**Steps:**
1. Set access to enrolled students, all subscribers, and restricted (separately).
2. Verify each scope is enforced.
**Expected Result:** Recording access control — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-4-005 — Recording replacement
**Type:** Positive
**Covers:** 1.4 → Recording replacement
**Preconditions:** A recording needs correction.
**Steps:**
1. Replace the recording with a corrected one.
2. Verify the replacement is recorded and the original is preserved until confirmed.
**Expected Result:** Recording replacement — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-4-006 — Rule: access control enforced (out-of-scope cannot play)
**Type:** Negative
**Covers:** 1.4 → Rule: access enforcement
**Preconditions:** A recording is scoped to enrolled students only.
**Steps:**
1. Attempt to play the recording as a student outside the access scope.
2. Verify playback is denied.
**Expected Result:** Access control is enforced — a student outside the scope cannot play the recording — delivered exactly as documented.
**Priority:** Critical

### TC-SA-LS-4-007 — Audit logging of recording management
**Type:** Positive
**Covers:** 1.4 → Audit logging
**Preconditions:** Recording actions have been performed.
**Steps:**
1. Open the audit trail and filter by recording management.
2. Verify entries show the session, the action, and the timestamp.
**Expected Result:** Audit logging of recording management — delivered exactly as documented.
**Priority:** Critical

## 1.5 Small Group Session Configuration

### TC-SA-LS-5-001 — Group size limits (min/max)
**Type:** Positive
**Covers:** 1.5 → Group size limits
**Preconditions:** A Super Admin is configuring small groups.
**Steps:**
1. Set the min/max students per group.
2. Verify the limits are applied to group formation.
**Expected Result:** Group size limits — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-5-002 — Group formation: manual or auto by performance
**Type:** Positive
**Covers:** 1.5 → Group formation
**Preconditions:** Students with assessment data exist.
**Steps:**
1. Form groups manually by assigning students.
2. Form groups auto by performance band and verify banding.
**Expected Result:** Group formation — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-5-003 — Session frequency and teacher assignment
**Type:** Positive
**Covers:** 1.5 → Frequency and teacher assignment
**Preconditions:** Small groups are formed.
**Steps:**
1. Set the session frequency per group.
2. Assign teachers to groups and verify the assignments.
**Expected Result:** Session frequency and teacher assignment — delivered exactly as documented.
**Priority:** Medium

### TC-SA-LS-5-004 — Rule: group cannot exceed max size
**Type:** Negative
**Covers:** 1.5 → Rule: max size enforcement
**Preconditions:** A group is at the max size.
**Steps:**
1. Attempt to add another student to the group.
2. Verify the group does not exceed the max size (overflow flagged/new group).
**Expected Result:** A group cannot exceed the max size — delivered exactly as documented.
**Priority:** High

### TC-SA-LS-5-005 — Audit logging of small group configuration
**Type:** Positive
**Covers:** 1.5 → Audit logging
**Preconditions:** Small group configuration changes have been made.
**Steps:**
1. Open the audit trail and filter by small group configuration.
2. Verify entries show the change, the affected groups, and the timestamp.
**Expected Result:** Audit logging of small group configuration — delivered exactly as documented.
**Priority:** Critical
