

























@@ -476,6 +476,14 @@ function requireRecord(value: unknown, label: string): Record<string, unknown> {
476476return value as Record<string, unknown>;
477477}
478478479+function firstMockArg(mockFn: ReturnType<typeof vi.fn>, label: string, callIndex = 0): unknown {
480+const call = mockFn.mock.calls.at(callIndex);
481+if (!call) {
482+throw new Error(`expected ${label} call ${callIndex}`);
483+}
484+return call.at(0);
485+}
486+479487function expectRecordFields(
480488value: unknown,
481489expected: Record<string, unknown>,
@@ -867,7 +875,13 @@ describe("registerTelegramNativeCommands — session metadata", () => {
867875868876expect(replyMocks.dispatchReplyWithBufferedBlockDispatcher).toHaveBeenCalledTimes(1);
869877const dispatcherOptions = requireRecord(
870-replyMocks.dispatchReplyWithBufferedBlockDispatcher.mock.calls[0]?.[0].dispatcherOptions,
878+requireRecord(
879+firstMockArg(
880+replyMocks.dispatchReplyWithBufferedBlockDispatcher,
881+"dispatchReplyWithBufferedBlockDispatcher",
882+),
883+"dispatch reply params",
884+).dispatcherOptions,
871885"dispatcher options",
872886);
873887expect(dispatcherOptions.beforeDeliver).toBeTypeOf("function");
@@ -901,7 +915,7 @@ describe("registerTelegramNativeCommands — session metadata", () => {
901915});
902916await handler(createTelegramPrivateCommandContext());
903917904-const deliveredCall = deliveryMocks.deliverReplies.mock.calls[0]?.[0] as
918+const deliveredCall = firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as
905919| DeliverRepliesParams
906920| undefined;
907921const deliveredPayload = deliveredCall?.replies?.[0];
@@ -970,7 +984,7 @@ describe("registerTelegramNativeCommands — session metadata", () => {
970984});
971985await handler(createTelegramPrivateCommandContext());
972986973-const deliveredCall = deliveryMocks.deliverReplies.mock.calls[0]?.[0] as
987+const deliveredCall = firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as
974988| DeliverRepliesParams
975989| undefined;
976990const deliveryParams = requireValue(deliveredCall, "silent error delivery params");
@@ -1308,7 +1322,7 @@ describe("registerTelegramNativeCommands — session metadata", () => {
13081322);
1309132313101324expectRecordFields(
1311-sessionMocks.resolveAndPersistSessionFile.mock.calls[0]?.[0],
1325+firstMockArg(sessionMocks.resolveAndPersistSessionFile, "resolveAndPersistSessionFile"),
13121326{
13131327sessionId: "sess-topic",
13141328sessionKey: "agent:main:telegram:group:-1001234567890:topic:42",
@@ -1360,7 +1374,9 @@ describe("registerTelegramNativeCommands — session metadata", () => {
13601374await handler(createTelegramPrivateCommandContext({ match: "status" }));
1361137513621376const deliveryCall = requireValue(
1363-deliveryMocks.deliverReplies.mock.calls[0]?.[0],
1377+firstMockArg(deliveryMocks.deliverReplies, "deliverReplies") as
1378+| DeliverRepliesParams
1379+| undefined,
13641380"empty response delivery params",
13651381);
13661382expect(deliveryCall.replies).toEqual([{ text: "No response generated. Please try again." }]);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。