DRCC QA Testing Agent
Admin-only test automation for camp booking, parent visibility, pricing, mobile readiness, and notifications.
Ready for parent promotion
0
Passed
0
Needs Review
0
Failed
0
Total
Loading existing test results…
Camp Booking Certification
Not Ready
for parent promotion
0
Passed
0
Needs Review
0
Failed
No camp tests run yet. Click "Run Camp Tests" to certify.
Manual Preview Checklists
Open Chrome DevTools (F12) > Toggle device toolbar (Ctrl+Shift+M) > set width to 360px. Navigate Home, Programmes, Camps, Summer Camp, Parent Dashboard. Confirm no horizontal scrollbar appears on any page.
At 390px width (iPhone 14 Pro), go to Summer Camp booking flow. Complete all 4 steps. Confirm the Continue/Submit button is visible above the bottom nav bar and tappable at each step.
At 414px width (iPhone XR), open Parent Dashboard. Confirm all cards stack vertically, no side-by-side overflow, text is readable.
At 768px width (iPad), check Parent Dashboard and My Bookings. Confirm layout uses available space well, no stretched elements.
On a mobile device or 390px DevTools, login as a parent. Confirm the bottom navigation bar is visible with icons (Home, Bookings, Children, etc.) and tappable.
On mobile, go to Summer Camp booking > Step 2 (Select Days). Confirm each day chip/card is tappable, selected state is visible, and the Continue button appears.
On mobile, complete a camp booking and view the confirmation screen. Confirm all text is readable, no overflow, and the summary is clear.
Login as dpdreilly@googlemail.com. Go to My Bookings > Camps tab. Confirm active camp bookings show. Refresh the page. Confirm bookings remain visible after refresh.
Inspect the ParentDashboard page code. Confirm it only loads Player, Booking, Session, Programme, Camp entities — not admin-only entities like QAResult, SafeguardingConcern, FollowUpTask, etc.
Check ParentDashboard and its child components for any useQuery/useEffect calls that fetch admin-only entities. All such calls should be behind an admin role check.
Open the public Summer Camp page in Network tab. Confirm it loads Camp and CampDayPublic only — no heavy joins or admin entity fetches.
Check that parent pages use shared loaders from lib/parentDataLoaders.js rather than duplicating entity queries.
Refresh the Parent Dashboard and My Bookings pages. Confirm the list does not briefly show "0 bookings" or "no children" before data loads (should show skeleton/spinner instead).
Enter WALTON20, STAINES20, EARLYBIRD, LALEHAM20 in the camp booking flow. Confirm each is rejected if expired. Check that the booking flow validates valid_until dates before applying.
Test Booking Mode (Non-Destructive)
Creates a provisional CampBooking for the test parent (dpdreilly@googlemail.com) marked with QA_TEST_BOOKING in notes. No emails are sent. Use "Cancel Test Bookings" to clean up afterwards.
