From 2298889cb98b6bc3a314fae76d5dc68ca5b0b27d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 15:09:47 +0100 Subject: [PATCH] test: dedupe telegram session metadata mock calls --- .../bot-native-commands.session-meta.test.ts | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/extensions/telegram/src/bot-native-commands.session-meta.test.ts b/extensions/telegram/src/bot-native-commands.session-meta.test.ts index 9ff1144bc40..7e32fc7f4ca 100644 --- a/extensions/telegram/src/bot-native-commands.session-meta.test.ts +++ b/extensions/telegram/src/bot-native-commands.session-meta.test.ts @@ -476,6 +476,14 @@ function requireRecord(value: unknown, label: string): Record { return value as Record; } +function firstMockArg(mockFn: ReturnType, label: string, callIndex = 0): unknown { + const call = mockFn.mock.calls.at(callIndex); + if (!call) { + throw new Error(`expected ${label} call ${callIndex}`); + } + return call.at(0); +} + function expectRecordFields( value: unknown, expected: Record, @@ -867,7 +875,13 @@ describe("registerTelegramNativeCommands — session metadata", () => { expect(replyMocks.dispatchReplyWithBufferedBlockDispatcher).toHaveBeenCalledTimes(1); const dispatcherOptions = requireRecord( - replyMocks.dispatchReplyWithBufferedBlockDispatcher.mock.calls[0]?.[0].dispatcherOptions, + requireRecord( + firstMockArg( + replyMocks.dispatchReplyWithBufferedBlockDispatcher, + "dispatchReplyWithBufferedBlockDispatcher", + ), + "dispatch reply params", + ).dispatcherOptions, "dispatcher options", ); expect(dispatcherOptions.beforeDeliver).toBeTypeOf("function"); @@ -901,7 +915,7 @@ describe("registerTelegramNativeCommands — session metadata", () => { }); await handler(createTelegramPrivateCommandContext()); - const deliveredCall = deliveryMocks.deliverReplies.mock.calls[0]?.[0] as + const deliveredCall = firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as | DeliverRepliesParams | undefined; const deliveredPayload = deliveredCall?.replies?.[0]; @@ -970,7 +984,7 @@ describe("registerTelegramNativeCommands — session metadata", () => { }); await handler(createTelegramPrivateCommandContext()); - const deliveredCall = deliveryMocks.deliverReplies.mock.calls[0]?.[0] as + const deliveredCall = firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as | DeliverRepliesParams | undefined; const deliveryParams = requireValue(deliveredCall, "silent error delivery params"); @@ -1308,7 +1322,7 @@ describe("registerTelegramNativeCommands — session metadata", () => { ); expectRecordFields( - sessionMocks.resolveAndPersistSessionFile.mock.calls[0]?.[0], + firstMockArg(sessionMocks.resolveAndPersistSessionFile, "resolveAndPersistSessionFile"), { sessionId: "sess-topic", sessionKey: "agent:main:telegram:group:-1001234567890:topic:42", @@ -1360,7 +1374,9 @@ describe("registerTelegramNativeCommands — session metadata", () => { await handler(createTelegramPrivateCommandContext({ match: "status" })); const deliveryCall = requireValue( - deliveryMocks.deliverReplies.mock.calls[0]?.[0], + firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as + | DeliverRepliesParams + | undefined, "empty response delivery params", ); expect(deliveryCall.replies).toEqual([{ text: "No response generated. Please try again." }]);