// tests/main/services/stt-timeout-redteam-r3-1.test.ts // 최종 전사 응답 기한은 오디오 길이에 비례한다 (item 9) — 고정 120초가 몇 분짜리 핸즈프리 녹음을 버렸다. import { describe, expect, it } from 'vitest' import { transcriptionTimeoutMs, PCM16_MONO_16K_BYTES_PER_SECOND } from '../../../src/main/services/stt/audio-utils' describe('transcriptionTimeoutMs', () => { const options = { floorMs: 120_000, perAudioSecondMs: 3000 } it('짧은 녹음은 하한(120초)을 쓴다', () => { expect(transcriptionTimeoutMs(PCM16_MONO_16K_BYTES_PER_SECOND * 5, options)).toBe(120_000) }) it('10분 녹음은 오디오 길이에 비례해 기다린다', () => { expect(transcriptionTimeoutMs(PCM16_MONO_16K_BYTES_PER_SECOND * 600, options)).toBe(1_800_000) }) it('음수·0 바이트는 하한', () => { expect(transcriptionTimeoutMs(0, options)).toBe(120_000) expect(transcriptionTimeoutMs(-5, options)).toBe(120_000) }) })