# 1. Student Enrollment — Test Cases

User Type: **Training Institute**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: student_enrollment.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 | Bulk student import upload | TC-TI-4-01-001 |
| 1.1 | File format validation | TC-TI-4-01-002 |
| 1.1 | Row-level validation | TC-TI-4-01-003 |
| 1.1 | Valid students created with licenses | TC-TI-4-01-004 |
| 1.1 | Import summary (imported, skipped, failed) | TC-TI-4-01-005 |
| 1.1 | Error report for failed rows | TC-TI-4-01-006 |
| 1.1 | Import available on web and mobile | TC-TI-4-01-007 |
| 1.1 | Import event logging (uploaded, completed) | TC-TI-4-01-008 |
| 1.1 | Audit logging of the bulk student import | TC-TI-4-01-009 |
| 1.1 | Rule: The failed rows are reported with the reason. | TC-TI-4-01-001 |
| 1.1 | Rule: A duplicate student is skipped, not duplicated. | TC-TI-4-01-002 |
| 1.1 | Rule: Import events (uploaded, completed) are logged with the account and the timestamp. | TC-TI-4-01-003 |
| 1.1 | Rule: The bulk student import is audit-logged with the account and the timestamp. | TC-TI-4-01-004 |
| 1.2 | Individual student registration form | TC-TI-4-01-010 |
| 1.2 | Student name, email, and details | TC-TI-4-01-011 |
| 1.2 | License assignment on registration | TC-TI-4-01-012 |
| 1.2 | Student created with access | TC-TI-4-01-013 |
| 1.2 | Registration confirmation shown | TC-TI-4-01-014 |
| 1.2 | Student profile viewable | TC-TI-4-01-015 |
| 1.2 | Registration available on web and mobile | TC-TI-4-01-016 |
| 1.2 | Registration event logging (created) | TC-TI-4-01-017 |
| 1.2 | Audit logging of the individual student registration | TC-TI-4-01-018 |
| 1.2 | Rule: The student email must be unique. | TC-TI-4-01-010 |
| 1.2 | Rule: A license is required for access. | TC-TI-4-01-011 |
| 1.2 | Rule: Registration events (created) are logged with the account and the timestamp. | TC-TI-4-01-012 |
| 1.2 | Rule: The individual student registration is audit-logged with the account and the timestamp. | TC-TI-4-01-013 |
| 1.3 | Student profile view | TC-TI-4-01-019 |
| 1.3 | Edit student details | TC-TI-4-01-020 |
| 1.3 | Assign or change the student's license | TC-TI-4-01-021 |
| 1.3 | View the student's activity | TC-TI-4-01-022 |
| 1.3 | Changes reflected in the student's experience | TC-TI-4-01-023 |
| 1.3 | Profile available on web and mobile | TC-TI-4-01-024 |
| 1.3 | Profile event logging (updated) | TC-TI-4-01-025 |
| 1.3 | Audit logging of the student profile management | TC-TI-4-01-026 |
| 1.3 | Rule: The changes are reflected in the student's experience. | TC-TI-4-01-019 |
| 1.3 | Rule: A license change revokes and grants access accordingly. | TC-TI-4-01-020 |
| 1.3 | Rule: Profile events (updated) are logged with the account and the timestamp. | TC-TI-4-01-021 |
| 1.3 | Rule: The student profile management is audit-logged with the account and the timestamp. | TC-TI-4-01-022 |

## 1.1 Bulk Student Import

### TC-TI-4-01-001 — Bulk student import upload
**Type:** Positive
**Covers:** 1.1 → Bulk student import upload; Rule: The failed rows are reported with the reason.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Bulk student import upload.
2. Observe the result and verify the full behavior: Bulk student import upload.
**Expected Result:** Bulk student import upload — delivered exactly as documented.
**Priority:** Critical

### TC-TI-4-01-002 — File format validation
**Type:** Edge
**Covers:** 1.1 → File format validation; Rule: A duplicate student is skipped, not duplicated.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: File format validation.
2. Observe the result and verify the full behavior: File format validation.
**Expected Result:** File format validation — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-003 — Row-level validation
**Type:** Edge
**Covers:** 1.1 → Row-level validation; Rule: Import events (uploaded, completed) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Row-level validation.
2. Observe the result and verify the full behavior: Row-level validation.
**Expected Result:** Row-level validation — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-004 — Valid students created with licenses
**Type:** Positive
**Covers:** 1.1 → Valid students created with licenses; Rule: The bulk student import is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Valid students created with licenses.
2. Observe the result and verify the full behavior: Valid students created with licenses.
**Expected Result:** Valid students created with licenses — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-005 — Import summary (imported, skipped, failed)
**Type:** Positive
**Covers:** 1.1 → Import summary (imported, skipped, failed)
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Import summary (imported, skipped, failed).
2. Observe the result and verify the full behavior: Import summary (imported, skipped, failed).
**Expected Result:** Import summary (imported, skipped, failed) — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-006 — Error report for failed rows
**Type:** Positive
**Covers:** 1.1 → Error report for failed rows
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Error report for failed rows.
2. Observe the result and verify the full behavior: Error report for failed rows.
**Expected Result:** Error report for failed rows — delivered exactly as documented.
**Priority:** High

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

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

### TC-TI-4-01-009 — Audit logging of the bulk student import
**Type:** Positive
**Covers:** 1.1 → Audit logging of the bulk student import
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the bulk student import action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The bulk student import action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 1.2 Individual Student Registration

### TC-TI-4-01-010 — Individual student registration form
**Type:** Positive
**Covers:** 1.2 → Individual student registration form; Rule: The student email must be unique.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Individual student registration form.
2. Observe the result and verify the full behavior: Individual student registration form.
**Expected Result:** Individual student registration form — delivered exactly as documented.
**Priority:** Critical

### TC-TI-4-01-011 — Student name, email, and details
**Type:** Positive
**Covers:** 1.2 → Student name, email, and details; Rule: A license is required for access.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Student name, email, and details.
2. Observe the result and verify the full behavior: Student name, email, and details.
**Expected Result:** Student name, email, and details — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-012 — License assignment on registration
**Type:** Positive
**Covers:** 1.2 → License assignment on registration; Rule: Registration events (created) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: License assignment on registration.
2. Observe the result and verify the full behavior: License assignment on registration.
**Expected Result:** License assignment on registration — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-013 — Student created with access
**Type:** Positive
**Covers:** 1.2 → Student created with access; Rule: The individual student registration is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Student created with access.
2. Observe the result and verify the full behavior: Student created with access.
**Expected Result:** Student created with access — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-014 — Registration confirmation shown
**Type:** Positive
**Covers:** 1.2 → Registration confirmation shown
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Registration confirmation shown.
2. Observe the result and verify the full behavior: Registration confirmation shown.
**Expected Result:** Registration confirmation shown — delivered exactly as documented.
**Priority:** High

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

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

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

### TC-TI-4-01-018 — Audit logging of the individual student registration
**Type:** Positive
**Covers:** 1.2 → Audit logging of the individual student registration
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the individual student registration action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The individual student registration action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical


## 1.3 Student Profile Management

### TC-TI-4-01-019 — Student profile view
**Type:** Positive
**Covers:** 1.3 → Student profile view; Rule: The changes are reflected in the student's experience.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Student profile view.
2. Observe the result and verify the full behavior: Student profile view.
**Expected Result:** Student profile view — delivered exactly as documented.
**Priority:** Critical

### TC-TI-4-01-020 — Edit student details
**Type:** Positive
**Covers:** 1.3 → Edit student details; Rule: A license change revokes and grants access accordingly.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Edit student details.
2. Observe the result and verify the full behavior: Edit student details.
**Expected Result:** Edit student details — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-021 — Assign or change the student's license
**Type:** Positive
**Covers:** 1.3 → Assign or change the student's license; Rule: Profile events (updated) are logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Assign or change the student's license.
2. Observe the result and verify the full behavior: Assign or change the student's license.
**Expected Result:** Assign or change the student's license — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-022 — View the student's activity
**Type:** Positive
**Covers:** 1.3 → View the student's activity; Rule: The student profile management is audit-logged with the account and the timestamp.
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: View the student's activity.
2. Observe the result and verify the full behavior: View the student's activity.
**Expected Result:** View the student's activity — delivered exactly as documented.
**Priority:** High

### TC-TI-4-01-023 — Changes reflected in the student's experience
**Type:** Positive
**Covers:** 1.3 → Changes reflected in the student's experience
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, set up the precondition and perform: Changes reflected in the student's experience.
2. Observe the result and verify the full behavior: Changes reflected in the student's experience.
**Expected Result:** Changes reflected in the student's experience — delivered exactly as documented.
**Priority:** High

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

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

### TC-TI-4-01-026 — Audit logging of the student profile management
**Type:** Positive
**Covers:** 1.3 → Audit logging of the student profile management
**Preconditions:** A Training Institute account is active and the Training Institute is in the state required for this behavior.
**Steps:**
1. As a Training Institute, perform the student profile management action.
2. Open the audit log and verify the entry for the action.
**Expected Result:** The student profile management action is recorded in the audit log with the account and the timestamp.
**Priority:** Critical
