Select your name first

Choose your name from the Tester dropdown at the top and click Save before filling out the form.

Tester

Sections QA — Comprehensive Walkthrough (Internal)

Jira: DLOW-198

What this is: Internal QA walkthrough for the section admin batch (CCS-07 through CCS-12 + CCS-09a). Sources:

  • UAT guides specs 024–030 on main
  • Admin Spec workflow §5 section path
  • Jira acceptance criteria (DLOW-177–182, DLOW-188)
  • UAT-aligned verify labels from uat-checklist.md + guide confirmation steps

Prerequisite: Complete DLOW-194 — Courses QA first (or seed PLG-LRW-201 via QA Seed Tools). This walkthrough continues where DLOW-194 left off at create-section handoff.

Not business UAT — internal QA before release.

Also see:


Legend

MarkerMeaning
(no marker)Core walkthrough from UAT guides (specs 024–030)
NEW — UAT-alignedVerify items curated from uat-checklist + guide confirmations
NEW — CorrectionFixes or RBAC notes for internal QA

Before you start

Start here: https://lsuoce-development.fly.dev/

  1. Confirm DLOW-194 foundation passed — especially PLG-LRW-201 ready for section creation.
  2. If needed, seed: QA Seed ToolsCCS-01 UAT — Legal Research & WritingSeed now
  3. Open catalog admin dashboard: https://lsuoce-development.fly.dev/dashboard/catalog/

Log in as:

WhoEmailPasswordUse for
Program Manager (primary CE user)pm_catalog@example.compassword12!Section workflow, create/edit/publish
Adminadmin@lsu.edupassword12!Seed tools, superuser checks
Enrollment Adminenrollment.admin@lsu.edupassword12!RBAC denial tests only — expect 403

Demo anchor: PLG-LRW-201 — Legal Research & Writing under Paralegal Studies Certificate.

First visit tip: Site may be asleep. If you see a 502, wait 15 seconds and reload.

Overlap note: Lifecycle (§5.5) and course inheritance (§4.3) were tested in DLOW-194 — here we verify them in section setup context only.


General Notes & Uploads

Test in this order

StepWhatBuild ticketUAT guide
1CCS-07 — Create & duplicate section (CCS-07)DLOW-177024-section-create-duplicate
2CCS-08 — Details & schedule (CCS-08)DLOW-178025-section-details-schedule
3CCS-09 — Enrollment, capacity & waitlist (CCS-09)DLOW-179026-section-enrollment-capacity
4CCS-09a — Enrollment eligibility gating (CCS-09a)DLOW-188027-section-enrollment-eligibility
5CCS-10 — Instructor & Paralegal restrictions (CCS-10)DLOW-180028-section-instructor-restrictions
6CCS-11 — Visibility, pricing/refund & publish readiness (CCS-11)DLOW-181029-section-visibility-pricing-refund
7CCS-12 — Publish, Moodle trigger & exceptions (CCS-12)DLOW-182030-section-publish-moodle-exceptions

Progress:


Part 1 — Create & duplicate section (CCS-07)

Task: DLOW-177 · Needs DLOW-194 (ready course + PLG-LRW-201 seeded)

In plain English: Staff create dated sections from a ready course or duplicate a prior offering — dates and price must not silently carry forward.

Workflow area: §4.5 → §5 — Create section from ready course

Walkthrough 1.1 — 1 — Create a section from a course

  1. Open: https://lsuoce-development.fly.dev/dashboard/catalog/
  2. Click Paralegal Studies Certificate → open course PLG-LRW-201 — Legal Research & Writing (section list).
  3. Click Create section.
  4. Confirm the page shows the course title, certificate name, and costing unit (PL) as read-only context. Look for the Inheritance from course panel on the right.
  5. Fill Start date 2026-09-01, End date 2026-12-15, Capacity 25, Section price 525.00, and leave Initial status as Draft.
  6. Click Save section.
  7. Confirm you return to the section list and the new row shows start date 2026-09-01 with a Draft lifecycle badge.
Verify

Walkthrough 1.2 — 2 — Duplicate a section with confirmation

  1. Open: Section list for PLG-LRW-201 (same path as Walkthrough 1).
  2. On the Fall 2026 — Cohort Section row, open More actionsDuplicate.
  3. Confirm reusable fields copied (for example Modality and Enrollment model) while Start date, End date, and Section price are blank.
  4. Confirm the yellow Confirm new offering values panel is visible.
  5. Try Save section without checking the confirmation checkbox — confirm the form stays on the page with an error about confirming dates, pricing, and enrollment window.
  6. Enter new Start date 2027-01-15, End date 2027-04-30, Section price 675.00, check I confirm the dates, pricing, and enrollment window…, then Save section.
  7. Confirm the list now shows both the original section dates and your new section, and the new section is Draft. The original section’s dates should be unchanged.
Verify

Walkthrough 1.3 — 3 — Cohort vs open enrollment labels

  1. Open: Section list for PLG-LRW-201.
  2. In the Enrollment column, confirm one row shows Cohort-based and another shows Open enrollment.
  3. Duplicate the cohort-based section. Confirm the form shows a Cohort-based badge and copy that cohort assignment happens in a later step.
  4. Go back and duplicate the open enrollment section. Confirm Open enrollment copy mentions eligible learners (full cohort rules come in a later story).
Verify

Walkthrough 1.4 — 4 — Section list gateway

  1. Open: Section list for PLG-LRW-201.
  2. Confirm columns include Status, Start, End, Capacity, Enrollment, and Modality, and that More actions includes Duplicate.
  3. Click Create section from the list header. Confirm breadcrumb links still show the certificate and course names.
  4. Empty list (optional): ask a developer for a course with no sections, or create a new course under the certificate. Open its section list and confirm the empty state explains that sections are dated offerings and offers Create section.
Verify

Walkthrough 1.5 — 5 — Duplicate from inactive or cancelled sections

  1. Open the section list and duplicate the Inactive (or Cancelled) section.
  2. Confirm the duplicate form opens, confirmation is required, and save produces a new Draft section without changing the source.
Verify

NEW — UAT-aligned (024 uat-guide)

Role permission check — Enrollment Admin should be blocked:

UserExpected resultNotes
Program Manager (pm_catalog@example.com)[ ] PassPrimary CE tester
Enrollment Admin (enrollment.admin@lsu.edu)[ ] 403 on catalog workspaceNot a defect — by design

Part 1 complete: · Issues? File on DLOW-177


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 2 — Details & schedule (CCS-08)

Task: DLOW-178 · Needs Part 1 (section exists)

In plain English: Section name, modality, location, public notes, and meeting rows live on one form with explicit save.

Workflow area: §5.2 — Section details & meeting schedule

Walkthrough 2.1 — 1 — Edit identity fields with the schedule on the same page

  1. Open: https://lsuoce-development.fly.dev/dashboard/catalog/
  2. Open Paralegal Studies CertificatePLG-LRW-201Sections.
  3. Click Edit on Fall 2026 — Cohort Section.
  4. Confirm the page title is Section details & schedule, and you see both a Section details card and a Schedule meetings card on the same page.
  5. Enter a section name/number (for example PLG-F26-A), a location, and a short public note learners would understand.
  6. Click Save details & schedule.
  7. Confirm a success message appears, then reload the page and confirm your values are still there.
Verify

Walkthrough 2.2 — 2 — Modality stays locked when the course says so

  1. From the catalog, open Edit on course PLG-LRW-201.
  2. In Section defaults & inheritance, turn off section-level editability for modality (wording may say Editable at section level — leave it unchecked / locked) → save the course.
  3. Return to the section Edit page for the cohort section.
  4. Confirm the Modality control is disabled and helper text mentions Locked by course inheritance.
  5. When you finish this check, unlock modality on the course again if you need to change modality in later walkthroughs.
Verify

Walkthrough 2.3 — 3 — No “distance learning” in the modality list

  1. On the section edit form (modality unlocked), open the Modality dropdown.
  2. Confirm you see modern delivery labels (for example Asynchronous, Live Online, In Person, Term-Based).
  3. Confirm none of the options say distance learning.
Verify

Walkthrough 2.4 — 4 — Leaving without Save does not keep your edits

  1. On section edit, change the section name/number to something obvious like SHOULD-NOT-KEEP.
  2. Click Back to sections or Cancel — do not click Save details & schedule.
  3. Open Edit again.
  4. Confirm the throwaway name is not saved.
Verify

Walkthrough 2.5 — 5 — Shrinking the date window re-checks meetings

  1. Save a meeting dated 2026-10-01 (within the Fall cohort window) with start and end times.
  2. Change the section End date to a day before that meeting (for example 2026-09-15) → Save details & schedule.
  3. Confirm you get a clear error that the meeting must fall within the section start/end window, and that the end date did not silently shrink after you fix or cancel the bad save.
Verify

Walkthrough 2.6 — 6 — Add a meeting row inline

  1. On Schedule meetings, click Add meeting.
  2. Confirm a new date / start / end row appears on the same page.
  3. Fill values inside the section window and save when you are ready.
Verify

Walkthrough 2.7 — 7 — Remove only sticks after you Save

  1. With at least one meeting saved, check Remove on that row.
  2. Confirm the row is marked for removal in the form, then click Save details & schedule.
  3. Reload and confirm the meeting is gone.
  4. Notice the helper text: changes save only when you click Save details & schedule.
Verify

Walkthrough 2.8 — 8 — Saved meetings come back exactly

  1. Add a meeting for 2026-09-08, 18:00–21:00, with an optional location override (for example Room A).
  2. Save, then reload the edit page.
  3. Confirm date, times, and location override match what you entered.
Verify

Part 2 complete: · Issues? File on DLOW-178


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 3 — Enrollment, capacity & waitlist (CCS-09)

Task: DLOW-179 · Needs Part 2

In plain English: Separate enrollment screen for public/staff windows, seat limits, waitlist, cohort access, and Moodle shell flag.

Workflow area: §5 — Enrollment windows, capacity, cohort, Moodle preference

Walkthrough 3.1 — 1 — Open enrollment settings from the section list

  1. Open: https://lsuoce-development.fly.dev/dashboard/catalog/
  2. Open Paralegal Studies CertificatePLG-LRW-201Sections.
  3. On Fall 2026 — Cohort Section, open the row actions menu (⋯) and choose Enrollment.
  4. Confirm the page title is Section enrollment and you see cards for Public enrollment window, Staff enrollment window, Capacity & waitlist, Cohort access, and Moodle shell preference.
  5. Confirm the right-hand Enrollment summary panel is visible before you save.
Verify

Walkthrough 3.2 — 2 — Set public enrollment dates

  1. On the enrollment page, set Public enrollment start to September 1, 2026 and Public enrollment end to December 1, 2026.
  2. Click Save enrollment settings.
  3. Confirm a success message appears.
  4. Reload the page (browser refresh).
  5. Confirm both public dates are still set to the values you entered.
Verify

Walkthrough 3.3 — 3 — Open-ended public enrollment

  1. Set Public enrollment start to September 1, 2026.
  2. Clear Public enrollment end (leave it empty).
  3. Save and reload.
  4. Confirm start is still set and end remains blank.
  5. Glance at Enrollment summary under Public window — the date line should read 2026-09-01 → Open-ended. Closed now is expected if today's date is still before September 1, 2026; after that date it should show Open now with no end date.
Verify

Walkthrough 3.4 — 4 — Staff window independent of public

  1. Set Public enrollment start to October 1, 2026 and Public enrollment end to December 31, 2026.
  2. Set Staff enrollment start to August 1, 2026 and Staff enrollment end to November 30, 2026 (staff window starts earlier and may end before public closes).
  3. Save and reload.
  4. Confirm all four dates persisted exactly as entered — staff dates are not copied from public dates. > Behind the scenes: when public is closed but staff is open, the system > allows staff enrollment and blocks public enrollment. That rule is proven in > automated tests; you do not switch “actor” in this UI.
Verify

Walkthrough 3.5 — 5 — Capacity, minimum, and waitlist

  1. Set Minimum enrollment to 8.
  2. Set Max capacity to 30.
  3. Set Waitlist capacity to 5.
  4. Set Waitlist response window to 48 hours.
  5. Save and reload.
  6. Confirm all four values match.
  7. Check Enrollment summary — capacity and waitlist lines should reflect your numbers.
Verify

Walkthrough 3.6 — 6 — Waitlist disabled when capacity is zero

  1. Set Waitlist capacity to 0.
  2. Save.
  3. Confirm Enrollment summary indicates waitlist is disabled (or equivalent wording).
  4. Optionally set waitlist back to a positive number for later walkthroughs.
Verify

Walkthrough 3.7 — 7 — Reject bad date order

  1. Set Public enrollment start to October 1, 2026.
  2. Set Public enrollment end to September 1, 2026 (before start).
  3. Click Save enrollment settings.
  4. Confirm a clear validation error appears (mentions public enrollment dates).
  5. Reload and confirm the invalid end date was not saved.
Verify

Walkthrough 3.8 — 8 — Below minimum class size in summary

  1. Set Minimum enrollment to a number higher than current enrollment (for example 50 if the section shows few or zero enrollments).
  2. Save.
  3. Check Enrollment summary for a below-minimum or under-enrolled indicator.
  4. Reset minimum to a realistic value when done. > If current enrollment count is hard to see in UI, ask a developer to confirm > via admin — the automated tests prove the summary logic.
Verify

Part 3 complete: · Issues? File on DLOW-179


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 4 — Enrollment eligibility gating (CCS-09a)

Task: DLOW-188 · Needs Part 3

In plain English: Structured prerequisite rules (hard vs soft) and term/cohort membership gates; summary reflects effective rules.

Workflow area: §5 — Prerequisites & term/cohort gates

Walkthrough 4.1 — 1 — Add a hard prerequisite on course edit

  1. Open: https://lsuoce-development.fly.dev/dashboard/catalog/
  2. Open Paralegal Studies CertificatePLG-LRW-201Edit course.
  3. Scroll to Structured prerequisite rules (below editorial prerequisite text).
  4. In the first rule row, choose a Required course (e.g. OCE100).
  5. Set Enforcement to Hard (block enrollment).
  6. Click Save course.
  7. Confirm a success message appears.
  8. Reload the page.
  9. Confirm the same required course and Hard enforcement are still selected.
Verify

Walkthrough 4.2 — 2 — Add a soft prerequisite alongside the hard rule

  1. On the same course edit page, click Add another prerequisite rule (or use the extra blank row if one is shown).
  2. Pick a different required course for the second row.
  3. Set enforcement to Soft (warn / intended order).
  4. Save and reload.
  5. Confirm both rows remain — one hard, one soft — with distinct enforcement labels.
Verify

Walkthrough 4.3 — 3 — Open section prerequisites and see inherited rules

  1. From PLG-LRW-201, open Sections.
  2. On Fall 2026 — Cohort Section, open the row actions menu (⋯) and choose Prerequisites (or open Enrollment first and click the Prerequisites button at the top).
  3. Confirm the page title is Section prerequisites.
  4. Confirm Inherited from course (or equivalent) lists the course-level rules you saved in Walkthroughs 1–2.
  5. Add a section-only rule (different required course or override) if the form allows section-specific rows.
  6. Click Save prerequisite settings.
  7. Reload and confirm section rules and inherited display still match what you saved.
Verify

Walkthrough 4.4 — 4 — Require learner term membership

  1. On the same Section prerequisites page, find Require learner term membership.
  2. Check the box to enable term membership requirement.
  3. Select Fall 2026 Paralegal Cohort (or the cohort tied to this section).
  4. Save and reload.
  5. Confirm the checkbox stays checked and the cohort selection persists. > Note: Whether a specific learner passes this gate is evaluated in the enrollment > service (automated tests). There is no learner assignment UI in this release.
Verify

Walkthrough 4.5 — 5 — Validation blocks bad prerequisite saves

  1. Return to PLG-LRW-201Edit course.
  2. Click Add prerequisite rule, then leave Required course blank on the new row.
  3. Click Save course.
  4. Confirm you see a validation error on the empty row and the invalid rule was not saved (reload to double-check).
Verify

Walkthrough 4.6 — 6 — Enrollment summary reflects prerequisites and term gate

  1. Open Fall 2026 — Cohort SectionEnrollment (from section list ⋯ menu).
  2. Locate the Enrollment summary panel on the right.
  3. Confirm Prerequisite rules shows a count such as 1 hard · 1 soft (matching what you configured) or None configured if you cleared rules.
  4. Confirm Term membership shows Required — Fall 2026 Paralegal Cohort when Walkthrough 4 was completed, or Not required on the self-paced rolling section if term membership was left off.
  5. Click Prerequisites from this page and confirm it navigates to the section prerequisites screen without losing certificate/course context.
Verify

Walkthrough 4.7 — 7 — Compare rolling vs cohort section ⬜

  1. Open Self-Paced — Open EnrollmentPrerequisites.
  2. Confirm Require learner term membership is unchecked (unless previously changed).
  3. Open its Enrollment page and confirm Term membership reads Not required.
  4. Compare with Fall 2026 — Cohort Section where you enabled term membership in Walkthrough 4. > This walkthrough supports understanding CR-15 behavior; automated tests prove the > service contract.
Verify

Part 4 complete: · Issues? File on DLOW-188


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 5 — Instructor & Paralegal restrictions (CCS-10)

Task: DLOW-180 · Needs Part 1

In plain English: Assign instructor inline; Paralegal approved-application restriction defaults on Enrollment tab.

Workflow area: §5 — Instructor tab + Enrollment restrictions

Walkthrough 5.1 — 1 — Assign an existing instructor

  1. Open Instructor for a PLG-LRW-201 offering.
  2. Open the Instructor dropdown — active instructors should appear.
  3. Choose one → click Save instructor.
  4. Reload — the same instructor should still be selected.
Verify

Walkthrough 5.2 — 2 — Create an instructor without leaving the page

  1. On Instructor, click Create new instructor.
  2. Fill First name, Last name, Email, and optionally Credentials.
  3. Click Create and select — the modal closes and the new name appears in the dropdown.
  4. Click Save instructor.
  5. Open another section — the new instructor should appear in the list for reuse.
Verify

Walkthrough 5.3 — 3 — Save without an instructor

  1. Open Instructor for a section with no instructor yet.
  2. Leave Instructor at “— Select instructor —”.
  3. Click Save instructor — save should succeed (instructor is optional at this stage).
Verify

Walkthrough 5.4 — 4 — Paralegal restriction defaults

  1. Open Enrollment for a Paralegal section (PLG-LRW-201 from seed).
  2. Scroll to Enrollment restrictions — confirm Approved application required is checked the first time you open the form.
  3. Click Save enrollment settings without changing restrictions → reload → it should stay checked.
  4. Uncheck Approved application requiredSave enrollment settings → reload → it should stay unchecked (staff override).
Verify

Walkthrough 5.5 — 5 — Non-Paralegal section (no default restriction)

  1. Open Enrollment for a non-Paralegal section (never saved restrictions before).
  2. Confirm Approved application required is unchecked by default.
  3. Optionally enable it manually → save → reload → your choice should persist.
Verify

Walkthrough 5.6 — 6 — Multiple restriction types

  1. On Enrollment, under Enrollment restrictions, you should see at least: - Approved application required - Cohort membership required
  2. Check both → Save enrollment settings → reload → selections should match what you saved.
Verify

Walkthrough 5.7 — 7 — Soft-deleted instructor and historical name

  1. Assign an instructor (Instructor tab, Walkthrough 1 or 2).
  2. Log in as superuser → soft-delete the instructor in Django admin.
  3. Log back in as Program Manager → open the same Instructor page.
  4. Confirm the instructor no longer appears in the dropdown but the page still shows the retained instructor name.
Verify

Walkthrough 5.8 — 8 — Access control (optional)

  1. Log in as Enrollment Admin (enrollment.admin@lsu.edu / password12!).
  2. Try Instructor and Enrollment URLs — you should be denied on both (Program Manager only).
Verify

Part 5 complete: · Issues? File on DLOW-180


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 6 — Visibility, pricing/refund & publish readiness (CCS-11)

Task: DLOW-181 · Needs Parts 1–3 (continues from DLOW-194 inheritance)

In plain English: Course refund tiers, section pricing/refund review, visibility, lifecycle pick, and learner-behavior preview before publish.

Workflow area: §5.5 + §4.3/§4.4 at section level — publish readiness

Walkthrough 6.1 — 1 — Configure course refund tiers

  1. Open Edit course for PLG-LRW-201 (or create a new Paralegal course).
  2. Scroll to Meeting-indexed refund schedule.
  3. Add or confirm tiers — for the standard Paralegal example use meeting indices 1, 2, 4, 6 with 100%, 90%, 75%, 50% and $0 service charges.
  4. Confirm Inheritance rules still show Refund policy inherit/editable toggles (from course defaults).
  5. Click Save course and reload the page — tiers should stay in order.
  6. Check the course Review summary on the same page — you should see plain-language refund lines and No refund on or after Class 6 (inferred, no separate 0% row required).
Verify

Walkthrough 6.2 — 2 — Validation on bad refund data

  1. On Edit course, try saving two tiers with the same meeting index — save should fail with a clear error.
  2. Try a refund percentage above 100 or a negative service charge — inline validation should block save.
Verify

Walkthrough 6.3 — 3 — Duplicate course copies refund schedule

  1. From a course that has refund tiers configured, open Duplicate course.
  2. Complete duplication and open the new course Edit page.
  3. Confirm the same refund tier rows copied to the duplicate.
Verify

Walkthrough 6.4 — 4 — Review pricing on publish readiness

  1. Open a PLG-LRW-201 section → Publish readiness.
  2. On the right, find the Pricing summary: - Section price and fee GL lines should appear. - Lines inherited from the course should say Inherited from course. - If the section has its own price, look for Section override.
  3. If the course locked fee structure (editable = no), pricing should be read-only with plain copy that overrides are not allowed.
Verify

Walkthrough 6.5 — 5 — Review inherited refund schedule

  1. On Publish readiness, read the Refund schedule summary panel (right column).
  2. Tiers should read in plain language (e.g., percentage, service charge, and which class meeting they apply before).
  3. If the section has meeting dates on Details & schedule, tier labels may include dates (e.g., Class 4 — Mar 12, 2026).
  4. After the last tier below 100%, confirm an inferred No refund on or after Class N line.
Verify

Walkthrough 6.6 — 6 — Override a section refund tier

  1. On a course where Refund policy is inherited and editable, open a section’s Publish readiness.
  2. In the Refund schedule editor (left column), change one tier’s percentage or service charge.
  3. Click Save publish readiness and reload.
  4. The summary should label your changed tier Section override; unchanged tiers remain inherited.
Verify

Walkthrough 6.7 — 7 — Section-specific refund policy

  1. On a course where Refund policy inherit = no, open Publish readiness.
  2. Configure tiers only on the section (not on the course).
  3. Save and reload — summary should show Section-specific policy.
Verify

Walkthrough 6.8 — 8 — Set visibility and lifecycle

  1. On Publish readiness, toggle Visible to learners and choose a Target lifecycle (e.g., Ready).
  2. Click Save publish readiness.
  3. Reload — visibility should persist even if lifecycle is still Draft when you only changed visibility.
  4. When promoting Draft → Ready, only valid transitions should appear in the dropdown.
Verify

Part 6 complete: · Issues? File on DLOW-181


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

Part 7 — Publish, Moodle trigger & exceptions (CCS-12)

Task: DLOW-182 · Needs Part 6 (no publish blockers)

In plain English: Publish validates readiness, triggers Moodle stub (or external roster), failures land in integration exceptions queue.

Workflow area: §5 publish + §3 integration exceptions queue

Walkthrough 7.1 — 1 — Review publish summary before confirming

  1. Open a section that passes Publish readiness (no red blockers).
  2. Click Publish in the workflow bar.
  3. Confirm you see Publish summary with course/section identity, enrollment window dates, and a target lifecycle choice (Ready or Active).
  4. Do not check I confirm yet — verify the summary matches what you expect.
Verify

Walkthrough 7.2 — 2 — Successful Moodle publish (stub)

  1. On Enrollment, set LMS delivery mode to LSU Moodle shell and save.
  2. On Details & schedule, set a unique Section number (e.g. PL-FALL26-A) and save.
  3. Open Publish readiness and clear blockers (see below).
  4. Open Publish → check I confirm → click Publish section.
  5. On Publish result, confirm: - Section lifecycle shows Ready (or your chosen state). - Moodle course ID bound displays your section number. - Copy mentions Moodle shell sync is pending (stub — not live in Moodle yet). ### Clearing publish blockers (common on seed data) Section price — Publish readiness shows the effective price in Pricing summary (inherited from the course when the section has no override). You do not re-enter it here. If you see Section price is required, the course has no base price and the section has no override — set Course base price on Edit course, or set Section price when creating a new section (CCS-07). Paralegal refund schedule required — Paralegal (PL) sections need refund tiers before publish:
  6. Preferred: Catalog → Paralegal Studies CertificatePLG-LRW-201Edit course → scroll to Meeting-indexed refund schedule → add at least one tier (e.g. Class 1 = 100%) → save course.
  7. Return to the section → Publish readiness → if Refund schedule is editable, click Add refund tier to add section overrides (no blank row appears until you add one).
  8. Re-open Publish readiness — the Publish blockers panel should show no red error items. If a warning (not error) remains and you have a documented exception, use Manual override note + Acknowledge documented exceptions on the same page.
Verify

Walkthrough 7.3 — 3 — Publish blocked when not ready

  1. Open Publish for that section — you should see a Publish blockers card listing the issues (e.g. section price required).
  2. Check I confirm…, choose Ready (or Active), and click Publish section.
  3. Confirm you stay on the publish page with a red error summary at the top and blocker text — not the Publish result screen.
  4. Confirm the section lifecycle did not advance (still Draft).
Verify

Walkthrough 7.4 — 4 — External LMS roster export

  1. On Enrollment, select External LMS (roster export) under LMS delivery and click Save enrollment settings.
  2. Confirm the Enrollment summary sidebar shows External LMS (roster export) and a Download roster CSV button appears.
  3. Complete Publish readiness, open Publish, and confirm LMS mode shows External LMS (roster export) (not “No LMS integration”).
  4. Check confirm and click Publish section (Active sections: choose Active (re-run integrations)).
  5. On Publish result, confirm: - External LMS roster export messaging (no Moodle course ID). - Download roster CSV — file downloads with headers (and rows if enrollments exist).
  6. Return to Enrollment — use Download roster CSV again without re-publishing.
Verify

Walkthrough 7.5 — 5 — No LMS integration

  1. Set LMS delivery mode to No LMS integration on Enrollment and save.
  2. Publish the section.
  3. Confirm result states LMS integration was skipped — no Moodle bind, no roster export requirement.
Verify

Walkthrough 7.6 — 6 — LMS mode cannot be ambiguous

  1. On Enrollment, try switching between Moodle, External, and None.
  2. Save after each choice and reload — only one mode should be active at a time.
  3. You should never be able to save both Moodle and External LMS enabled together.
Verify

Walkthrough 7.7 — 7 — Integration failure and exceptions queue

  1. Ask a dev to set up a course ID collision scenario (two sections competing for the same Moodle ID) or publish until a Moodle failure occurs naturally.
  2. After publish, confirm Publish result shows which action failed — not a banner across every catalog page.
  3. Click View integration exceptions (or open Integration exceptions).
  4. Confirm the failure appears in the Pending list with section identity and error summary.
Verify

Walkthrough 7.8 — 8 — Retry one failure

  1. From the pending list, click Retry on a single row (after the underlying issue is fixed — e.g. unique section number).
  2. On success, confirm the item leaves Pending and appears under the History tab.
  3. If other pending items existed, confirm they were not retried automatically.
Verify

Part 7 complete: · Issues? File on DLOW-182


Screenshots
🖼 Paste Ctrl+V, drop images, or Up to 5 images · 2 MB each · attach PNGs from ZIP to Jira

When something fails

  1. Note what you did, what you expected, and what happened instead (screenshot helps).
  2. File a bug on the matching build ticket (DLOW-177, DLOW-178, DLOW-179, DLOW-188, DLOW-180, DLOW-181, DLOW-182).
  3. If it might be a policy question rather than a broken button, say so — link the Admin Spec or uat-guide and flag for triage.

Crosswalk — NEW items → source

WalkthroughSource
DLOW-194 prerequisiteDLOW-194
Overlap note (lifecycle, inheritance)Covered in DLOW-194; re-checked in section context here
Part 1 RBACEnrollment Admin 403 on catalog — not a defect
1.5024 uat-guide
2.5–2.8025 uat-guide
3.5–3.8026 uat-guide
4.5–4.7027 uat-guide
5.5–5.8028 uat-guide
6.5–6.8029 uat-guide
7.5–7.8030 uat-guide

Sign-off

FieldValue
Tester name
Date
Environmentlsuoce-development.fly.dev
DLOW-194 prerequisite complete?[ ] Yes
All 7 parts passed?[ ] Yes [ ] No — see linked bugs

Final review: [ ] Ready for dev ingestion / bug triage

Screenshot enlarged