# 1. Career Path Definitions — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: career_path_definitions.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 Career Path Catalog | Path creation | TC-SA-CG-01-001 |
| 1.1 Career Path Catalog | Path details | TC-SA-CG-01-002 |
| 1.1 Career Path Catalog | Path prerequisites | TC-SA-CG-01-003 |
| 1.1 Career Path Catalog | Path outcomes | TC-SA-CG-01-004 |
| 1.1 Career Path Catalog | Path catalog | TC-SA-CG-01-005 |
| 1.1 Career Path Catalog | Rule: a creation requires title and description | TC-SA-CG-01-006 |
| 1.1 Career Path Catalog | Rule: a path with no prerequisites is open to all | TC-SA-CG-01-007 |
| 1.1 Career Path Catalog | Rule: path actions are audit-logged | TC-SA-CG-01-008 |
| 1.2 Path Structure | Stage definition | TC-SA-CG-01-009 |
| 1.2 Path Structure | Stage ordering | TC-SA-CG-01-010 |
| 1.2 Path Structure | Stage milestones | TC-SA-CG-01-011 |
| 1.2 Path Structure | Stage duration | TC-SA-CG-01-012 |
| 1.2 Path Structure | Structure preview | TC-SA-CG-01-013 |
| 1.2 Path Structure | Rule: a path with no stages cannot be recommended | TC-SA-CG-01-014 |
| 1.2 Path Structure | Rule: structure changes are audit-logged | TC-SA-CG-01-015 |
| 1.3 Path Requirements | Skill requirements | TC-SA-CG-01-016 |
| 1.3 Path Requirements | Course requirements | TC-SA-CG-01-017 |
| 1.3 Path Requirements | Assessment requirements | TC-SA-CG-01-018 |
| 1.3 Path Requirements | Requirement levels | TC-SA-CG-01-019 |
| 1.3 Path Requirements | Requirement checklist | TC-SA-CG-01-020 |
| 1.3 Path Requirements | Rule: a requirement with no level defaults to basic | TC-SA-CG-01-021 |
| 1.3 Path Requirements | Rule: requirement changes are audit-logged | TC-SA-CG-01-022 |
| 1.4 Path Enablement | Path activation | TC-SA-CG-01-023 |
| 1.4 Path Enablement | Path deactivation | TC-SA-CG-01-024 |
| 1.4 Path Enablement | Effective date | TC-SA-CG-01-025 |
| 1.4 Path Enablement | Enablement scope | TC-SA-CG-01-026 |
| 1.4 Path Enablement | Enablement status | TC-SA-CG-01-027 |
| 1.4 Path Enablement | Rule: a deactivated path is not shown to learners | TC-SA-CG-01-028 |
| 1.4 Path Enablement | Rule: enablement changes are audit-logged | TC-SA-CG-01-029 |
| 1.5 Path Versioning | Version creation | TC-SA-CG-01-030 |
| 1.5 Path Versioning | Version history | TC-SA-CG-01-031 |
| 1.5 Path Versioning | Version comparison | TC-SA-CG-01-032 |
| 1.5 Path Versioning | Version rollback | TC-SA-CG-01-033 |
| 1.5 Path Versioning | Version notes | TC-SA-CG-01-034 |
| 1.5 Path Versioning | Rule: a rollback creates a new version | TC-SA-CG-01-035 |
| 1.5 Path Versioning | Rule: version actions are audit-logged | TC-SA-CG-01-036 |

### TC-SA-CG-01-001 — Path creation
**Type:** Positive
**Covers:** 1.1 → Path creation: the creation of a career path
**Preconditions:** A Super Admin account is active.
**Steps:**
1. As a Super Admin, create a new career path with title and description.
2. Save the path.
3. Observe the result and verify the full behavior: the path is created and listed.
**Expected Result:** The creation works — the path is listed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-002 — Path details
**Type:** Positive
**Covers:** 1.1 → Path details: the title, description, and industry of the path
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, set the industry classification and save.
2. Observe the result and verify the full behavior: the details are shown.
**Expected Result:** The details are shown — the industry is set, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-003 — Path prerequisites
**Type:** Positive
**Covers:** 1.1 → Path prerequisites: the skills and qualifications required
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, add the prerequisites and save.
2. Observe the result and verify the full behavior: the prerequisites are listed.
**Expected Result:** The prerequisites are shown — they are listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-004 — Path outcomes
**Type:** Positive
**Covers:** 1.1 → Path outcomes: the roles and outcomes the path leads to
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, add the outcomes and save.
2. Observe the result and verify the full behavior: the outcomes are listed.
**Expected Result:** The outcomes are shown — they are listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-005 — Path catalog
**Type:** Positive
**Covers:** 1.1 → Path catalog: the catalog of all defined career paths
**Preconditions:** A Super Admin account is active; multiple paths exist.
**Steps:**
1. As a Super Admin, open the path catalog.
2. Observe the result and verify the full behavior: all paths are listed.
**Expected Result:** The catalog is shown — the paths are listed, delivered exactly as documented.
**Priority:** Low

### TC-SA-CG-01-006 — Rule: a creation requires title and description
**Type:** Negative
**Covers:** 1.1 → Rule: a path creation requires a title and description
**Preconditions:** A Super Admin account is active; the description is empty.
**Steps:**
1. As a Super Admin, attempt to create the path without a description.
2. Observe the result and verify the full behavior: the creation is blocked with a validation error.
**Expected Result:** The creation is blocked — the required fields are enforced, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-007 — Rule: a path with no prerequisites is open to all
**Type:** Positive
**Covers:** 1.1 → Rule: a path with no prerequisites is open to all learners
**Preconditions:** A Super Admin account is active; a path has no prerequisites.
**Steps:**
1. As a learner, view the path.
2. Observe the result and verify the full behavior: the path is available with no prerequisite gate.
**Expected Result:** The path is open — no prerequisite gate is applied, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-008 — Rule: path actions are audit-logged
**Type:** Positive
**Covers:** 1.1 → Audit logging of career path definitions
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, create a path.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-009 — Stage definition
**Type:** Positive
**Covers:** 1.2 → Stage definition: the stages within the path
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, add a stage with name and description and save.
2. Observe the result and verify the full behavior: the stage is listed.
**Expected Result:** The stage is defined — it is listed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-010 — Stage ordering
**Type:** Positive
**Covers:** 1.2 → Stage ordering: the sequence of the stages
**Preconditions:** A Super Admin account is active; a path has multiple stages.
**Steps:**
1. As a Super Admin, reorder the stages and save.
2. Observe the result and verify the full behavior: the sequence is updated.
**Expected Result:** The ordering is applied — the sequence is updated, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-011 — Stage milestones
**Type:** Positive
**Covers:** 1.2 → Stage milestones: the milestones within each stage
**Preconditions:** A Super Admin account is active; a stage exists.
**Steps:**
1. As a Super Admin, add a milestone to the stage and save.
2. Observe the result and verify the full behavior: the milestone is listed.
**Expected Result:** The milestone is added — it is listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-012 — Stage duration
**Type:** Positive
**Covers:** 1.2 → Stage duration: the expected duration per stage
**Preconditions:** A Super Admin account is active; a stage exists.
**Steps:**
1. As a Super Admin, set the duration for the stage and save.
2. Observe the result and verify the full behavior: the duration is shown.
**Expected Result:** The duration is set — it is shown, delivered exactly as documented.
**Priority:** Low

### TC-SA-CG-01-013 — Structure preview
**Type:** Positive
**Covers:** 1.2 → Structure preview: the preview of the path structure
**Preconditions:** A Super Admin account is active; a path has stages.
**Steps:**
1. As a Super Admin, open the structure preview.
2. Observe the result and verify the full behavior: the full path flow is shown.
**Expected Result:** The preview is shown — the flow is visible, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-014 — Rule: a path with no stages cannot be recommended
**Type:** Negative
**Covers:** 1.2 → Rule: a path with no stages cannot be recommended
**Preconditions:** A Super Admin account is active; a path has no stages.
**Steps:**
1. As a Super Admin, attempt to enable the path for recommendation.
2. Observe the result and verify the full behavior: the recommendation is blocked.
**Expected Result:** The recommendation is blocked — the stage precondition is enforced, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-015 — Rule: structure changes are audit-logged
**Type:** Positive
**Covers:** 1.2 → Audit logging of path structure
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, reorder the stages and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the change is recorded with the actor and timestamp.
**Expected Result:** The change is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-016 — Skill requirements
**Type:** Positive
**Covers:** 1.3 → Skill requirements: the skills required for the path
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, add a skill requirement and save.
2. Observe the result and verify the full behavior: the skill is listed.
**Expected Result:** The skill is added — it is listed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-017 — Course requirements
**Type:** Positive
**Covers:** 1.3 → Course requirements: the courses required for the path
**Preconditions:** A Super Admin account is active; a path and a course exist.
**Steps:**
1. As a Super Admin, link the course to the path and save.
2. Observe the result and verify the full behavior: the course is listed.
**Expected Result:** The course is linked — it is listed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-018 — Assessment requirements
**Type:** Positive
**Covers:** 1.3 → Assessment requirements: the assessments required for the path
**Preconditions:** A Super Admin account is active; a path and an assessment exist.
**Steps:**
1. As a Super Admin, link the assessment to the path and save.
2. Observe the result and verify the full behavior: the assessment is listed.
**Expected Result:** The assessment is linked — it is listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-019 — Requirement levels
**Type:** Positive
**Covers:** 1.3 → Requirement levels: the proficiency level per requirement
**Preconditions:** A Super Admin account is active; a requirement exists.
**Steps:**
1. As a Super Admin, set the level to advanced and save.
2. Observe the result and verify the full behavior: the level is shown.
**Expected Result:** The level is set — it is shown, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-020 — Requirement checklist
**Type:** Positive
**Covers:** 1.3 → Requirement checklist: the checklist of requirements
**Preconditions:** A Super Admin account is active; a path has requirements.
**Steps:**
1. As a Super Admin, open the requirement checklist.
2. Observe the result and verify the full behavior: all requirements are listed with status.
**Expected Result:** The checklist is shown — the requirements are listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-021 — Rule: a requirement with no level defaults to basic
**Type:** Positive
**Covers:** 1.3 → Rule: a requirement with no level defaults to basic
**Preconditions:** A Super Admin account is active; a requirement has no level set.
**Steps:**
1. As a Super Admin, view the requirement.
2. Observe the result and verify the full behavior: the level shows basic.
**Expected Result:** The default is applied — basic is shown, delivered exactly as documented.
**Priority:** Low

### TC-SA-CG-01-022 — Rule: requirement changes are audit-logged
**Type:** Positive
**Covers:** 1.3 → Audit logging of path requirements
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, add a requirement and save.
2. Open the audit log.
3. Observe the result and verify the full behavior: the change is recorded with the actor and timestamp.
**Expected Result:** The change is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-023 — Path activation
**Type:** Positive
**Covers:** 1.4 → Path activation: the path toggled active
**Preconditions:** A Super Admin account is active; a path is inactive.
**Steps:**
1. As a Super Admin, activate the path.
2. Observe the result and verify the full behavior: the path is available for guidance.
**Expected Result:** The activation works — the path is available, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-024 — Path deactivation
**Type:** Positive
**Covers:** 1.4 → Path deactivation: the path disabled from guidance
**Preconditions:** A Super Admin account is active; a path is active.
**Steps:**
1. As a Super Admin, deactivate the path.
2. Observe the result and verify the full behavior: the path is removed from guidance.
**Expected Result:** The deactivation works — the path is removed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-025 — Effective date
**Type:** Positive
**Covers:** 1.4 → Effective date: the date the enablement takes effect
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, set a future effective date for activation and save.
2. Observe the result and verify the full behavior: the path activates on the date.
**Expected Result:** The date is applied — the path activates on the date, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-026 — Enablement scope
**Type:** Positive
**Covers:** 1.4 → Enablement scope: the institutes the path applies to
**Preconditions:** A Super Admin account is active; multiple institutes exist.
**Steps:**
1. As a Super Admin, limit the path to specific institutes and save.
2. Observe the result and verify the full behavior: the path is available only to those institutes.
**Expected Result:** The scope is applied — the path is limited, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-027 — Enablement status
**Type:** Positive
**Covers:** 1.4 → Enablement status: the current status of the path
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, view the enablement status.
2. Observe the result and verify the full behavior: the current state is shown.
**Expected Result:** The status is shown — it reflects the state, delivered exactly as documented.
**Priority:** Low

### TC-SA-CG-01-028 — Rule: a deactivated path is not shown to learners
**Type:** Negative
**Covers:** 1.4 → Rule: a deactivated path is not shown to learners
**Preconditions:** A Super Admin account is active; a path is deactivated.
**Steps:**
1. As a learner, view the career guidance.
2. Observe the result and verify the full behavior: the deactivated path is not shown.
**Expected Result:** The path is hidden — it is not shown, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-029 — Rule: enablement changes are audit-logged
**Type:** Positive
**Covers:** 1.4 → Audit logging of path enablement
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, deactivate the path.
2. Open the audit log.
3. Observe the result and verify the full behavior: the change is recorded with the actor and timestamp.
**Expected Result:** The change is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-030 — Version creation
**Type:** Positive
**Covers:** 1.5 → Version creation: the creation of a new path version
**Preconditions:** A Super Admin account is active; a path exists.
**Steps:**
1. As a Super Admin, create a new version with notes.
2. Observe the result and verify the full behavior: the version is created and listed.
**Expected Result:** The version is created — it is listed, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-031 — Version history
**Type:** Positive
**Covers:** 1.5 → Version history: the history of path versions
**Preconditions:** A Super Admin account is active; a path has multiple versions.
**Steps:**
1. As a Super Admin, open the version history.
2. Observe the result and verify the full behavior: the versions are listed chronologically.
**Expected Result:** The history is shown — the versions are listed, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-032 — Version comparison
**Type:** Positive
**Covers:** 1.5 → Version comparison: the comparison between versions
**Preconditions:** A Super Admin account is active; a path has two versions.
**Steps:**
1. As a Super Admin, compare the two versions.
2. Observe the result and verify the full behavior: the differences are shown.
**Expected Result:** The comparison is shown — the differences are visible, delivered exactly as documented.
**Priority:** Medium

### TC-SA-CG-01-033 — Version rollback
**Type:** Positive
**Covers:** 1.5 → Version rollback: the rollback to a previous version
**Preconditions:** A Super Admin account is active; a path has a previous version.
**Steps:**
1. As a Super Admin, roll back to the previous version.
2. Observe the result and verify the full behavior: the path reflects the previous version.
**Expected Result:** The rollback works — the path reflects the version, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-034 — Version notes
**Type:** Positive
**Covers:** 1.5 → Version notes: the notes describing each version
**Preconditions:** A Super Admin account is active; a version exists.
**Steps:**
1. As a Super Admin, add notes to the version and save.
2. Observe the result and verify the full behavior: the notes are shown.
**Expected Result:** The notes are shown — they are saved, delivered exactly as documented.
**Priority:** Low

### TC-SA-CG-01-035 — Rule: a rollback creates a new version
**Type:** Positive
**Covers:** 1.5 → Rule: a rollback creates a new version, not a deletion
**Preconditions:** A Super Admin account is active; a path has versions.
**Steps:**
1. As a Super Admin, roll back to a previous version.
2. Open the version history.
3. Observe the result and verify the full behavior: a new version is created and the old versions are preserved.
**Expected Result:** The rollback creates a version — the history is preserved, delivered exactly as documented.
**Priority:** High

### TC-SA-CG-01-036 — Rule: version actions are audit-logged
**Type:** Positive
**Covers:** 1.5 → Audit logging of path versioning
**Preconditions:** A Super Admin account is active; the audit log is accessible.
**Steps:**
1. As a Super Admin, create a version.
2. Open the audit log.
3. Observe the result and verify the full behavior: the action is recorded with the actor and timestamp.
**Expected Result:** The action is audit-logged — the actor and timestamp are recorded, delivered exactly as documented.
**Priority:** High
