RUN v5.0.4 /home/hermes/worktrees/find-word-v0.2.3 ❯ tests/game.test.ts (15 tests | 7 failed) 30ms ❯ 출제와 정답 판정 (5) × 목표 WAV 100개 모두 같은 명시적 cache-busting 버전과 정답 mapping을 유지한다 12ms × SNR을 정수 -12~12 dB로 제한하고 현재/남은 문항에 일관되게 적용한다 1ms × readyで中止しても無応答を加算せず終了結果を保つ 3ms × loadingで中止しても無応答を加算せず終了結果を保つ 1ms × playingで中止しても無応答を加算せず終了結果を保つ 1ms × answerで中止しても無応答を加算せず終了結果を保つ 1ms × feedbackで中止しても無応答を加算せず終了結果を保つ 1ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 7 ⎯⎯⎯⎯⎯⎯⎯ FAIL tests/game.test.ts > 출제와 정답 판정 > 목표 WAV 100개 모두 같은 명시적 cache-busting 버전과 정답 mapping을 유지한다 AssertionError: expected 96 to be 100 // Object.is equality - Expected + Received - 100 + 96 ❯ tests/game.test.ts:21:28 19| .map((q) => [q.id, q]), 20| ); 21| expect(questions.size).toBe(100); | ^ 22| const versions = new Set(); 23| for (const q of questions.values()) { ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/7]⎯ FAIL tests/game.test.ts > SNR을 정수 -12~12 dB로 제한하고 현재/남은 문항에 일관되게 적용한다 TypeError: Cannot read properties of undefined (reading 'questions') ❯ tests/game.test.ts:186:21 184| for (const [input, expected] of [[-99, -12], [99, 12], [NaN, 3], [1.… 185| const adjusted = gameReducer(state, { type: "SNR", db: input! }); 186| expect(adjusted.questions.map(q => q.db)).toEqual([expected, expec… | ^ 187| } 188| for (const type of ["PLAY", "STARTED", "ENDED"] as const) state = ga… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/7]⎯ FAIL tests/game.test.ts > readyで中止しても無応答を加算せず終了結果を保つ FAIL tests/game.test.ts > loadingで中止しても無応答を加算せず終了結果を保つ FAIL tests/game.test.ts > playingで中止しても無応答を加算せず終了結果を保つ FAIL tests/game.test.ts > answerで中止しても無応答を加算せず終了結果を保つ FAIL tests/game.test.ts > feedbackで中止しても無応答を加算せず終了結果を保つ AssertionError: expected undefined to match object { phase: 'results', …(2) } - Expected: { "answers": [], "endedEarly": true, "phase": "results", } + Received: undefined ❯ tests/game.test.ts:199:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/7]⎯ Test Files 1 failed (1) Tests 7 failed | 8 passed (15) Start at 07:56:51 Duration 918ms (environment 74%, setup 14%, transform 6%, tests 4%, import 1%, worker 1%)