From 4702d2bff5957fdb321c71bc14dc200426f2bf59 Mon Sep 17 00:00:00 2001 From: Shakker Date: Sun, 10 May 2026 16:34:44 +0100 Subject: [PATCH] test: clear remaining qqbot broad matchers --- .../src/engine/api/media-chunked.test.ts | 4 ++-- .../engine/gateway/outbound-dispatch.test.ts | 15 +++++++-------- extensions/qqbot/src/engine/utils/stt.test.ts | 19 ++++++++----------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/extensions/qqbot/src/engine/api/media-chunked.test.ts b/extensions/qqbot/src/engine/api/media-chunked.test.ts index a51aea87d99..e7d4f0c11a0 100644 --- a/extensions/qqbot/src/engine/api/media-chunked.test.ts +++ b/extensions/qqbot/src/engine/api/media-chunked.test.ts @@ -242,8 +242,8 @@ describe("media-chunked: ChunkedMediaApi.uploadChunked", () => { // 3 COS PUTs, one per part, each to the presigned URL. expect(fetchSpy).toHaveBeenCalledTimes(3); const putUrls = fetchSpy.mock.calls.map((c) => (c[0] as { url: string }).url); - expect(putUrls).toEqual( - expect.arrayContaining([ + expect(new Set(putUrls)).toEqual( + new Set([ "https://cos.example.com/part-1", "https://cos.example.com/part-2", "https://cos.example.com/part-3", diff --git a/extensions/qqbot/src/engine/gateway/outbound-dispatch.test.ts b/extensions/qqbot/src/engine/gateway/outbound-dispatch.test.ts index bd11f7f3c24..64323f8f69b 100644 --- a/extensions/qqbot/src/engine/gateway/outbound-dispatch.test.ts +++ b/extensions/qqbot/src/engine/gateway/outbound-dispatch.test.ts @@ -204,14 +204,13 @@ describe("dispatchOutbound", () => { accountId: "qq-main", }); expect(audioFileToSilkBase64Mock).toHaveBeenCalledWith("/tmp/openclaw-qqbot/tts.wav"); - expect(sendMediaMock).toHaveBeenCalledWith( - expect.objectContaining({ - kind: "voice", - source: { base64: "silk-base64" }, - msgId: "msg-1", - ttsText: "read this aloud", - }), - ); + const sentMedia = sendMediaMock.mock.calls[0]?.[0] as + | { kind?: string; source?: unknown; msgId?: string; ttsText?: string } + | undefined; + expect(sentMedia?.kind).toBe("voice"); + expect(sentMedia?.source).toEqual({ base64: "silk-base64" }); + expect(sentMedia?.msgId).toBe("msg-1"); + expect(sentMedia?.ttsText).toBe("read this aloud"); expect(sendTextMock).not.toHaveBeenCalled(); }); diff --git a/extensions/qqbot/src/engine/utils/stt.test.ts b/extensions/qqbot/src/engine/utils/stt.test.ts index 1461bcf1d88..79e53914b69 100644 --- a/extensions/qqbot/src/engine/utils/stt.test.ts +++ b/extensions/qqbot/src/engine/utils/stt.test.ts @@ -101,17 +101,14 @@ describe("engine/utils/stt", () => { }); expect(transcript).toBe("hello from audio"); - expect(fetchWithSsrFGuardMock).toHaveBeenCalledWith( - expect.objectContaining({ - url: "https://api.example.test/v1/audio/transcriptions", - auditContext: "qqbot-stt", - init: expect.objectContaining({ - method: "POST", - headers: { Authorization: "Bearer secret" }, - body: expect.any(FormData), - }), - }), - ); + const request = fetchWithSsrFGuardMock.mock.calls[0]?.[0] as + | { url?: string; auditContext?: string; init?: RequestInit } + | undefined; + expect(request?.url).toBe("https://api.example.test/v1/audio/transcriptions"); + expect(request?.auditContext).toBe("qqbot-stt"); + expect(request?.init?.method).toBe("POST"); + expect(request?.init?.headers).toEqual({ Authorization: "Bearer secret" }); + expect(request?.init?.body).toBeInstanceOf(FormData); expect(release).toHaveBeenCalledTimes(1); }); });