# 3. Program Setup — Test Cases

User Type: **Organization**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: program_setup.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 | Create a program with name, objective, and duration | TC-ORG-3-01-001 |
| 3.1 | Select courses for the program | TC-ORG-3-01-002 |
| 3.1 | Assign target departments and groups | TC-ORG-3-01-003 |
| 3.1 | Edit and archive programs | TC-ORG-3-01-004 |
| 3.1 | Program detail and status view | TC-ORG-3-01-005 |
| 3.1 | Create & Manage Programs available on web and mobile | TC-ORG-3-01-006 |
| 3.1 | create & manage programs event logging (viewed) | TC-ORG-3-01-007 |
| 3.1 | Audit logging of create & manage programs | TC-ORG-3-01-008 |
| 3.1 | Rule: Create a program with name, objective, and duration. | TC-ORG-3-01-009 |
| 3.1 | Rule: Select courses for the program. | TC-ORG-3-01-010 |
| 3.1 | Rule: Assign target departments and groups. | TC-ORG-3-01-011 |
| 3.1 | Rule: Edit and archive programs. | TC-ORG-3-01-012 |
| 3.1 | Rule: Program detail and status view. | TC-ORG-3-01-013 |
| 3.2 | Assign courses and modules to a program | TC-ORG-3-02-014 |
| 3.2 | Set learning path order | TC-ORG-3-02-015 |
| 3.2 | Assign assessments to program stages | TC-ORG-3-02-016 |
| 3.2 | Curriculum version per program | TC-ORG-3-02-017 |
| 3.2 | Curriculum change history | TC-ORG-3-02-018 |
| 3.2 | Curriculum Assignment available on web and mobile | TC-ORG-3-02-019 |
| 3.2 | curriculum assignment event logging (viewed) | TC-ORG-3-02-020 |
| 3.2 | Audit logging of curriculum assignment | TC-ORG-3-02-021 |
| 3.2 | Rule: Assign courses and modules to a program. | TC-ORG-3-02-022 |
| 3.2 | Rule: Set learning path order. | TC-ORG-3-02-023 |
| 3.2 | Rule: Assign assessments to program stages. | TC-ORG-3-02-024 |
| 3.2 | Rule: Curriculum version per program. | TC-ORG-3-02-025 |
| 3.2 | Rule: Curriculum change history. | TC-ORG-3-02-026 |

## 3.1 Create & Manage Programs

### TC-ORG-3-01-001 — Create a program with name, objective, and duration
**Type:** Positive
**Covers:** 3.1 → Create a program with name, objective, and duration; Rule: Create a program with name, objective, and duration.
**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: Create a program with name, objective, and duration.
2. Observe the result and verify the full behavior: Create a program with name, objective, and duration.
**Expected Result:** Create a program with name, objective, and duration — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-3-01-002 — Select courses for the program
**Type:** Positive
**Covers:** 3.1 → Select courses for the program; Rule: Select courses for the program.
**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: Select courses for the program.
2. Observe the result and verify the full behavior: Select courses for the program.
**Expected Result:** Select courses for the program — delivered exactly as documented.
**Priority:** High

### TC-ORG-3-01-003 — Assign target departments and groups
**Type:** Positive
**Covers:** 3.1 → Assign target departments and groups; Rule: Assign target 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: Assign target departments and groups.
2. Observe the result and verify the full behavior: Assign target departments and groups.
**Expected Result:** Assign target departments and groups — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-004 — Edit and archive programs
**Type:** Positive
**Covers:** 3.1 → Edit and archive programs; Rule: Edit and archive programs.
**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: Edit and archive programs.
2. Observe the result and verify the full behavior: Edit and archive programs.
**Expected Result:** Edit and archive programs — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-005 — Program detail and status view
**Type:** Positive
**Covers:** 3.1 → Program detail and status view; Rule: Program detail and status view.
**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: Program detail and status view.
2. Observe the result and verify the full behavior: Program detail and status view.
**Expected Result:** Program detail and status view — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-006 — Create & Manage Programs available on web and mobile
**Type:** Positive
**Covers:** 3.1 → Create & Manage Programs available on web and mobile; Rule: Create a program with name, objective, and duration.
**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: Create & Manage Programs available on web and mobile.
2. Observe the result and verify the full behavior: Create & Manage Programs available on web and mobile.
**Expected Result:** Create & Manage Programs available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-007 — create & manage programs event logging (viewed)
**Type:** Positive
**Covers:** 3.1 → create & manage programs event logging (viewed); Rule: Select courses for the program.
**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: create & manage programs event logging (viewed).
2. Observe the result and verify the full behavior: create & manage programs event logging (viewed).
**Expected Result:** create & manage programs event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-008 — Audit logging of create & manage programs
**Type:** Positive
**Covers:** 3.1 → Audit logging of create & manage programs; Rule: Assign target 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: Audit logging of create & manage programs.
2. Observe the result and verify the full behavior: Audit logging of create & manage programs.
**Expected Result:** Audit logging of create & manage programs — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-009 — Rule: Create a program with name, objective, and duration.
**Type:** Positive
**Covers:** 3.1 → Rule: Create a program with name, objective, and duration.
**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: Create a program with name, objective, and duration.
2. Observe the result and verify the full behavior: Create a program with name, objective, and duration.
**Expected Result:** Create a program with name, objective, and duration. — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-3-01-010 — Rule: Select courses for the program.
**Type:** Positive
**Covers:** 3.1 → Rule: Select courses for the program.
**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: Select courses for the program.
2. Observe the result and verify the full behavior: Select courses for the program.
**Expected Result:** Select courses for the program. — delivered exactly as documented.
**Priority:** High

### TC-ORG-3-01-011 — Rule: Assign target departments and groups.
**Type:** Positive
**Covers:** 3.1 → Rule: Assign target 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: Assign target departments and groups.
2. Observe the result and verify the full behavior: Assign target departments and groups.
**Expected Result:** Assign target departments and groups. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-012 — Rule: Edit and archive programs.
**Type:** Positive
**Covers:** 3.1 → Rule: Edit and archive programs.
**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: Edit and archive programs.
2. Observe the result and verify the full behavior: Edit and archive programs.
**Expected Result:** Edit and archive programs. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-01-013 — Rule: Program detail and status view.
**Type:** Positive
**Covers:** 3.1 → Rule: Program detail and status view.
**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: Program detail and status view.
2. Observe the result and verify the full behavior: Program detail and status view.
**Expected Result:** Program detail and status view. — delivered exactly as documented.
**Priority:** Medium

## 3.2 Curriculum Assignment

### TC-ORG-3-02-014 — Assign courses and modules to a program
**Type:** Positive
**Covers:** 3.2 → Assign courses and modules to a program; Rule: Assign courses and modules to a program.
**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: Assign courses and modules to a program.
2. Observe the result and verify the full behavior: Assign courses and modules to a program.
**Expected Result:** Assign courses and modules to a program — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-3-02-015 — Set learning path order
**Type:** Positive
**Covers:** 3.2 → Set learning path order; Rule: Set learning path order.
**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: Set learning path order.
2. Observe the result and verify the full behavior: Set learning path order.
**Expected Result:** Set learning path order — delivered exactly as documented.
**Priority:** High

### TC-ORG-3-02-016 — Assign assessments to program stages
**Type:** Positive
**Covers:** 3.2 → Assign assessments to program stages; Rule: Assign assessments to program stages.
**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: Assign assessments to program stages.
2. Observe the result and verify the full behavior: Assign assessments to program stages.
**Expected Result:** Assign assessments to program stages — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-017 — Curriculum version per program
**Type:** Positive
**Covers:** 3.2 → Curriculum version per program; Rule: Curriculum version per program.
**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: Curriculum version per program.
2. Observe the result and verify the full behavior: Curriculum version per program.
**Expected Result:** Curriculum version per program — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-018 — Curriculum change history
**Type:** Positive
**Covers:** 3.2 → Curriculum change history; Rule: Curriculum change 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: Curriculum change history.
2. Observe the result and verify the full behavior: Curriculum change history.
**Expected Result:** Curriculum change history — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-019 — Curriculum Assignment available on web and mobile
**Type:** Positive
**Covers:** 3.2 → Curriculum Assignment available on web and mobile; Rule: Assign courses and modules to a program.
**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: Curriculum Assignment available on web and mobile.
2. Observe the result and verify the full behavior: Curriculum Assignment available on web and mobile.
**Expected Result:** Curriculum Assignment available on web and mobile — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-020 — curriculum assignment event logging (viewed)
**Type:** Positive
**Covers:** 3.2 → curriculum assignment event logging (viewed); Rule: Set learning path order.
**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: curriculum assignment event logging (viewed).
2. Observe the result and verify the full behavior: curriculum assignment event logging (viewed).
**Expected Result:** curriculum assignment event logging (viewed) — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-021 — Audit logging of curriculum assignment
**Type:** Positive
**Covers:** 3.2 → Audit logging of curriculum assignment; Rule: Assign assessments to program stages.
**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 curriculum assignment.
2. Observe the result and verify the full behavior: Audit logging of curriculum assignment.
**Expected Result:** Audit logging of curriculum assignment — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-022 — Rule: Assign courses and modules to a program.
**Type:** Positive
**Covers:** 3.2 → Rule: Assign courses and modules to a program.
**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: Assign courses and modules to a program.
2. Observe the result and verify the full behavior: Assign courses and modules to a program.
**Expected Result:** Assign courses and modules to a program. — delivered exactly as documented.
**Priority:** Critical

### TC-ORG-3-02-023 — Rule: Set learning path order.
**Type:** Positive
**Covers:** 3.2 → Rule: Set learning path order.
**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: Set learning path order.
2. Observe the result and verify the full behavior: Set learning path order.
**Expected Result:** Set learning path order. — delivered exactly as documented.
**Priority:** High

### TC-ORG-3-02-024 — Rule: Assign assessments to program stages.
**Type:** Positive
**Covers:** 3.2 → Rule: Assign assessments to program stages.
**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: Assign assessments to program stages.
2. Observe the result and verify the full behavior: Assign assessments to program stages.
**Expected Result:** Assign assessments to program stages. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-025 — Rule: Curriculum version per program.
**Type:** Positive
**Covers:** 3.2 → Rule: Curriculum version per program.
**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: Curriculum version per program.
2. Observe the result and verify the full behavior: Curriculum version per program.
**Expected Result:** Curriculum version per program. — delivered exactly as documented.
**Priority:** Medium

### TC-ORG-3-02-026 — Rule: Curriculum change history.
**Type:** Positive
**Covers:** 3.2 → Rule: Curriculum change 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: Curriculum change history.
2. Observe the result and verify the full behavior: Curriculum change history.
**Expected Result:** Curriculum change history. — delivered exactly as documented.
**Priority:** Medium
