Select your name first

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

Tester

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

WhoEmailPassword
Enrollment Adminenrollment.admin@lsu.eduadmin123
Ada Nguyenada.nguyen@example.comTestPass123!
Boris Nguyenboris.nguyen@example.comTestPass123!
Ada Okonkwoada.okonkwo@example.comTestPass123!
Pay Learnerpay.learner@example.comTestPass123!
Expired Learnerexpired.learner@example.comTestPass123!
Clerk Staffclerk.staff@example.comTestPass123!
Django superuseradmin@lsu.eduadmin123

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

  1. Sign in as Enrollment Admin and open Learner search
  2. Search Last name Nguyen — expect Ada Nguyen and Boris Nguyen
  3. Search First name Ada — expect Ada Nguyen and Ada Okonkwo
  4. Search Last name Nguyen and First name Ada — only Ada Nguyen
  5. Search Last name Zzzzz — There are no results.
You're done when

Step 2 — Profile access control and seeded holds

  1. From the Nguyen results, open Ada Nguyen
  2. Confirm Open Contracts is Enrolled and Held Ethics is Awaiting payment with Pay and Email pay link
  3. Log out. As Ada Nguyen, open https://lsuoce-development.fly.dev/dashboard/learners/ — expect 403
  4. As Clerk Staff, open learner search — expect Not available for your role
You're done when

Step 3 — Confirm priced and free sections

  1. On Ada Nguyen, search Evidence → Details → Enroll → Confirm enrollment
  2. Confirm Evidence is Awaiting payment, Hold ends ~48h, Pay on row, seats decrease by one
  3. If Evidence was already confirmed, run Seed now again first
  4. Search Free Clinic → Enroll → Confirm — expect immediate Enrolled, 0.00, no Awaiting payment
You're done when

Step 4 — Block full duplicate and duplicate hold enrollments

  1. On Ada Nguyen, search Full Section — Enroll disabled, no seat left
  2. Search Open Contracts — already enrolled message
  3. Search Held Ethics — hold already open message
  4. Confirm no new enrollment row is created
You're done when

Step 5 — Staff and learner pay the same hold

  1. Open Pay Learner (search Learner or use Seed now links). Compare Phone Order hold on staff profile vs Pay Learner My Account (CR-08)
  2. As Enrollment Admin, Pay Phone Order with 4242 4242 4242 4242 — receipt Paid / Enrolled, card not on screen (CR-09)
  3. 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)
  4. On Already Paid / paid Phone Order, confirm already paid — no second charge (CR-11)
  5. Pay Declined Hold with 4000 0000 0000 0002 — declined message, hold end unchanged (CR-12)
You're done when

Optional appendix — More scenarios

Optional sign-off

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.

Screenshot enlarged