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:
- DLOW-194 — Courses QA (course foundation — prerequisite)
- Admin Spec
Legend
| Marker | Meaning |
|---|---|
| (no marker) | Core walkthrough from UAT guides (specs 024–030) |
| NEW — UAT-aligned | Verify items curated from uat-checklist + guide confirmations |
| NEW — Correction | Fixes or RBAC notes for internal QA |
Before you start
Start here: https://lsuoce-development.fly.dev/
- Confirm DLOW-194 foundation passed — especially PLG-LRW-201 ready for section creation.
- If needed, seed: QA Seed Tools → CCS-01 UAT — Legal Research & Writing → Seed now
- Open catalog admin dashboard: https://lsuoce-development.fly.dev/dashboard/catalog/
Log in as:
| Who | Password | Use for | |
|---|---|---|---|
| Program Manager (primary CE user) | pm_catalog@example.com | password12! | Section workflow, create/edit/publish |
| Admin | admin@lsu.edu | password12! | Seed tools, superuser checks |
| Enrollment Admin | enrollment.admin@lsu.edu | password12! | 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
| Step | What | Build ticket | UAT guide |
|---|---|---|---|
| 1 | CCS-07 — Create & duplicate section (CCS-07) | DLOW-177 | 024-section-create-duplicate |
| 2 | CCS-08 — Details & schedule (CCS-08) | DLOW-178 | 025-section-details-schedule |
| 3 | CCS-09 — Enrollment, capacity & waitlist (CCS-09) | DLOW-179 | 026-section-enrollment-capacity |
| 4 | CCS-09a — Enrollment eligibility gating (CCS-09a) | DLOW-188 | 027-section-enrollment-eligibility |
| 5 | CCS-10 — Instructor & Paralegal restrictions (CCS-10) | DLOW-180 | 028-section-instructor-restrictions |
| 6 | CCS-11 — Visibility, pricing/refund & publish readiness (CCS-11) | DLOW-181 | 029-section-visibility-pricing-refund |
| 7 | CCS-12 — Publish, Moodle trigger & exceptions (CCS-12) | DLOW-182 | 030-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
- Open: https://lsuoce-development.fly.dev/dashboard/catalog/
- Click Paralegal Studies Certificate → open course PLG-LRW-201 — Legal Research & Writing (section list).
- Click Create section.
- 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.
- Fill Start date
2026-09-01, End date2026-12-15, Capacity25, Section price525.00, and leave Initial status as Draft. - Click Save section.
- Confirm you return to the section list and the new row shows start date
2026-09-01with a Draft lifecycle badge.
Walkthrough 1.2 — 2 — Duplicate a section with confirmation
- Open: Section list for PLG-LRW-201 (same path as Walkthrough 1).
- On the Fall 2026 — Cohort Section row, open More actions → Duplicate.
- Confirm reusable fields copied (for example Modality and Enrollment model) while Start date, End date, and Section price are blank.
- Confirm the yellow Confirm new offering values panel is visible.
- 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.
- Enter new Start date
2027-01-15, End date2027-04-30, Section price675.00, check I confirm the dates, pricing, and enrollment window…, then Save section. - 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.
Walkthrough 1.3 — 3 — Cohort vs open enrollment labels
- Open: Section list for PLG-LRW-201.
- In the Enrollment column, confirm one row shows Cohort-based and another shows Open enrollment.
- Duplicate the cohort-based section. Confirm the form shows a Cohort-based badge and copy that cohort assignment happens in a later step.
- Go back and duplicate the open enrollment section. Confirm Open enrollment copy mentions eligible learners (full cohort rules come in a later story).
Walkthrough 1.4 — 4 — Section list gateway
- Open: Section list for PLG-LRW-201.
- Confirm columns include Status, Start, End, Capacity, Enrollment, and Modality, and that More actions includes Duplicate.
- Click Create section from the list header. Confirm breadcrumb links still show the certificate and course names.
- 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.
Walkthrough 1.5 — 5 — Duplicate from inactive or cancelled sections
- Open the section list and duplicate the Inactive (or Cancelled) section.
- Confirm the duplicate form opens, confirmation is required, and save produces a new Draft section without changing the source.
NEW — UAT-aligned (024 uat-guide)
Role permission check — Enrollment Admin should be blocked:
| User | Expected result | Notes |
|---|---|---|
| Program Manager (pm_catalog@example.com) | [ ] Pass | Primary CE tester |
| Enrollment Admin (enrollment.admin@lsu.edu) | [ ] 403 on catalog workspace | Not a defect — by design |
Part 1 complete: · Issues? File on DLOW-177
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
- Open: https://lsuoce-development.fly.dev/dashboard/catalog/
- Open Paralegal Studies Certificate → PLG-LRW-201 → Sections.
- Click Edit on Fall 2026 — Cohort Section.
- 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.
- Enter a section name/number (for example
PLG-F26-A), a location, and a short public note learners would understand. - Click Save details & schedule.
- Confirm a success message appears, then reload the page and confirm your values are still there.
Walkthrough 2.2 — 2 — Modality stays locked when the course says so
- From the catalog, open Edit on course PLG-LRW-201.
- 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.
- Return to the section Edit page for the cohort section.
- Confirm the Modality control is disabled and helper text mentions Locked by course inheritance.
- When you finish this check, unlock modality on the course again if you need to change modality in later walkthroughs.
Walkthrough 2.3 — 3 — No “distance learning” in the modality list
- On the section edit form (modality unlocked), open the Modality dropdown.
- Confirm you see modern delivery labels (for example Asynchronous, Live Online, In Person, Term-Based).
- Confirm none of the options say distance learning.
Walkthrough 2.4 — 4 — Leaving without Save does not keep your edits
- On section edit, change the section name/number to something obvious like
SHOULD-NOT-KEEP. - Click Back to sections or Cancel — do not click Save details & schedule.
- Open Edit again.
- Confirm the throwaway name is not saved.
Walkthrough 2.5 — 5 — Shrinking the date window re-checks meetings
- Save a meeting dated 2026-10-01 (within the Fall cohort window) with start and end times.
- Change the section End date to a day before that meeting (for example 2026-09-15) → Save details & schedule.
- 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.
Walkthrough 2.6 — 6 — Add a meeting row inline
- On Schedule meetings, click Add meeting.
- Confirm a new date / start / end row appears on the same page.
- Fill values inside the section window and save when you are ready.
Walkthrough 2.7 — 7 — Remove only sticks after you Save
- With at least one meeting saved, check Remove on that row.
- Confirm the row is marked for removal in the form, then click Save details & schedule.
- Reload and confirm the meeting is gone.
- Notice the helper text: changes save only when you click Save details & schedule.
Walkthrough 2.8 — 8 — Saved meetings come back exactly
- Add a meeting for 2026-09-08, 18:00–21:00, with an optional location override (for example
Room A). - Save, then reload the edit page.
- Confirm date, times, and location override match what you entered.
Part 2 complete: · Issues? File on DLOW-178
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
- Open: https://lsuoce-development.fly.dev/dashboard/catalog/
- Open Paralegal Studies Certificate → PLG-LRW-201 → Sections.
- On Fall 2026 — Cohort Section, open the row actions menu (⋯) and choose Enrollment.
- 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.
- Confirm the right-hand Enrollment summary panel is visible before you save.
Walkthrough 3.2 — 2 — Set public enrollment dates
- On the enrollment page, set Public enrollment start to September 1, 2026 and Public enrollment end to December 1, 2026.
- Click Save enrollment settings.
- Confirm a success message appears.
- Reload the page (browser refresh).
- Confirm both public dates are still set to the values you entered.
Walkthrough 3.3 — 3 — Open-ended public enrollment
- Set Public enrollment start to September 1, 2026.
- Clear Public enrollment end (leave it empty).
- Save and reload.
- Confirm start is still set and end remains blank.
- 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.
Walkthrough 3.4 — 4 — Staff window independent of public
- Set Public enrollment start to October 1, 2026 and Public enrollment end to December 31, 2026.
- 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).
- Save and reload.
- 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.
Walkthrough 3.5 — 5 — Capacity, minimum, and waitlist
- Set Minimum enrollment to 8.
- Set Max capacity to 30.
- Set Waitlist capacity to 5.
- Set Waitlist response window to 48 hours.
- Save and reload.
- Confirm all four values match.
- Check Enrollment summary — capacity and waitlist lines should reflect your numbers.
Walkthrough 3.6 — 6 — Waitlist disabled when capacity is zero
- Set Waitlist capacity to 0.
- Save.
- Confirm Enrollment summary indicates waitlist is disabled (or equivalent wording).
- Optionally set waitlist back to a positive number for later walkthroughs.
Walkthrough 3.7 — 7 — Reject bad date order
- Set Public enrollment start to October 1, 2026.
- Set Public enrollment end to September 1, 2026 (before start).
- Click Save enrollment settings.
- Confirm a clear validation error appears (mentions public enrollment dates).
- Reload and confirm the invalid end date was not saved.
Walkthrough 3.8 — 8 — Below minimum class size in summary
- Set Minimum enrollment to a number higher than current enrollment (for example 50 if the section shows few or zero enrollments).
- Save.
- Check Enrollment summary for a below-minimum or under-enrolled indicator.
- 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.
Part 3 complete: · Issues? File on DLOW-179
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
- Open: https://lsuoce-development.fly.dev/dashboard/catalog/
- Open Paralegal Studies Certificate → PLG-LRW-201 → Edit course.
- Scroll to Structured prerequisite rules (below editorial prerequisite text).
- In the first rule row, choose a Required course (e.g. OCE100).
- Set Enforcement to Hard (block enrollment).
- Click Save course.
- Confirm a success message appears.
- Reload the page.
- Confirm the same required course and Hard enforcement are still selected.
Walkthrough 4.2 — 2 — Add a soft prerequisite alongside the hard rule
- On the same course edit page, click Add another prerequisite rule (or use the extra blank row if one is shown).
- Pick a different required course for the second row.
- Set enforcement to Soft (warn / intended order).
- Save and reload.
- Confirm both rows remain — one hard, one soft — with distinct enforcement labels.
Walkthrough 4.3 — 3 — Open section prerequisites and see inherited rules
- From PLG-LRW-201, open Sections.
- 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).
- Confirm the page title is Section prerequisites.
- Confirm Inherited from course (or equivalent) lists the course-level rules you saved in Walkthroughs 1–2.
- Add a section-only rule (different required course or override) if the form allows section-specific rows.
- Click Save prerequisite settings.
- Reload and confirm section rules and inherited display still match what you saved.
Walkthrough 4.4 — 4 — Require learner term membership
- On the same Section prerequisites page, find Require learner term membership.
- Check the box to enable term membership requirement.
- Select Fall 2026 Paralegal Cohort (or the cohort tied to this section).
- Save and reload.
- 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.
Walkthrough 4.5 — 5 — Validation blocks bad prerequisite saves
- Return to PLG-LRW-201 → Edit course.
- Click Add prerequisite rule, then leave Required course blank on the new row.
- Click Save course.
- Confirm you see a validation error on the empty row and the invalid rule was not saved (reload to double-check).
Walkthrough 4.6 — 6 — Enrollment summary reflects prerequisites and term gate
- Open Fall 2026 — Cohort Section → Enrollment (from section list ⋯ menu).
- Locate the Enrollment summary panel on the right.
- Confirm Prerequisite rules shows a count such as 1 hard · 1 soft (matching what you configured) or None configured if you cleared rules.
- 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.
- Click Prerequisites from this page and confirm it navigates to the section prerequisites screen without losing certificate/course context.
Walkthrough 4.7 — 7 — Compare rolling vs cohort section ⬜
- Open Self-Paced — Open Enrollment → Prerequisites.
- Confirm Require learner term membership is unchecked (unless previously changed).
- Open its Enrollment page and confirm Term membership reads Not required.
- 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.
Part 4 complete: · Issues? File on DLOW-188
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
- Open Instructor for a PLG-LRW-201 offering.
- Open the Instructor dropdown — active instructors should appear.
- Choose one → click Save instructor.
- Reload — the same instructor should still be selected.
Walkthrough 5.2 — 2 — Create an instructor without leaving the page
- On Instructor, click Create new instructor.
- Fill First name, Last name, Email, and optionally Credentials.
- Click Create and select — the modal closes and the new name appears in the dropdown.
- Click Save instructor.
- Open another section — the new instructor should appear in the list for reuse.
Walkthrough 5.3 — 3 — Save without an instructor
- Open Instructor for a section with no instructor yet.
- Leave Instructor at “— Select instructor —”.
- Click Save instructor — save should succeed (instructor is optional at this stage).
Walkthrough 5.4 — 4 — Paralegal restriction defaults
- Open Enrollment for a Paralegal section (PLG-LRW-201 from seed).
- Scroll to Enrollment restrictions — confirm Approved application required is checked the first time you open the form.
- Click Save enrollment settings without changing restrictions → reload → it should stay checked.
- Uncheck Approved application required → Save enrollment settings → reload → it should stay unchecked (staff override).
Walkthrough 5.5 — 5 — Non-Paralegal section (no default restriction)
- Open Enrollment for a non-Paralegal section (never saved restrictions before).
- Confirm Approved application required is unchecked by default.
- Optionally enable it manually → save → reload → your choice should persist.
Walkthrough 5.6 — 6 — Multiple restriction types
- On Enrollment, under Enrollment restrictions, you should see at least: - Approved application required - Cohort membership required
- Check both → Save enrollment settings → reload → selections should match what you saved.
Walkthrough 5.7 — 7 — Soft-deleted instructor and historical name
- Assign an instructor (Instructor tab, Walkthrough 1 or 2).
- Log in as superuser → soft-delete the instructor in Django admin.
- Log back in as Program Manager → open the same Instructor page.
- Confirm the instructor no longer appears in the dropdown but the page still shows the retained instructor name.
Walkthrough 5.8 — 8 — Access control (optional)
- Log in as Enrollment Admin (
enrollment.admin@lsu.edu/password12!). - Try Instructor and Enrollment URLs — you should be denied on both (Program Manager only).
Part 5 complete: · Issues? File on DLOW-180
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
- Open Edit course for PLG-LRW-201 (or create a new Paralegal course).
- Scroll to Meeting-indexed refund schedule.
- 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.
- Confirm Inheritance rules still show Refund policy inherit/editable toggles (from course defaults).
- Click Save course and reload the page — tiers should stay in order.
- 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).
Walkthrough 6.2 — 2 — Validation on bad refund data
- On Edit course, try saving two tiers with the same meeting index — save should fail with a clear error.
- Try a refund percentage above 100 or a negative service charge — inline validation should block save.
Walkthrough 6.3 — 3 — Duplicate course copies refund schedule
- From a course that has refund tiers configured, open Duplicate course.
- Complete duplication and open the new course Edit page.
- Confirm the same refund tier rows copied to the duplicate.
Walkthrough 6.4 — 4 — Review pricing on publish readiness
- Open a PLG-LRW-201 section → Publish readiness.
- 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.
- If the course locked fee structure (
editable = no), pricing should be read-only with plain copy that overrides are not allowed.
Walkthrough 6.5 — 5 — Review inherited refund schedule
- On Publish readiness, read the Refund schedule summary panel (right column).
- Tiers should read in plain language (e.g., percentage, service charge, and which class meeting they apply before).
- If the section has meeting dates on Details & schedule, tier labels may include dates (e.g., Class 4 — Mar 12, 2026).
- After the last tier below 100%, confirm an inferred No refund on or after Class N line.
Walkthrough 6.6 — 6 — Override a section refund tier
- On a course where Refund policy is inherited and editable, open a section’s Publish readiness.
- In the Refund schedule editor (left column), change one tier’s percentage or service charge.
- Click Save publish readiness and reload.
- The summary should label your changed tier Section override; unchanged tiers remain inherited.
Walkthrough 6.7 — 7 — Section-specific refund policy
- On a course where Refund policy inherit = no, open Publish readiness.
- Configure tiers only on the section (not on the course).
- Save and reload — summary should show Section-specific policy.
Walkthrough 6.8 — 8 — Set visibility and lifecycle
- On Publish readiness, toggle Visible to learners and choose a Target lifecycle (e.g., Ready).
- Click Save publish readiness.
- Reload — visibility should persist even if lifecycle is still Draft when you only changed visibility.
- When promoting Draft → Ready, only valid transitions should appear in the dropdown.
Part 6 complete: · Issues? File on DLOW-181
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
- Open a section that passes Publish readiness (no red blockers).
- Click Publish in the workflow bar.
- Confirm you see Publish summary with course/section identity, enrollment window dates, and a target lifecycle choice (Ready or Active).
- Do not check I confirm yet — verify the summary matches what you expect.
Walkthrough 7.2 — 2 — Successful Moodle publish (stub)
- On Enrollment, set LMS delivery mode to LSU Moodle shell and save.
- On Details & schedule, set a unique Section number (e.g.
PL-FALL26-A) and save. - Open Publish readiness and clear blockers (see below).
- Open Publish → check I confirm → click Publish section.
- 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:
- Preferred: Catalog → Paralegal Studies Certificate → PLG-LRW-201 → Edit course → scroll to Meeting-indexed refund schedule → add at least one tier (e.g. Class 1 = 100%) → save course.
- 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).
- 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.
Walkthrough 7.3 — 3 — Publish blocked when not ready
- Open Publish for that section — you should see a Publish blockers card listing the issues (e.g. section price required).
- Check I confirm…, choose Ready (or Active), and click Publish section.
- Confirm you stay on the publish page with a red error summary at the top and blocker text — not the Publish result screen.
- Confirm the section lifecycle did not advance (still Draft).
Walkthrough 7.4 — 4 — External LMS roster export
- On Enrollment, select External LMS (roster export) under LMS delivery and click Save enrollment settings.
- Confirm the Enrollment summary sidebar shows External LMS (roster export) and a Download roster CSV button appears.
- Complete Publish readiness, open Publish, and confirm LMS mode shows External LMS (roster export) (not “No LMS integration”).
- Check confirm and click Publish section (Active sections: choose Active (re-run integrations)).
- 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).
- Return to Enrollment — use Download roster CSV again without re-publishing.
Walkthrough 7.5 — 5 — No LMS integration
- Set LMS delivery mode to No LMS integration on Enrollment and save.
- Publish the section.
- Confirm result states LMS integration was skipped — no Moodle bind, no roster export requirement.
Walkthrough 7.6 — 6 — LMS mode cannot be ambiguous
- On Enrollment, try switching between Moodle, External, and None.
- Save after each choice and reload — only one mode should be active at a time.
- You should never be able to save both Moodle and External LMS enabled together.
Walkthrough 7.7 — 7 — Integration failure and exceptions queue
- 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.
- After publish, confirm Publish result shows which action failed — not a banner across every catalog page.
- Click View integration exceptions (or open Integration exceptions).
- Confirm the failure appears in the Pending list with section identity and error summary.
Walkthrough 7.8 — 8 — Retry one failure
- From the pending list, click Retry on a single row (after the underlying issue is fixed — e.g. unique section number).
- On success, confirm the item leaves Pending and appears under the History tab.
- If other pending items existed, confirm they were not retried automatically.
Part 7 complete: · Issues? File on DLOW-182
When something fails
- Note what you did, what you expected, and what happened instead (screenshot helps).
- File a bug on the matching build ticket (DLOW-177, DLOW-178, DLOW-179, DLOW-188, DLOW-180, DLOW-181, DLOW-182).
- 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
| Walkthrough | Source |
|---|---|
| DLOW-194 prerequisite | DLOW-194 |
| Overlap note (lifecycle, inheritance) | Covered in DLOW-194; re-checked in section context here |
| Part 1 RBAC | Enrollment Admin 403 on catalog — not a defect |
| 1.5 | 024 uat-guide |
| 2.5–2.8 | 025 uat-guide |
| 3.5–3.8 | 026 uat-guide |
| 4.5–4.7 | 027 uat-guide |
| 5.5–5.8 | 028 uat-guide |
| 6.5–6.8 | 029 uat-guide |
| 7.5–7.8 | 030 uat-guide |
Sign-off
| Field | Value |
|---|---|
| Tester name | |
| Date | |
| Environment | lsuoce-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