diff --git a/extensions/minimax/provider-http.test-helpers.ts b/extensions/minimax/provider-http.test-helpers.ts index 25854d20150..a6eaa233ea9 100644 --- a/extensions/minimax/provider-http.test-helpers.ts +++ b/extensions/minimax/provider-http.test-helpers.ts @@ -1,10 +1,29 @@ import type { resolveProviderHttpRequestConfig } from "openclaw/plugin-sdk/provider-http"; -import { afterEach, vi } from "vitest"; +import { afterEach, vi, type Mock } from "vitest"; type ResolveProviderHttpRequestConfigParams = Parameters< typeof resolveProviderHttpRequestConfig >[0]; +type ResolveProviderHttpRequestConfigResult = { + baseUrl: string; + allowPrivateNetwork: boolean; + headers: Headers; + dispatcherPolicy: undefined; +}; + +type AnyMock = Mock<(...args: any[]) => any>; + +interface MinimaxProviderHttpMocks { + resolveApiKeyForProviderMock: Mock<() => Promise<{ apiKey: string }>>; + postJsonRequestMock: AnyMock; + fetchWithTimeoutMock: AnyMock; + assertOkOrThrowHttpErrorMock: Mock<() => Promise>; + resolveProviderHttpRequestConfigMock: Mock< + (params: ResolveProviderHttpRequestConfigParams) => ResolveProviderHttpRequestConfigResult + >; +} + const minimaxProviderHttpMocks = vi.hoisted(() => ({ resolveApiKeyForProviderMock: vi.fn(async () => ({ apiKey: "provider-key" })), postJsonRequestMock: vi.fn(), @@ -42,7 +61,7 @@ vi.mock("openclaw/plugin-sdk/provider-http", () => ({ waitProviderOperationPollInterval: async () => {}, })); -export function getMinimaxProviderHttpMocks() { +export function getMinimaxProviderHttpMocks(): MinimaxProviderHttpMocks { return minimaxProviderHttpMocks; } diff --git a/src/plugin-sdk/test-helpers/provider-http-mocks.ts b/src/plugin-sdk/test-helpers/provider-http-mocks.ts index 863079c850e..6d6f6ea7a5f 100644 --- a/src/plugin-sdk/test-helpers/provider-http-mocks.ts +++ b/src/plugin-sdk/test-helpers/provider-http-mocks.ts @@ -1,4 +1,4 @@ -import { afterEach, vi } from "vitest"; +import { afterEach, vi, type Mock } from "vitest"; import type { pollProviderOperationJson, resolveProviderHttpRequestConfig, @@ -13,6 +13,32 @@ type SanitizeConfiguredModelProviderRequestParams = Parameters< typeof sanitizeConfiguredModelProviderRequest >[0]; +type ResolveProviderHttpRequestConfigResult = { + baseUrl: string; + allowPrivateNetwork: boolean; + headers: Headers; + dispatcherPolicy: undefined; +}; + +type AnyMock = Mock<(...args: any[]) => any>; + +interface ProviderHttpMocks { + resolveApiKeyForProviderMock: Mock<() => Promise<{ apiKey: string }>>; + postJsonRequestMock: AnyMock; + fetchWithTimeoutMock: AnyMock; + pollProviderOperationJsonMock: AnyMock; + assertOkOrThrowHttpErrorMock: Mock<(response: Response, label: string) => Promise>; + assertOkOrThrowProviderErrorMock: Mock<(response: Response, label: string) => Promise>; + sanitizeConfiguredModelProviderRequestMock: Mock< + ( + request: SanitizeConfiguredModelProviderRequestParams, + ) => SanitizeConfiguredModelProviderRequestParams + >; + resolveProviderHttpRequestConfigMock: Mock< + (params: ResolveProviderHttpRequestConfigParams) => ResolveProviderHttpRequestConfigResult + >; +} + const providerHttpMocks = vi.hoisted(() => ({ resolveApiKeyForProviderMock: vi.fn(async () => ({ apiKey: "provider-key" })), postJsonRequestMock: vi.fn(), @@ -85,7 +111,7 @@ vi.mock("openclaw/plugin-sdk/provider-http", () => ({ waitProviderOperationPollInterval: async () => {}, })); -export function getProviderHttpMocks() { +export function getProviderHttpMocks(): ProviderHttpMocks { return providerHttpMocks; }