From 01fc6845025f689483cd9ddfc4d99c120f2df298 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 13 May 2026 04:16:05 +0100 Subject: [PATCH] test: dedupe discord component mock reads --- .../discord/src/monitor/monitor.test.ts | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/extensions/discord/src/monitor/monitor.test.ts b/extensions/discord/src/monitor/monitor.test.ts index fd5d625f9a1..59046a90a9b 100644 --- a/extensions/discord/src/monitor/monitor.test.ts +++ b/extensions/discord/src/monitor/monitor.test.ts @@ -44,17 +44,34 @@ let sendComponents: typeof import("../send.components.js"); let lastDispatchCtx: Record | undefined; +type MockWithCalls = { mock: { calls: unknown[][] } }; + +function mockCall(mock: MockWithCalls, index: number, label: string): unknown[] { + const resolvedIndex = index < 0 ? mock.mock.calls.length + index : index; + const call = mock.mock.calls[resolvedIndex]; + if (!call) { + throw new Error(`expected ${label} call`); + } + return call; +} + +function mockCallArg(mock: MockWithCalls, index: number, label: string): unknown { + return mockCall(mock, index, label)[0]; +} + function getLastRecordedCtx(): Record | undefined { - const params = recordInboundSessionMock.mock.calls.at(-1)?.[0] as - | { ctx?: Record } - | undefined; + const params = mockCallArg(recordInboundSessionMock, -1, "recordInboundSession") as { + ctx?: Record; + }; return params?.ctx; } function getLastPluginDispatchCtx(): Record | undefined { - const params = dispatchPluginInteractiveHandlerMock.mock.calls.at(-1)?.[0] as - | { ctx?: Record } - | undefined; + const params = mockCallArg( + dispatchPluginInteractiveHandlerMock, + -1, + "dispatchPluginInteractiveHandler", + ) as { ctx?: Record }; return params?.ctx; } @@ -65,14 +82,8 @@ function requireRecord(value: unknown, label: string): Record { return value as Record; } -type MockWithCalls = { mock: { calls: unknown[][] } }; - function firstMockCall(mock: MockWithCalls, label: string): unknown[] { - const call = mock.mock.calls.at(0); - if (!call) { - throw new Error(`expected ${label} call`); - } - return call; + return mockCall(mock, 0, label); } function firstMockArg(mock: MockWithCalls, label: string) {