From 6bd565d9f2633f018e4894ee35fadf6c8679e4b2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 22:46:49 +0100 Subject: [PATCH] test: dedupe provider runtime mock reads --- src/plugins/provider-runtime.test.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/plugins/provider-runtime.test.ts b/src/plugins/provider-runtime.test.ts index d3200c71707..f0c0d32d531 100644 --- a/src/plugins/provider-runtime.test.ts +++ b/src/plugins/provider-runtime.test.ts @@ -169,6 +169,18 @@ function requireRecord(value: unknown, label: string): Record { return value; } +function firstMockArg(mock: { mock: { calls: unknown[][] } }): unknown { + return mock.mock.calls[0]?.[0]; +} + +function firstMockStringArg(mock: { mock: { calls: unknown[][] } }, label: string): string { + const value = firstMockArg(mock); + if (typeof value !== "string") { + throw new Error(`Expected ${label} to be a string`); + } + return value; +} + function expectRecordFields(record: Record, fields: Record) { for (const [key, value] of Object.entries(fields)) { expect(record[key]).toEqual(value); @@ -669,7 +681,7 @@ describe("provider-runtime", () => { } expect(providerRuntimeWarnMock).toHaveBeenCalledTimes(1); - const warning = String(providerRuntimeWarnMock.mock.calls.at(0)?.[0] ?? ""); + const warning = firstMockStringArg(providerRuntimeWarnMock, "provider warning"); expect(warning).toContain('Provider plugin "legacy-providerWARN forged"'); expect(warning).not.toContain("\n"); }); @@ -870,7 +882,7 @@ describe("provider-runtime", () => { }, }); expectRecordFields( - requireRecord(extraParamsForTransport.mock.calls.at(0)?.[0], "transport params context"), + requireRecord(firstMockArg(extraParamsForTransport), "transport params context"), { provider: DEMO_PROVIDER_ID, modelId: MODEL.id, @@ -1006,10 +1018,7 @@ describe("provider-runtime", () => { expect(contribution?.stablePrefix).toContain(""); expect(contribution?.stablePrefix).toContain("provider overlay"); expect(contribution?.sectionOverrides?.execution_bias).toBe("saw built-in overlay"); - const overlayContext = requireRecord( - resolvePromptOverlay.mock.calls.at(0)?.[0], - "overlay context", - ); + const overlayContext = requireRecord(firstMockArg(resolvePromptOverlay), "overlay context"); expect(overlayContext.provider).toBe("openrouter"); expect(overlayContext.modelId).toBe("openai/gpt-5.4"); expect(