# 1. Live Session Scheduling & Access — Test Cases

User Type: **Student**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: session_scheduling.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 Live Session Calendar | Calendar of upcoming live sessions | TC-ST-11-01-001 |
| 1.1 Live Session Calendar | Filter sessions by subject and date | TC-ST-11-01-002 |
| 1.1 Live Session Calendar | Session detail (topic, instructor, time, duration) | TC-ST-11-01-003 |
| 1.1 Live Session Calendar | Session type (class, doubt-clearing, webinar) | TC-ST-11-01-004 |
| 1.1 Live Session Calendar | Add a session to the Student's personal calendar | TC-ST-11-01-005 |
| 1.1 Live Session Calendar | Session reminders before the start | TC-ST-11-01-006 |
| 1.1 Live Session Calendar | Calendar available on web and mobile | TC-ST-11-01-007 |
| 1.1 Live Session Calendar | Calendar event logging (viewed, reminder set) | TC-ST-11-01-008 |
| 1.1 Live Session Calendar | Audit logging of the live session calendar | TC-ST-11-01-009 |
| 1.1 Live Session Calendar | Rule: The calendar lists upcoming live sessions. | TC-ST-11-01-001 |
| 1.1 Live Session Calendar | Rule: Filters operate on subject and date. | TC-ST-11-01-002 |
| 1.1 Live Session Calendar | Rule: A session reminder is sent before the start (per the platform's lead time). | TC-ST-11-01-003 |
| 1.1 Live Session Calendar | Rule: The calendar is available on web and mobile. | TC-ST-11-01-004 |
| 1.1 Live Session Calendar | Rule: Calendar events (viewed, reminder set) are logged with the session and the timestamp. | TC-ST-11-01-005 |
| 1.1 Live Session Calendar | Rule: The live session calendar is audit-logged with the account, the session, and the timestamp. | TC-ST-11-01-006 |
| 1.2 Join a Live Session | Join a live session at its scheduled time | TC-ST-11-01-010 |
| 1.2 Join a Live Session | Join from the session detail or a notification | TC-ST-11-01-011 |
| 1.2 Join a Live Session | Session room with the instructor and other Students | TC-ST-11-01-012 |
| 1.2 Join a Live Session | Admission gated by subscription and enrollment | TC-ST-11-01-013 |
| 1.2 Join a Live Session | Waiting room before the session starts | TC-ST-11-01-014 |
| 1.2 Join a Live Session | Late join handling | TC-ST-11-01-015 |
| 1.2 Join a Live Session | Join event logging (joined, admitted) | TC-ST-11-01-016 |
| 1.2 Join a Live Session | Audit logging of the join a live session | TC-ST-11-01-017 |
| 1.2 Join a Live Session | Rule: Joining requires an active subscription and enrollment in the course. | TC-ST-11-01-010 |
| 1.2 Join a Live Session | Rule: A waiting room is shown before the session starts. | TC-ST-11-01-011 |
| 1.2 Join a Live Session | Rule: A late join is admitted when the session is in progress. | TC-ST-11-01-012 |
| 1.2 Join a Live Session | Rule: Join events (joined, admitted) are logged with the session and the timestamp. | TC-ST-11-01-013 |
| 1.2 Join a Live Session | Rule: The join a live session is audit-logged with the account, the session, and the timestamp. | TC-ST-11-01-014 |
| 1.3 Session Attendance and History | Attendance tracking per session (attended, missed, late) | TC-ST-11-01-018 |
| 1.3 Session Attendance and History | Session history (past sessions) | TC-ST-11-01-019 |
| 1.3 Session Attendance and History | Attendance rate over a period | TC-ST-11-01-020 |
| 1.3 Session Attendance and History | Missed session indicator | TC-ST-11-01-021 |
| 1.3 Session Attendance and History | History available on web and mobile | TC-ST-11-01-022 |
| 1.3 Session Attendance and History | History event logging (viewed) | TC-ST-11-01-023 |
| 1.3 Session Attendance and History | Audit logging of the session attendance and history | TC-ST-11-01-024 |
| 1.3 Session Attendance and History | Rule: Attendance is recorded as attended, missed, or late. | TC-ST-11-01-018 |
| 1.3 Session Attendance and History | Rule: The attendance rate is computed over the selected period. | TC-ST-11-01-019 |
| 1.3 Session Attendance and History | Rule: A missed session is indicated in the history. | TC-ST-11-01-020 |
| 1.3 Session Attendance and History | Rule: The history is available on web and mobile. | TC-ST-11-01-021 |
| 1.3 Session Attendance and History | Rule: History events (viewed) are logged with the session and the timestamp. | TC-ST-11-01-022 |
| 1.3 Session Attendance and History | Rule: The session attendance and history is audit-logged with the account, the session, and the timestamp. | TC-ST-11-01-023 |

## 1.1 Live Session Calendar

### TC-ST-11-01-001 — Calendar of upcoming live sessions
**Type:** Positive
**Covers:** 1.1 → Calendar of upcoming live sessions; Rule: The calendar lists upcoming live sessions.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Calendar of upcoming live sessions.
2. Observe the result and verify the full behavior: Calendar of upcoming live sessions.
**Expected Result:** Calendar of upcoming live sessions — delivered exactly as documented.
**Priority:** Critical

### TC-ST-11-01-002 — Filter sessions by subject and date
**Type:** Positive
**Covers:** 1.1 → Filter sessions by subject and date; Rule: Filters operate on subject and date.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Filter sessions by subject and date.
2. Observe the result and verify the full behavior: Filter sessions by subject and date.
**Expected Result:** Filter sessions by subject and date — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-003 — Session detail (topic, instructor, time, duration)
**Type:** Positive
**Covers:** 1.1 → Session detail (topic, instructor, time, duration); Rule: A session reminder is sent before the start (per the platform's lead time).
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Session detail (topic.
2. Observe the result and verify the full behavior: Session detail (topic, instructor, time, duration).
**Expected Result:** Session detail (topic, instructor, time, duration) — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-004 — Session type (class, doubt-clearing, webinar)
**Type:** Positive
**Covers:** 1.1 → Session type (class, doubt-clearing, webinar); Rule: The calendar is available on web and mobile.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Session type (class.
2. Observe the result and verify the full behavior: Session type (class, doubt-clearing, webinar).
**Expected Result:** Session type (class, doubt-clearing, webinar) — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-005 — Add a session to the Student's personal calendar
**Type:** Positive
**Covers:** 1.1 → Add a session to the Student's personal calendar; Rule: Calendar events (viewed, reminder set) are logged with the session and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Add a session to the Student's personal calendar.
2. Observe the result and verify the full behavior: Add a session to the Student's personal calendar.
**Expected Result:** Add a session to the Student's personal calendar — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-006 — Session reminders before the start
**Type:** Positive
**Covers:** 1.1 → Session reminders before the start; Rule: The live session calendar is audit-logged with the account, the session, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Session reminders before the start.
2. Observe the result and verify the full behavior: Session reminders before the start.
**Expected Result:** Session reminders before the start — delivered exactly as documented.
**Priority:** High

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

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

### TC-ST-11-01-009 — Audit logging of the live session calendar
**Type:** Positive
**Covers:** 1.1 → Audit logging of the live session calendar
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the live session calendar.
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 Join a Live Session

### TC-ST-11-01-010 — Join a live session at its scheduled time
**Type:** Positive
**Covers:** 1.2 → Join a live session at its scheduled time; Rule: Joining requires an active subscription and enrollment in the course.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Join a live session at its scheduled time.
2. Observe the result and verify the full behavior: Join a live session at its scheduled time.
**Expected Result:** Join a live session at its scheduled time — delivered exactly as documented.
**Priority:** Critical

### TC-ST-11-01-011 — Join from the session detail or a notification
**Type:** Positive
**Covers:** 1.2 → Join from the session detail or a notification; Rule: A waiting room is shown before the session starts.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Join from the session detail or a notification.
2. Observe the result and verify the full behavior: Join from the session detail or a notification.
**Expected Result:** Join from the session detail or a notification — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-012 — Session room with the instructor and other Students
**Type:** Positive
**Covers:** 1.2 → Session room with the instructor and other Students; Rule: A late join is admitted when the session is in progress.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Session room with the instructor and other Students.
2. Observe the result and verify the full behavior: Session room with the instructor and other Students.
**Expected Result:** Session room with the instructor and other Students — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-013 — Admission gated by subscription and enrollment
**Type:** Positive
**Covers:** 1.2 → Admission gated by subscription and enrollment; Rule: Join events (joined, admitted) are logged with the session and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Admission gated by subscription and enrollment.
2. Observe the result and verify the full behavior: Admission gated by subscription and enrollment.
**Expected Result:** Admission gated by subscription and enrollment — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-014 — Waiting room before the session starts
**Type:** Positive
**Covers:** 1.2 → Waiting room before the session starts; Rule: The join a live session is audit-logged with the account, the session, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Waiting room before the session starts.
2. Observe the result and verify the full behavior: Waiting room before the session starts.
**Expected Result:** Waiting room before the session starts — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-015 — Late join handling
**Type:** Positive
**Covers:** 1.2 → Late join handling
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Late join handling.
2. Observe the result and verify the full behavior: Late join handling.
**Expected Result:** Late join handling — delivered exactly as documented.
**Priority:** High

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

### TC-ST-11-01-017 — Audit logging of the join a live session
**Type:** Positive
**Covers:** 1.2 → Audit logging of the join a live session
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the join a live session.
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 Session Attendance and History

### TC-ST-11-01-018 — Attendance tracking per session (attended, missed, late)
**Type:** Positive
**Covers:** 1.3 → Attendance tracking per session (attended, missed, late); Rule: Attendance is recorded as attended, missed, or late.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Attendance tracking per session (attended.
2. Observe the result and verify the full behavior: Attendance tracking per session (attended, missed, late).
**Expected Result:** Attendance tracking per session (attended, missed, late) — delivered exactly as documented.
**Priority:** Critical

### TC-ST-11-01-019 — Session history (past sessions)
**Type:** Positive
**Covers:** 1.3 → Session history (past sessions); Rule: The attendance rate is computed over the selected period.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Session history (past sessions).
2. Observe the result and verify the full behavior: Session history (past sessions).
**Expected Result:** Session history (past sessions) — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-020 — Attendance rate over a period
**Type:** Positive
**Covers:** 1.3 → Attendance rate over a period; Rule: A missed session is indicated in the history.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Attendance rate over a period.
2. Observe the result and verify the full behavior: Attendance rate over a period.
**Expected Result:** Attendance rate over a period — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-021 — Missed session indicator
**Type:** Positive
**Covers:** 1.3 → Missed session indicator; Rule: The history is available on web and mobile.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: Missed session indicator.
2. Observe the result and verify the full behavior: Missed session indicator.
**Expected Result:** Missed session indicator — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-022 — History available on web and mobile
**Type:** Positive
**Covers:** 1.3 → History available on web and mobile; Rule: History events (viewed) are logged with the session and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, 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-ST-11-01-023 — History event logging (viewed)
**Type:** Positive
**Covers:** 1.3 → History event logging (viewed); Rule: The session attendance and history is audit-logged with the account, the session, and the timestamp.
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, set up the precondition and perform: History event logging (viewed).
2. Observe the result and verify the full behavior: History event logging (viewed).
**Expected Result:** History event logging (viewed) — delivered exactly as documented.
**Priority:** High

### TC-ST-11-01-024 — Audit logging of the session attendance and history
**Type:** Positive
**Covers:** 1.3 → Audit logging of the session attendance and history
**Preconditions:** A Student account is active and the Student is in the state required for this behavior.
**Steps:**
1. As a Student, perform the action associated with: Audit logging of the session attendance and 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
