From 185043277f63da96f5fae67492243c8ebcdf53e1 Mon Sep 17 00:00:00 2001 From: Ion Mudreac Date: Tue, 17 Feb 2026 16:45:11 +0800 Subject: [PATCH] test: add edge case for streamMode=off + blockStreaming=true --- src/telegram/bot-message-dispatch.test.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/telegram/bot-message-dispatch.test.ts b/src/telegram/bot-message-dispatch.test.ts index 6e6536cd7f9..69a399137d2 100644 --- a/src/telegram/bot-message-dispatch.test.ts +++ b/src/telegram/bot-message-dispatch.test.ts @@ -320,6 +320,29 @@ describe("dispatchTelegramMessage draft streaming", () => { ); }); + it("disables block streaming when streamMode is off even if blockStreaming config is true", async () => { + dispatchReplyWithBufferedBlockDispatcher.mockImplementation(async ({ dispatcherOptions }) => { + await dispatcherOptions.deliver({ text: "Hello" }, { kind: "final" }); + return { queuedFinal: true }; + }); + deliverReplies.mockResolvedValue({ delivered: true }); + + await dispatchWithContext({ + context: createContext(), + streamMode: "off", + telegramCfg: { blockStreaming: true }, + }); + + expect(createTelegramDraftStream).not.toHaveBeenCalled(); + expect(dispatchReplyWithBufferedBlockDispatcher).toHaveBeenCalledWith( + expect.objectContaining({ + replyOptions: expect.objectContaining({ + disableBlockStreaming: true, + }), + }), + ); + }); + it("forces new message when new assistant message starts after previous output", async () => { const draftStream = createDraftStream(999); createTelegramDraftStream.mockReturnValue(draftStream);