Add browser coverage for heat/qualification/final/team_race start sequences
Unlike Open Practice, these session types run the real countdown/light/ audio sequence before a session transitions to "running" - this was untested beyond Open Practice's instant-start shortcut. Confirms the Start button shows a real ticking countdown, the right audio events fire per type (qualifying_start only for qualification), and pause/ resume/finish behave the same as they already do for Open Practice. All audio effects/voice are silenced via raceAudio.events so the test depends only on the sequence's own timers, not on real audio/TTS playback completing in a headless browser with no sound hardware. Also logs a new roadmap item: indoor clubs that reconfigure the track layout in the same venue have no way to tell the app a layout change happened, so PBs/track records/pace baselines silently keep comparing lap times across incomparable layouts. No design decided yet - open questions recorded for a future dedicated conversation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { runOverlaySmoke } from "./browser_overlays.js";
|
||||
import { runRaceSetupSmoke } from "./browser_race_setup.js";
|
||||
import { runRaceDaySmoke } from "./browser_race_day.js";
|
||||
import { runRaceDayStartSequencesSmoke } from "./browser_race_day_start_sequences.js";
|
||||
import { runObsPopupSmoke } from "./browser_obs_popup.js";
|
||||
import { runDecoderReconnectSmoke } from "./browser_decoder_reconnect.js";
|
||||
import assert from "node:assert/strict";
|
||||
@@ -134,6 +135,7 @@ try {
|
||||
}
|
||||
await runRaceSetupSmoke({ evaluate, navigate, fill, savedState, waitFor, pause });
|
||||
await runRaceDaySmoke({ evaluate, navigate, fill, savedState, waitFor, pause, base, dialogs });
|
||||
await runRaceDayStartSequencesSmoke({ evaluate, navigate, waitFor, pause, base, dialogs });
|
||||
await runObsPopupSmoke({ evaluate, navigate, fill, savedState, waitFor, pause, base, debugPort, dialogs, realClick });
|
||||
await runDecoderReconnectSmoke({ evaluate, navigate, savedState, waitFor, pause, base });
|
||||
await navigate("classes", "classForm");
|
||||
|
||||
Reference in New Issue
Block a user