Skip to content

arch: Bootcamp Pipeline End-to-End Test — Dry Run with 5 Students #142

@LarytheLord

Description

@LarytheLord

What

Run the complete bootcamp pipeline manually with 5 test accounts to validate every code path before the real cohort arrives in May.

Why

We have zero evidence the end-to-end flow works. Each component (onboard webhook, tutorial gating, quest claiming, submission, QA review, XP grant, rank-up) has been built and unit-tested, but the full lifecycle hasn't been exercised as an integrated pipeline.

Test Script

Step 1: Onboard 5 test students

Call the onboard webhook for 5 fake bootcamp students:

curl -X POST /api/onboard \
  -H "Authorization: Bearer $BOOTCAMP_WEBHOOK_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"name":"Test Student 1","email":"test1@bootcamp.dev","bootcampStudentId":"BC001","cohort":"test-cohort-1","bootcampTrack":"beginner"}'

Verify: Users created with F-rank, BootcampLink created, eligibleForRealQuests = false

Step 2: Verify quest visibility gating

  • Log in as test student → quest board should only show BOOTCAMP track quests
  • Should only see Tutorial quests (eligibleForRealQuests = false)
  • Attempting to view an INTERN quest via direct URL should return 403

Step 3: Complete Tutorial Quest 1

  • Create "Tutorial: First Blood" quest (BOOTCAMP track, F difficulty)
  • Student claims quest → assignment created with status "assigned"
  • Student submits → status goes to "pending_admin_review" (not "submitted")
  • Admin reviews in QA queue → approves → status goes to "review" → company approves → "completed"
  • Verify: tutorialQuest1Complete = true, XP granted, streak started

Step 4: Complete Tutorial Quest 2

  • Create "Tutorial: Party Up" quest (BOOTCAMP track, E difficulty)
  • Same flow as Step 3
  • Verify: tutorialQuest2Complete = true, eligibleForRealQuests = true

Step 5: Access real quests

  • Student should now see non-tutorial BOOTCAMP quests
  • Claim a real quest, submit, go through QA mediation

Step 6: Party formation (E-rank quest)

  • Create E-rank BOOTCAMP quest with maxParticipants = 2
  • Student 1 creates party → auto-added as leader
  • Student 1 adds Student 2 → party full (BOOTCAMP max = 2)
  • Both submit work

Step 7: Rank-up verification

  • After enough quests, verify F→E rank-up occurs
  • XP bar shows correct progress
  • Guild Card (when built) shows updated rank

Expected Results

  • All 5 students onboarded successfully
  • Tutorial gating works (can't see real quests until both tutorials done)
  • QA mediation flow works (pending_admin_review → review)
  • Party system works for BOOTCAMP pairs
  • XP/rank progression works correctly
  • No error states, no stuck assignments, no missing data

Files Under Test

All Phase 0-2 code: onboard webhook, quest filtering, assignments, submissions, QA queue, XP utils, quest lifecycle, party system

Owner

@LarytheLord — this is architecture validation, not contributor work

Metadata

Metadata

Assignees

No one assigned

    Labels

    priorityHigh priority for project goals

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions