

























@@ -73,6 +73,15 @@ function createSignal() {
7373return { promise, resolve };
7474}
757576+function requireFirstMockArg<T>(mock: { mock: { calls: T[][] } }, label: string): T {
77+const call = mock.mock.calls.at(0);
78+if (!call) {
79+throw new Error(`expected ${label} call`);
80+}
81+const [arg] = call;
82+return arg;
83+}
84+7685describe("createRealtimeTranscriptionWebSocketSession", () => {
7786it("flushes queued binary audio after an open-ready connection", async () => {
7887const frames: Buffer[] = [];
@@ -184,7 +193,7 @@ describe("createRealtimeTranscriptionWebSocketSession", () => {
184193);
185194expect(session.isConnected()).toBe(false);
186195expect(onError).toHaveBeenCalledTimes(1);
187-const timeoutError = onError.mock.calls[0]?.[0];
196+const timeoutError = requireFirstMockArg(onError, "connect timeout error");
188197expect(timeoutError).toBeInstanceOf(Error);
189198expect(timeoutError.message).toBe("test realtime transcription connection timeout");
190199});
@@ -243,7 +252,7 @@ describe("createRealtimeTranscriptionWebSocketSession", () => {
243252await expect(session.connect()).rejects.toThrow("nope");
244253expect(session.isConnected()).toBe(false);
245254expect(onError).toHaveBeenCalledTimes(1);
246-const setupError = onError.mock.calls[0]?.[0];
255+const setupError = requireFirstMockArg(onError, "provider setup error");
247256expect(setupError).toBeInstanceOf(Error);
248257expect(setupError.message).toBe("nope");
249258});
@@ -266,7 +275,7 @@ describe("createRealtimeTranscriptionWebSocketSession", () => {
266275"test realtime transcription connection closed before ready",
267276);
268277expect(onError).toHaveBeenCalledTimes(1);
269-const closeError = onError.mock.calls[0]?.[0];
278+const closeError = requireFirstMockArg(onError, "pre-ready close error");
270279expect(closeError).toBeInstanceOf(Error);
271280expect(closeError.message).toBe("test realtime transcription connection closed before ready");
272281});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。