# 4. Bulk Enrollment — Test Cases

User Type: **Organization**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: bulk_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 |
|---------|--------------------|----------|
| 4.1 | CSV upload for bulk enrollment | TC-ORG-4-01-001 |
| 4.1 | File validation with error report | TC-ORG-4-01-002 |
| 4.1 | Enroll users into programs and cohorts | TC-ORG-4-01-003 |
| 4.1 | Enrollment result summary (accepted, rejected) | TC-ORG-4-01-004 |
| 4.1 | Enrollment history | TC-ORG-4-01-005 |
| 4.1 | Bulk User Enrollment available on web and mobile | TC-ORG-4-01-006 |
| 4.1 | bulk user enrollment event logging (viewed) | TC-ORG-4-01-007 |
| 4.1 | Audit logging of bulk user enrollment | TC-ORG-4-01-008 |
| 4.1 | Rule: CSV upload for bulk enrollment. | TC-ORG-4-01-009 |
| 4.1 | Rule: File validation with error report. | TC-ORG-4-01-010 |
| 4.1 | Rule: Enroll users into programs and cohorts. | TC-ORG-4-01-011 |
| 4.1 | Rule: Enrollment result summary (accepted, rejected). | TC-ORG-4-01-012 |
| 4.1 | Rule: Enrollment history. | TC-ORG-4-01-013 |
| 4.2 | Total, allocated, and available seats | TC-ORG-4-02-014 |
| 4.2 | Allocate seats to departments and groups | TC-ORG-4-02-015 |
| 4.2 | Reallocate seats between departments | TC-ORG-4-02-016 |
| 4.2 | Seat utilization per department | TC-ORG-4-02-017 |
| 4.2 | Seat allocation history | TC-ORG-4-02-018 |
| 4.2 | Seat Allocation available on web and mobile | TC-ORG-4-02-019 |
| 4.2 | seat allocation event logging (viewed) | TC-ORG-4-02-020 |
| 4.2 | Audit logging of seat allocation | TC-ORG-4-02-021 |
| 4.2 | Rule: Total, allocated, and available seats. | TC-ORG-4-02-022 |
| 4.2 | Rule: Allocate seats to departments and groups. | TC-ORG-4-02-023 |
| 4.2 | Rule: Reallocate seats between departments. | TC-ORG-4-02-024 |
| 4.2 | Rule: Seat utilization per department. | TC-ORG-4-02-025 |
| 4.2 | Rule: Seat allocation history. | TC-ORG-4-02-026 |

## 4.1 Bulk User Enrollment

### TC-ORG-4-01-001 — CSV upload for bulk enrollment
**Type:** Positive
**Covers:** 4.1 → CSV upload for bulk enrollment; Rule: CSV upload for bulk enrollment.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: CSV upload for bulk enrollment.
2. Observe the result and verify the full behavior: CSV upload for bulk enrollment.
**Expected Result:** CSV upload for bulk enrollment — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-4-01-002 — File validation with error report
**Type:** Positive
**Covers:** 4.1 → File validation with error report; Rule: File validation with error report.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: File validation with error report.
2. Observe the result and verify the full behavior: File validation with error report.
**Expected Result:** File validation with error report — delivered exactly as documented.
**Priority:** High

### TC-ORG-4-01-003 — Enroll users into programs and cohorts
**Type:** Positive
**Covers:** 4.1 → Enroll users into programs and cohorts; Rule: Enroll users into programs and cohorts.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Enroll users into programs and cohorts.
2. Observe the result and verify the full behavior: Enroll users into programs and cohorts.
**Expected Result:** Enroll users into programs and cohorts — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-004 — Enrollment result summary (accepted, rejected)
**Type:** Positive
**Covers:** 4.1 → Enrollment result summary (accepted, rejected); Rule: Enrollment result summary (accepted, rejected).
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Enrollment result summary (accepted, rejected).
2. Observe the result and verify the full behavior: Enrollment result summary (accepted, rejected).
**Expected Result:** Enrollment result summary (accepted, rejected) — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-005 — Enrollment history
**Type:** Positive
**Covers:** 4.1 → Enrollment history; Rule: Enrollment history.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Enrollment history.
2. Observe the result and verify the full behavior: Enrollment history.
**Expected Result:** Enrollment history — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-006 — Bulk User Enrollment available on web and mobile
**Type:** Positive
**Covers:** 4.1 → Bulk User Enrollment available on web and mobile; Rule: CSV upload for bulk enrollment.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Bulk User Enrollment available on web and mobile.
2. Observe the result and verify the full behavior: Bulk User Enrollment available on web and mobile.
**Expected Result:** Bulk User Enrollment available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-007 — bulk user enrollment event logging (viewed)
**Type:** Positive
**Covers:** 4.1 → bulk user enrollment event logging (viewed); Rule: File validation with error report.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: bulk user enrollment event logging (viewed).
2. Observe the result and verify the full behavior: bulk user enrollment event logging (viewed).
**Expected Result:** bulk user enrollment event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-008 — Audit logging of bulk user enrollment
**Type:** Positive
**Covers:** 4.1 → Audit logging of bulk user enrollment; Rule: Enroll users into programs and cohorts.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Audit logging of bulk user enrollment.
2. Observe the result and verify the full behavior: Audit logging of bulk user enrollment.
**Expected Result:** Audit logging of bulk user enrollment — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-009 — Rule: CSV upload for bulk enrollment.
**Type:** Positive
**Covers:** 4.1 → Rule: CSV upload for bulk enrollment.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: CSV upload for bulk enrollment.
2. Observe the result and verify the full behavior: CSV upload for bulk enrollment.
**Expected Result:** CSV upload for bulk enrollment. — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-4-01-010 — Rule: File validation with error report.
**Type:** Positive
**Covers:** 4.1 → Rule: File validation with error report.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: File validation with error report.
2. Observe the result and verify the full behavior: File validation with error report.
**Expected Result:** File validation with error report. — delivered exactly as documented.
**Priority:** High

### TC-ORG-4-01-011 — Rule: Enroll users into programs and cohorts.
**Type:** Positive
**Covers:** 4.1 → Rule: Enroll users into programs and cohorts.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Enroll users into programs and cohorts.
2. Observe the result and verify the full behavior: Enroll users into programs and cohorts.
**Expected Result:** Enroll users into programs and cohorts. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-012 — Rule: Enrollment result summary (accepted, rejected).
**Type:** Positive
**Covers:** 4.1 → Rule: Enrollment result summary (accepted, rejected).
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Enrollment result summary (accepted, rejected).
2. Observe the result and verify the full behavior: Enrollment result summary (accepted, rejected).
**Expected Result:** Enrollment result summary (accepted, rejected). — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-01-013 — Rule: Enrollment history.
**Type:** Positive
**Covers:** 4.1 → Rule: Enrollment history.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Enrollment history.
2. Observe the result and verify the full behavior: Enrollment history.
**Expected Result:** Enrollment history. — delivered exactly as documented.
**Priority:** Medium

## 4.2 Seat Allocation

### TC-ORG-4-02-014 — Total, allocated, and available seats
**Type:** Positive
**Covers:** 4.2 → Total, allocated, and available seats; Rule: Total, allocated, and available seats.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Total, allocated, and available seats.
2. Observe the result and verify the full behavior: Total, allocated, and available seats.
**Expected Result:** Total, allocated, and available seats — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-4-02-015 — Allocate seats to departments and groups
**Type:** Positive
**Covers:** 4.2 → Allocate seats to departments and groups; Rule: Allocate seats to departments and groups.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Allocate seats to departments and groups.
2. Observe the result and verify the full behavior: Allocate seats to departments and groups.
**Expected Result:** Allocate seats to departments and groups — delivered exactly as documented.
**Priority:** High

### TC-ORG-4-02-016 — Reallocate seats between departments
**Type:** Positive
**Covers:** 4.2 → Reallocate seats between departments; Rule: Reallocate seats between departments.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Reallocate seats between departments.
2. Observe the result and verify the full behavior: Reallocate seats between departments.
**Expected Result:** Reallocate seats between departments — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-017 — Seat utilization per department
**Type:** Positive
**Covers:** 4.2 → Seat utilization per department; Rule: Seat utilization per department.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Seat utilization per department.
2. Observe the result and verify the full behavior: Seat utilization per department.
**Expected Result:** Seat utilization per department — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-018 — Seat allocation history
**Type:** Positive
**Covers:** 4.2 → Seat allocation history; Rule: Seat allocation history.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Seat allocation history.
2. Observe the result and verify the full behavior: Seat allocation history.
**Expected Result:** Seat allocation history — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-019 — Seat Allocation available on web and mobile
**Type:** Positive
**Covers:** 4.2 → Seat Allocation available on web and mobile; Rule: Total, allocated, and available seats.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Seat Allocation available on web and mobile.
2. Observe the result and verify the full behavior: Seat Allocation available on web and mobile.
**Expected Result:** Seat Allocation available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-020 — seat allocation event logging (viewed)
**Type:** Positive
**Covers:** 4.2 → seat allocation event logging (viewed); Rule: Allocate seats to departments and groups.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: seat allocation event logging (viewed).
2. Observe the result and verify the full behavior: seat allocation event logging (viewed).
**Expected Result:** seat allocation event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-021 — Audit logging of seat allocation
**Type:** Positive
**Covers:** 4.2 → Audit logging of seat allocation; Rule: Reallocate seats between departments.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform: Audit logging of seat allocation.
2. Observe the result and verify the full behavior: Audit logging of seat allocation.
**Expected Result:** Audit logging of seat allocation — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-022 — Rule: Total, allocated, and available seats.
**Type:** Positive
**Covers:** 4.2 → Rule: Total, allocated, and available seats.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Total, allocated, and available seats.
2. Observe the result and verify the full behavior: Total, allocated, and available seats.
**Expected Result:** Total, allocated, and available seats. — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-4-02-023 — Rule: Allocate seats to departments and groups.
**Type:** Positive
**Covers:** 4.2 → Rule: Allocate seats to departments and groups.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Allocate seats to departments and groups.
2. Observe the result and verify the full behavior: Allocate seats to departments and groups.
**Expected Result:** Allocate seats to departments and groups. — delivered exactly as documented.
**Priority:** High

### TC-ORG-4-02-024 — Rule: Reallocate seats between departments.
**Type:** Positive
**Covers:** 4.2 → Rule: Reallocate seats between departments.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Reallocate seats between departments.
2. Observe the result and verify the full behavior: Reallocate seats between departments.
**Expected Result:** Reallocate seats between departments. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-025 — Rule: Seat utilization per department.
**Type:** Positive
**Covers:** 4.2 → Rule: Seat utilization per department.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Seat utilization per department.
2. Observe the result and verify the full behavior: Seat utilization per department.
**Expected Result:** Seat utilization per department. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-4-02-026 — Rule: Seat allocation history.
**Type:** Positive
**Covers:** 4.2 → Rule: Seat allocation history.
**Preconditions:** A Organization account is active and the Organization is in the state required for this behavior.
**Steps:**
1. As a Organization, set up the precondition and perform the action that triggers the rule: Seat allocation history.
2. Observe the result and verify the full behavior: Seat allocation history.
**Expected Result:** Seat allocation history. — delivered exactly as documented.
**Priority:** Medium
