Improve training statistics, achievements and stable pace audio

This commit is contained in:
larssand
2026-09-03 06:36:17 +02:00
parent 82d52ed6cd
commit 4f847610dc
16 changed files with 315 additions and 50 deletions

View File

@@ -60,6 +60,18 @@ function createHarness(options = {}) {
return { state, session, passing, overlayEvents, audioEvents, getSaveCount: () => saveCount };
}
test("five controlled practice laps trigger one stable-pace voice cue", () => {
const harness = createHarness({ sessionType: "open_practice" });
for (let lap = 1; lap <= 5; lap += 1) harness.passing(1_000 + lap * 20_000, "main");
assert.equal(harness.audioEvents.filter((event) => event === "training_stable_pace").length, 1);
});
test("stable-pace training cue is never emitted during a race", () => {
const harness = createHarness({ sessionType: "team_race" });
for (let lap = 1; lap <= 5; lap += 1) harness.passing(1_000 + lap * 20_000, "main");
assert.equal(harness.audioEvents.includes("training_stable_pace"), false);
});
test("split decoder records intermediate time without changing main lap state", () => {
const harness = createHarness();
assert.equal(harness.passing(17_000, "main"), true);