DR Coaching Collective

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

mobile_360_no_horizontal_scroll

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.

mobile_390_booking_flow_usable

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.

mobile_414_dashboard_cards_stack

At 414px width (iPhone XR), open Parent Dashboard. Confirm all cards stack vertically, no side-by-side overflow, text is readable.

tablet_768_layout_usable

At 768px width (iPad), check Parent Dashboard and My Bookings. Confirm layout uses available space well, no stretched elements.

parent_mobile_bottom_nav_present

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.

bookcamp_mobile_day_selectors_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.

camp_confirmation_mobile_readable

On mobile, complete a camp booking and view the confirmation screen. Confirm all text is readable, no overflow, and the summary is clear.

parent_camps_tab_visibility_manual_check

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.

parent_dashboard_critical_data_only

Inspect the ParentDashboard page code. Confirm it only loads Player, Booking, Session, Programme, Camp entities — not admin-only entities like QAResult, SafeguardingConcern, FollowUpTask, etc.

no_advanced_entities_loaded_on_parent_dashboard

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.

public_summer_camp_lightweight_load

Open the public Summer Camp page in Network tab. Confirm it loads Camp and CampDayPublic only — no heavy joins or admin entity fetches.

shared_loaders_used

Check that parent pages use shared loaders from lib/parentDataLoaders.js rather than duplicating entity queries.

no_zero_count_flicker_on_refresh

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).

discount_code_validation_rules_present

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.

All Test Results by Category