# 2. Professional Course Management — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: professional_course_management.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 |
|---------|--------------------|----------|
| 2.1 Create, Edit, and Delete Professional Courses | Create a professional course: title, description, and the category/sub-category it belongs to | TC-SA-06-02-001 |
| 2.1 Create, Edit, and Delete Professional Courses | Edit a course's details (title, description, professional attributes) | TC-SA-06-02-002 |
| 2.1 Create, Edit, and Delete Professional Courses | Delete or archive a course (archive preferred where enrollments exist) | TC-SA-06-02-003 |
| 2.1 Create, Edit, and Delete Professional Courses | Course list with status, category placement, and enrollment counts | TC-SA-06-02-004 |
| 2.1 Create, Edit, and Delete Professional Courses | Dependency check before delete: courses with enrollments are flagged for archive | TC-SA-06-02-005 |
| 2.1 Create, Edit, and Delete Professional Courses | Distinction from academic courses: professional courses use the category tree and carry professional attributes | TC-SA-06-02-006 |
| 2.1 Create, Edit, and Delete Professional Courses | Audit logging of course create/edit/delete | TC-SA-06-02-007 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: a professional course belongs to a category → sub-category node; the placement is set at creation and is its context | TC-SA-06-02-001 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: professional courses are distinct from academic courses: they use the category tree and carry the professional attributes (outcomes, instructor, duration, certification) | TC-SA-06-02-006 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: a course with enrollments is archived, not deleted; deletion is reserved for courses with no dependencies | TC-SA-06-02-003 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: archiving stops new enrollment but preserves existing learners' progress and completions; it is reversible | TC-SA-06-02-008 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: the dependency check runs before delete and blocks it with the specific reason where dependencies exist | TC-SA-06-02-005 |
| 2.1 Create, Edit, and Delete Professional Courses | Rule: all course changes are audit-logged with the acting admin and timestamp | TC-SA-06-02-007 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Course overview: what the course covers, in learner-facing terms | TC-SA-06-02-009 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Learning outcomes: the measurable skills a learner achieves on completion | TC-SA-06-02-010 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Instructor profile: the instructor's name, credentials, and bio | TC-SA-06-02-011 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Instructor assignment: linking an instructor to the course | TC-SA-06-02-012 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Duration and effort estimate: the course's length and the expected time investment | TC-SA-06-02-013 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Catalog visibility: the overview, outcomes, instructor, and duration shown on the course page | TC-SA-06-02-014 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Audit logging of profile changes | TC-SA-06-02-015 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: the overview and outcomes are learner-facing; outcomes are measurable statements | TC-SA-06-02-010 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: an instructor is assigned to the course; the profile (credentials, bio) is shown on the course page | TC-SA-06-02-012 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: the duration and effort estimate are set so a learner can plan the time investment; they are estimates, not guarantees | TC-SA-06-02-013 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: the profile is shown on the course's catalog page; it is the course's public communication | TC-SA-06-02-014 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: an instructor reassignment updates the course page; the change is recorded | TC-SA-06-02-016 |
| 2.2 Course Overview, Learning Outcomes, and Instructor Profiles | Rule: profile changes are audit-logged with the course, fields, and timestamp | TC-SA-06-02-015 |
| 2.3 Prerequisites and Recommendations | Prerequisites: the skills/courses a learner should have before starting | TC-SA-06-02-017 |
| 2.3 Prerequisites and Recommendations | Recommendation links: courses recommended before (foundations) or after (next steps) | TC-SA-06-02-018 |
| 2.3 Prerequisites and Recommendations | Prerequisite check: a learner's readiness assessed against the prerequisites | TC-SA-06-02-019 |
| 2.3 Prerequisites and Recommendations | Readiness warning: a learner who does not meet the prerequisites is warned | TC-SA-06-02-020 |
| 2.3 Prerequisites and Recommendations | Path visibility: the before/after recommendations shown on the course page | TC-SA-06-02-021 |
| 2.3 Prerequisites and Recommendations | Review: the prerequisites and recommendations are checked for correctness | TC-SA-06-02-022 |
| 2.3 Prerequisites and Recommendations | Audit logging of prerequisite/recommendation changes | TC-SA-06-02-023 |
| 2.3 Prerequisites and Recommendations | Rule: prerequisites can be recommended (warn) or enforced (block), per the course's setting; the behavior is explicit | TC-SA-06-02-024 |
| 2.3 Prerequisites and Recommendations | Rule: recommendations are before/after links; they form the path through the catalog | TC-SA-06-02-018 |
| 2.3 Prerequisites and Recommendations | Rule: a readiness warning does not silently block where the prerequisite is a recommendation | TC-SA-06-02-020 |
| 2.3 Prerequisites and Recommendations | Rule: the links are reviewed for correctness; a wrong prerequisite or recommendation is removed and recorded | TC-SA-06-02-022 |
| 2.3 Prerequisites and Recommendations | Rule: the path is visible on the course page; a learner sees the before/after context | TC-SA-06-02-021 |
| 2.3 Prerequisites and Recommendations | Rule: prerequisite/recommendation changes are audit-logged with the course, links, and timestamp | TC-SA-06-02-023 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Certification alignment: the industry certifications the course prepares for | TC-SA-06-02-025 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Alignment detail: which course elements map to the certification's requirements | TC-SA-06-02-026 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Real-world projects: the practical projects integrated into the course | TC-SA-06-02-027 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Project assignment: projects assigned within the course structure | TC-SA-06-02-028 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Project completion: a learner's project work tracked and assessed | TC-SA-06-02-029 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Catalog visibility: the certification alignment and projects shown on the course page | TC-SA-06-02-030 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Audit logging of alignment and project changes | TC-SA-06-02-031 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: certification alignment is specific: the course elements map to the certification's requirements, so the claim is substantiated | TC-SA-06-02-026 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: real-world projects are integrated into the course structure; they are part of the learning, not an add-on | TC-SA-06-02-027 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: project work is tracked and assessed; completion reflects the projects done | TC-SA-06-02-029 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: the alignment and projects are shown on the course page; they are the course's value communication | TC-SA-06-02-030 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: a certification alignment is a preparation statement (the course prepares for it), not an endorsement or guarantee of passing | TC-SA-06-02-032 |
| 2.4 Industry Certification Alignment and Real-World Project Integration | Rule: alignment and project changes are audit-logged with the course, alignment, projects, and timestamp | TC-SA-06-02-031 |

## 2.1 Create, Edit, and Delete Professional Courses

### TC-SA-06-02-001 — Create a professional course with title, description, and category/sub-category placement
**Type:** Positive
**Covers:** 2.1 → Create a professional course: title, description, and the category/sub-category it belongs to; Rule: a professional course belongs to a category → sub-category node; the placement is set at creation and is its context
**Preconditions:** The category → sub-category node IT → Web Development exists and is active.
**Steps:**
1. Open Course Management → Professional.
2. Create the course: title "Web Development Fundamentals", a description, and its placement (IT → Web Development).
3. Save and verify the course appears in the list as a draft under its category node.
**Expected Result:** The professional course is created with its identity and placement; it appears as a draft under its category node, ready for its professional attributes and content.
**Priority:** Critical

### TC-SA-06-02-002 — Edit a course's details (title, description, professional attributes)
**Type:** Positive
**Covers:** 2.1 → Edit a course's details (title, description, professional attributes)
**Preconditions:** A professional course exists; its description needs refining for the catalog.
**Steps:**
1. Open the course and edit its description (refined for the catalog).
2. Save and verify the updated details are stored.
3. Verify the change is recorded in the audit trail.
**Expected Result:** The course's details are edited and stored; the change is recorded.
**Priority:** High

### TC-SA-06-02-003 — Delete or archive a course: archive where enrollments exist; delete only a draft with no dependencies
**Type:** Negative
**Covers:** 2.1 → Delete or archive a course (archive preferred where enrollments exist); Rule: a course with enrollments is archived, not deleted; deletion is reserved for courses with no dependencies
**Preconditions:** Course A is no longer offered (a skill the platform is retiring) and has active enrollments; Course B is a draft created in error with no content or enrollments.
**Steps:**
1. For Course A, review its dependency (active enrollments exist) and archive it.
2. Verify Course A becomes unavailable for new enrollment.
3. For Course B, delete it and verify the dependency check passes and the course is removed.
**Expected Result:** The course with enrollments is archived (not deleted); the draft with no dependencies is deleted — deletion is reserved for no-dependency courses.
**Priority:** Critical

### TC-SA-06-02-004 — The course list shows status, category placement, and enrollment counts
**Type:** Positive
**Covers:** 2.1 → Course list with status, category placement, and enrollment counts
**Preconditions:** Multiple professional courses exist with varying statuses and enrollments.
**Steps:**
1. Open the professional course list.
2. Verify each course shows its status, category placement, and enrollment count.
**Expected Result:** The course list shows status, category placement, and enrollment counts — the catalog state is clear.
**Priority:** High

### TC-SA-06-02-005 — Dependency check before delete: courses with enrollments are flagged for archive; the check blocks delete with the specific reason
**Type:** Negative
**Covers:** 2.1 → Dependency check before delete: courses with enrollments are flagged for archive; Rule: the dependency check runs before delete and blocks it with the specific reason where dependencies exist
**Preconditions:** A professional course has active enrollments.
**Steps:**
1. Attempt to delete the course.
2. Verify the dependency check runs before delete and blocks it.
3. Verify the block shows the specific reason (enrollments exist) and flags the course for archive.
**Expected Result:** The dependency check blocks the delete with the specific reason (enrollments exist) and flags the course for archive.
**Priority:** Critical

### TC-SA-06-02-006 — Distinction from academic courses: professional courses use the category tree and carry professional attributes
**Type:** Edge
**Covers:** 2.1 → Distinction from academic courses: professional courses use the category tree and carry professional attributes; Rule: professional courses are distinct from academic courses: they use the category tree and carry the professional attributes (outcomes, instructor, duration, certification)
**Preconditions:** A professional course and an academic course both exist.
**Steps:**
1. Verify the professional course is organized under the category tree (not the board/grade/subject tree).
2. Verify the professional course carries the professional attributes (outcomes, instructor, duration, certification).
3. Verify the academic course does not carry those professional attributes.
**Expected Result:** The professional course uses the category tree and carries the professional attributes — it is distinct from the academic course.
**Priority:** High

### TC-SA-06-02-007 — Course create, edit, archive, and delete are audit-logged with the acting admin and timestamp
**Type:** Positive
**Covers:** 2.1 → Audit logging of course create/edit/delete; Rule: all course changes are audit-logged with the acting admin and timestamp
**Preconditions:** Professional courses have been created, edited, archived, and deleted.
**Steps:**
1. Open the audit trail and filter by "course".
2. Verify entries for create, edit, archive, and delete with the acting admin and the timestamp.
**Expected Result:** Each course create, edit, archive, and delete is audit-logged with the acting admin and timestamp.
**Priority:** Critical

### TC-SA-06-02-008 — Archiving stops new enrollment but preserves existing learners' progress and completions; it is reversible
**Type:** Edge
**Covers:** 2.1 → Rule: archiving stops new enrollment but preserves existing learners' progress and completions; it is reversible
**Preconditions:** A professional course with active enrollments and issued completions is archived.
**Steps:**
1. Verify new enrollment in the archived course is blocked.
2. Verify existing learners' progress and any issued completions remain intact.
3. Un-archive (restore) the course and verify it is available again.
**Expected Result:** Archiving stops new enrollment but preserves existing learners' progress and completions; it is reversible.
**Priority:** High

## 2.2 Course Overview, Learning Outcomes, and Instructor Profiles

### TC-SA-06-02-009 — Course overview: what the course covers, in learner-facing terms
**Type:** Positive
**Covers:** 2.2 → Course overview: what the course covers, in learner-facing terms
**Preconditions:** A professional course exists.
**Steps:**
1. Write the course overview (what the course covers) in learner-facing terms.
2. Save and verify the overview is stored.
**Expected Result:** The course overview is written in learner-facing terms and stored.
**Priority:** High

### TC-SA-06-02-010 — Learning outcomes: the measurable skills a learner achieves on completion; outcomes are measurable statements
**Type:** Positive
**Covers:** 2.2 → Learning outcomes: the measurable skills a learner achieves on completion; Rule: the overview and outcomes are learner-facing; outcomes are measurable statements
**Preconditions:** A professional course exists.
**Steps:**
1. Write the learning outcomes as measurable statements ("Build a responsive web page", not "Learn web things").
2. Save and verify the outcomes are stored and measurable.
**Expected Result:** The learning outcomes are measurable statements — what a learner achieves on completion.
**Priority:** High

### TC-SA-06-02-011 — Instructor profile: the instructor's name, credentials, and bio
**Type:** Positive
**Covers:** 2.2 → Instructor profile: the instructor's name, credentials, and bio
**Preconditions:** An instructor exists with a profile.
**Steps:**
1. View the instructor's profile: name, credentials, and bio.
2. Verify the profile is complete.
**Expected Result:** The instructor profile shows the instructor's name, credentials, and bio.
**Priority:** Medium

### TC-SA-06-02-012 — Instructor assignment: linking an instructor to the course; the profile is shown on the course page
**Type:** Positive
**Covers:** 2.2 → Instructor assignment: linking an instructor to the course; Rule: an instructor is assigned to the course; the profile (credentials, bio) is shown on the course page
**Preconditions:** A professional course exists; an instructor with a profile exists.
**Steps:**
1. Assign the instructor: link the instructor profile to the course.
2. Verify the course page shows the instructor's name, credentials, and bio.
**Expected Result:** The instructor is assigned to the course; the profile (credentials, bio) is shown on the course page.
**Priority:** High

### TC-SA-06-02-013 — Duration and effort estimate: the course's length and the expected time investment; they are estimates, not guarantees
**Type:** Positive
**Covers:** 2.2 → Duration and effort estimate: the course's length and the expected time investment; Rule: the duration and effort estimate are set so a learner can plan the time investment; they are estimates, not guarantees
**Preconditions:** A professional course exists.
**Steps:**
1. Set the duration and effort estimate: the course's length (e.g., 8 weeks) and the expected weekly time investment.
2. Verify the learner can plan the time investment from the estimate.
3. Verify the framing presents them as estimates, not guarantees.
**Expected Result:** The duration and effort estimate are set so a learner can plan — they are estimates, not guarantees.
**Priority:** Medium

### TC-SA-06-02-014 — Catalog visibility: the overview, outcomes, instructor, and duration shown on the course page
**Type:** Positive
**Covers:** 2.2 → Catalog visibility: the overview, outcomes, instructor, and duration shown on the course page; Rule: the profile is shown on the course's catalog page; it is the course's public communication
**Preconditions:** A professional course's profile (overview, outcomes, instructor, duration) is complete.
**Steps:**
1. As a learner, browse to the course's catalog page.
2. Verify the overview, outcomes, instructor, and duration are shown — the learner's decision information.
**Expected Result:** The profile is shown on the course's catalog page — the course's public communication.
**Priority:** High

### TC-SA-06-02-015 — Profile changes are audit-logged with the course, fields, and timestamp
**Type:** Positive
**Covers:** 2.2 → Audit logging of profile changes; Rule: profile changes are audit-logged with the course, fields, and timestamp
**Preconditions:** A course's profile (overview, outcomes, instructor, duration) has been changed.
**Steps:**
1. Open the audit trail and filter by "course profile".
2. Verify the entry shows the course, the fields changed, and the timestamp.
**Expected Result:** The profile change is audit-logged with the course, fields, and timestamp.
**Priority:** Critical

### TC-SA-06-02-016 — Instructor reassignment updates the course page; the change is recorded
**Type:** Positive
**Covers:** 2.2 → Rule: an instructor reassignment updates the course page; the change is recorded
**Preconditions:** A course has an assigned instructor who is now unavailable.
**Steps:**
1. Reassign the instructor (link a new instructor profile to the course).
2. Verify the course page updates to show the new instructor.
3. Verify the change is recorded in the audit trail.
**Expected Result:** The instructor reassignment updates the course page; the change is recorded.
**Priority:** High

## 2.3 Prerequisites and Recommendations

### TC-SA-06-02-017 — Prerequisites: the skills/courses a learner should have before starting
**Type:** Positive
**Covers:** 2.3 → Prerequisites: the skills/courses a learner should have before starting
**Preconditions:** An advanced course ("Advanced Web Development") exists; the foundational course ("Web Development Fundamentals") exists.
**Steps:**
1. Set the prerequisites for the advanced course: the foundational course or equivalent skills.
2. Verify the prerequisites are stored and shown on the course page.
**Expected Result:** The prerequisites (the skills/courses a learner should have before starting) are set and shown.
**Priority:** High

### TC-SA-06-02-018 — Recommendation links: courses recommended before (foundations) or after (next steps); they form the path through the catalog
**Type:** Positive
**Covers:** 2.3 → Recommendation links: courses recommended before (foundations) or after (next steps); Rule: recommendations are before/after links; they form the path through the catalog
**Preconditions:** The advanced course exists; before and after courses exist.
**Steps:**
1. Add the recommendations: the before course (foundations) and the after courses (next steps, e.g., "Full-Stack Development").
2. Verify the before/after links form the path through the catalog.
**Expected Result:** The recommendation links (before/after) are set — they form the path through the catalog.
**Priority:** High

### TC-SA-06-02-019 — Prerequisite check: a learner's readiness assessed against the prerequisites
**Type:** Positive
**Covers:** 2.3 → Prerequisite check: a learner's readiness assessed against the prerequisites
**Preconditions:** A course has prerequisites; a learner has completed the foundational course.
**Steps:**
1. The learner attempts to enroll in the course.
2. Verify the platform assesses the learner's readiness against the prerequisites.
3. Verify the learner is found ready (prerequisite met).
**Expected Result:** The learner's readiness is assessed against the prerequisites — the learner is found ready.
**Priority:** High

### TC-SA-06-02-020 — Readiness warning: a learner who does not meet the prerequisites is warned; a warning does not silently block where the prerequisite is a recommendation
**Type:** Negative
**Covers:** 2.3 → Readiness warning: a learner who does not meet the prerequisites is warned; Rule: a readiness warning does not silently block where the prerequisite is a recommendation
**Preconditions:** A course has a recommended (not enforced) prerequisite; a learner enrolls without it.
**Steps:**
1. The learner enrolls without the prerequisite.
2. Verify the platform shows the readiness warning: "Recommended prerequisite: Web Development Fundamentals."
3. Verify the learner can proceed (the prerequisite is a recommendation, not a hard block).
**Expected Result:** The learner is warned of the unmet prerequisite but can proceed — a warning does not silently block where the prerequisite is a recommendation.
**Priority:** Critical

### TC-SA-06-02-021 — Path visibility: the before/after recommendations shown on the course page; a learner sees the before/after context
**Type:** Positive
**Covers:** 2.3 → Path visibility: the before/after recommendations shown on the course page; Rule: the path is visible on the course page; a learner sees the before/after context
**Preconditions:** A course has before/after recommendations.
**Steps:**
1. As a learner, browse to the course page.
2. Verify the before/after recommendations are shown — the learner sees the path.
**Expected Result:** The before/after recommendations are shown on the course page — the learner sees the before/after context.
**Priority:** High

### TC-SA-06-02-022 — Review: the prerequisites and recommendations are checked for correctness; a wrong link is removed and recorded
**Type:** Negative
**Covers:** 2.3 → Review: the prerequisites and recommendations are checked for correctness; Rule: the links are reviewed for correctness; a wrong prerequisite or recommendation is removed and recorded
**Preconditions:** A course's prerequisites/recommendations include a wrong link.
**Steps:**
1. Review the prerequisites and recommendations for correctness.
2. Identify the wrong link and remove it.
3. Verify the removal is recorded in the audit trail.
**Expected Result:** The wrong link is removed and recorded — the path is not misleading.
**Priority:** High

### TC-SA-06-02-023 — Prerequisite/recommendation changes are audit-logged with the course, links, and timestamp
**Type:** Positive
**Covers:** 2.3 → Audit logging of prerequisite/recommendation changes; Rule: prerequisite/recommendation changes are audit-logged with the course, links, and timestamp
**Preconditions:** Prerequisites and recommendations have been added, changed, and removed.
**Steps:**
1. Open the audit trail and filter by "prerequisite/recommendation".
2. Verify entries show the course, the links, and the timestamp.
**Expected Result:** The prerequisite/recommendation changes are audit-logged with the course, links, and timestamp.
**Priority:** Critical

### TC-SA-06-02-024 — Prerequisites can be recommended (warn) or enforced (block), per the course's setting; the behavior is explicit
**Type:** Edge
**Covers:** 2.3 → Rule: prerequisites can be recommended (warn) or enforced (block), per the course's setting; the behavior is explicit
**Preconditions:** Course A has a recommended prerequisite; Course B has an enforced (mandatory) prerequisite.
**Steps:**
1. For Course A, a learner without the prerequisite is warned but can proceed.
2. For Course B, set the prerequisite as enforced; a learner without it cannot start until it is met.
3. Verify the behavior (warn vs. block) is explicit per the course's setting.
**Expected Result:** The prerequisite behavior is explicit per the course's setting — recommended warns (proceed allowed), enforced blocks (cannot start until met).
**Priority:** Critical

## 2.4 Industry Certification Alignment and Real-World Project Integration

### TC-SA-06-02-025 — Certification alignment: the industry certifications the course prepares for
**Type:** Positive
**Covers:** 2.4 → Certification alignment: the industry certifications the course prepares for
**Preconditions:** A professional course exists.
**Steps:**
1. Set the certification alignment: the industry certification the course prepares a learner for (e.g., a recognized web-development credential).
2. Verify the alignment is stored and shown on the course page.
**Expected Result:** The certification alignment (the industry certifications the course prepares for) is set and shown.
**Priority:** High

### TC-SA-06-02-026 — Alignment detail: which course elements map to the certification's requirements; the claim is substantiated
**Type:** Positive
**Covers:** 2.4 → Alignment detail: which course elements map to the certification's requirements; Rule: certification alignment is specific: the course elements map to the certification's requirements, so the claim is substantiated
**Preconditions:** A course has certification alignment set.
**Steps:**
1. Map the course elements to the certification's requirements (which modules cover which certification topics).
2. Verify the alignment is specific — not a vague claim.
**Expected Result:** The course elements map to the certification's requirements — the alignment is specific and substantiated.
**Priority:** High

### TC-SA-06-02-027 — Real-world projects: the practical projects integrated into the course; they are part of the learning, not an add-on
**Type:** Positive
**Covers:** 2.4 → Real-world projects: the practical projects integrated into the course; Rule: real-world projects are integrated into the course structure; they are part of the learning, not an add-on
**Preconditions:** A professional course exists.
**Steps:**
1. Integrate the real-world projects: the practical projects a learner completes within the course (a portfolio project, a capstone).
2. Verify the projects are integrated into the course structure (part of the learning, not an add-on).
**Expected Result:** The real-world projects are integrated into the course structure — part of the learning, not an add-on.
**Priority:** High

### TC-SA-06-02-028 — Project assignment: projects assigned within the course structure (at the point where the skills are ready)
**Type:** Positive
**Covers:** 2.4 → Project assignment: projects assigned within the course structure
**Preconditions:** A course has real-world projects integrated.
**Steps:**
1. Assign the projects within the course structure (the project at the point in the sequence where the skills are ready).
2. Verify the projects appear at the correct points in the course sequence.
**Expected Result:** The projects are assigned within the course structure — at the point in the sequence where the skills are ready.
**Priority:** High

### TC-SA-06-02-029 — Project completion: a learner's project work tracked and assessed; completion reflects the projects done
**Type:** Positive
**Covers:** 2.4 → Project completion: a learner's project work tracked and assessed; Rule: project work is tracked and assessed; completion reflects the projects done
**Preconditions:** A learner is working through a course with integrated projects.
**Steps:**
1. The learner works through the course and completes the projects.
2. Verify the learner's project work is tracked and assessed.
3. Verify the completion record reflects the projects done.
**Expected Result:** The learner's project work is tracked and assessed; the completion record reflects the projects done.
**Priority:** High

### TC-SA-06-02-030 — Catalog visibility: the certification alignment and projects shown on the course page; they are the course's value communication
**Type:** Positive
**Covers:** 2.4 → Catalog visibility: the certification alignment and projects shown on the course page; Rule: the alignment and projects are shown on the course page; they are the course's value communication
**Preconditions:** A course has certification alignment and integrated projects.
**Steps:**
1. As a learner, browse to the course page.
2. Verify the certification alignment and the projects are shown — the learner sees the credential and the hands-on experience.
**Expected Result:** The alignment and projects are shown on the course page — the course's value communication.
**Priority:** High

### TC-SA-06-02-031 — Alignment and project changes are audit-logged with the course, alignment, projects, and timestamp
**Type:** Positive
**Covers:** 2.4 → Audit logging of alignment and project changes; Rule: alignment and project changes are audit-logged with the course, alignment, projects, and timestamp
**Preconditions:** The course's certification alignment and projects have been changed.
**Steps:**
1. Open the audit trail and filter by "certification/project".
2. Verify the entry shows the course, the alignment, the projects, and the timestamp.
**Expected Result:** The alignment and project changes are audit-logged with the course, alignment, projects, and timestamp.
**Priority:** Critical

### TC-SA-06-02-032 — A certification alignment is a preparation statement (the course prepares for it), not an endorsement or guarantee of passing
**Type:** Edge
**Covers:** 2.4 → Rule: a certification alignment is a preparation statement (the course prepares for it), not an endorsement or guarantee of passing
**Preconditions:** A course has certification alignment displayed on its page.
**Steps:**
1. Review the framing of the certification alignment on the course page.
2. Verify it is presented as a preparation statement (the course prepares for it), not an endorsement or guarantee of passing.
**Expected Result:** The certification alignment is framed as a preparation statement — not an endorsement or guarantee of passing.
**Priority:** Medium
