Test 1 — Tour Data Loads
JSON fetches successfully
Waiting...
Correct number of stops (20)
Waiting...
First stop name correct
Waiting...
Last stop has completion block
Waiting...
Video filenames use .mp4 format
Waiting...
Image paths use assets/ prefix
Waiting...
Test 4 — Tour Manager
TourManager loads tour data
Waiting...
First stop is correct
Waiting...
advanceToNextStop increments correctly
Waiting...
hasNextStop returns false at last stop
Waiting...
isComplete detects last stop
Waiting...
getCompletionMessage present on last stop
Waiting...
getNavigationData returns correct stop info
Waiting...
isWithinArrivalRadius detects arrival
Waiting...
Test 5 — Video End & Stop Progression
loadCurrentStopAssets sets Stop-1.mp4
Waiting...
advance + loadAssets changes src to Stop-2.mp4
Waiting...
isComplete false mid-tour, true at stop 20
Waiting...
getCompletionMessage returns text at stop 20
Waiting...
resetElements re-enables place button
Waiting...
resetElements hides tour-guide and blob-shadow
Waiting...