GeauxQA — internal workflow review on lsuoce-development.fly.dev. Use Pass/Fail, comments, and screenshots; export when ready.
What you're proving
Enrollment Admin can search learners, open one profile, confirm priced and free sections on the staff dashboard, and either staff or the learner can pay a hold once while the 48-hour window applies.
Before you start
| Who | Password | |
|---|---|---|
| Enrollment Admin | enrollment.admin@lsu.edu | admin123 |
| Ada Nguyen | ada.nguyen@example.com | TestPass123! |
| Boris Nguyen | boris.nguyen@example.com | TestPass123! |
| Ada Okonkwo | ada.okonkwo@example.com | TestPass123! |
| Pay Learner | pay.learner@example.com | TestPass123! |
| Expired Learner | expired.learner@example.com | TestPass123! |
| Clerk Staff | clerk.staff@example.com | TestPass123! |
| Django superuser | admin@lsu.edu | admin123 |
Sign on: https://lsuoce-development.fly.dev/accounts/login/
Sample data: Superuser → https://lsuoce-development.fly.dev/admin/qa_tools/seedtool/ → Staff-assisted enrollment — learners, sections, and open holds → Seed now (safe to repeat; restores holds and clears practice enrollments).
Learner search: https://lsuoce-development.fly.dev/dashboard/learners/
Stripe test cards: success 4242 4242 4242 4242; decline 4000 0000 0000 0002 (any future expiry, CVC, ZIP).
Step 1 — Search learners by name
- Sign in as Enrollment Admin and open Learner search
- Search Last name
Nguyen— expect Ada Nguyen and Boris Nguyen - Search First name
Ada— expect Ada Nguyen and Ada Okonkwo - Search Last name
Nguyenand First nameAda— only Ada Nguyen - Search Last name
Zzzzz— There are no results.
Step 2 — Profile access control and seeded holds
- From the
Nguyenresults, open Ada Nguyen - Confirm Open Contracts is Enrolled and Held Ethics is Awaiting payment with Pay and Email pay link
- Log out. As Ada Nguyen, open https://lsuoce-development.fly.dev/dashboard/learners/ — expect 403
- As Clerk Staff, open learner search — expect Not available for your role
Step 3 — Confirm priced and free sections
- On Ada Nguyen, search Evidence → Details → Enroll → Confirm enrollment
- Confirm Evidence is Awaiting payment, Hold ends ~48h, Pay on row, seats decrease by one
- If Evidence was already confirmed, run Seed now again first
- Search Free Clinic → Enroll → Confirm — expect immediate Enrolled, 0.00, no Awaiting payment
Step 4 — Block full duplicate and duplicate hold enrollments
- On Ada Nguyen, search Full Section — Enroll disabled, no seat left
- Search Open Contracts — already enrolled message
- Search Held Ethics — hold already open message
- Confirm no new enrollment row is created
Step 5 — Staff and learner pay the same hold
- Open Pay Learner (search Learner or use Seed now links). Compare Phone Order hold on staff profile vs Pay Learner My Account (CR-08)
- As Enrollment Admin, Pay Phone Order with
4242 4242 4242 4242— receipt Paid / Enrolled, card not on screen (CR-09) - Re-seed if needed. As Pay Learner, pay Dashboard Hold on My Account and Emailed Hold via pay link from Seed now box (CR-10)
- On Already Paid / paid Phone Order, confirm already paid — no second charge (CR-11)
- Pay Declined Hold with
4000 0000 0000 0002— declined message, hold end unchanged (CR-12)
Optional appendix — More scenarios
IT setup (optional)
Seed row: QA Tools → Staff-assisted enrollment — learners, sections, and open holds → Seed now.
Requires staff-assisted-enrollment-workflow on the target environment and Stripe test keys configured on fly.dev.