From a091feae2da09bf052b41de14217f9a2c1985b00 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 00:36:32 +0100 Subject: [PATCH] test: guard qqbot stt mock calls --- extensions/qqbot/src/engine/utils/stt.test.ts | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/extensions/qqbot/src/engine/utils/stt.test.ts b/extensions/qqbot/src/engine/utils/stt.test.ts index d439d39ffdd..90da09f7403 100644 --- a/extensions/qqbot/src/engine/utils/stt.test.ts +++ b/extensions/qqbot/src/engine/utils/stt.test.ts @@ -18,6 +18,22 @@ afterAll(() => { import { resolveSTTConfig, transcribeAudio } from "./stt.js"; +function requireFirstSsrfRequest(): { + url?: unknown; + auditContext?: unknown; + init?: RequestInit; +} { + const [call] = ssrfRuntimeMocks.fetchWithSsrFGuard.mock.calls; + if (!call) { + throw new Error("expected QQBot STT fetch call"); + } + return call[0] as { + url?: unknown; + auditContext?: unknown; + init?: RequestInit; + }; +} + describe("engine/utils/stt", () => { beforeEach(() => { ssrfRuntimeMocks.fetchWithSsrFGuard.mockReset(); @@ -119,11 +135,7 @@ describe("engine/utils/stt", () => { expect(transcript).toBe("hello from audio"); expect(ssrfRuntimeMocks.fetchWithSsrFGuard).toHaveBeenCalledTimes(1); - const request = ssrfRuntimeMocks.fetchWithSsrFGuard.mock.calls[0]?.[0] as { - url?: unknown; - auditContext?: unknown; - init?: RequestInit; - }; + const request = requireFirstSsrfRequest(); expect(request.url).toBe("https://api.example.test/v1/audio/transcriptions"); expect(request.auditContext).toBe("qqbot-stt"); expect(request.init?.method).toBe("POST");