test: tighten deepinfra speech request assertions

This commit is contained in:
Peter Steinberger
2026-05-09 09:12:30 +01:00
parent 03b067ed8b
commit d3ac73c55a

View File

@@ -91,26 +91,45 @@ describe("deepinfra speech provider", () => {
timeoutMs: 12_345,
});
expect(resolveProviderHttpRequestConfigMock).toHaveBeenCalledWith(
expect.objectContaining({
provider: "deepinfra",
capability: "audio",
baseUrl: "https://api.deepinfra.com/v1/openai",
}),
);
expect(postJsonRequestMock).toHaveBeenCalledWith(
expect.objectContaining({
url: "https://api.deepinfra.com/v1/openai/audio/speech",
timeoutMs: 12_345,
body: {
model: "hexgrad/Kokoro-82M",
input: "hello",
voice: "af_alloy",
response_format: "mp3",
speed: 1.2,
expect(resolveProviderHttpRequestConfigMock.mock.calls).toEqual([
[
{
baseUrl: "https://api.deepinfra.com/v1/openai",
defaultBaseUrl: "https://api.deepinfra.com/v1/openai",
allowPrivateNetwork: false,
defaultHeaders: {
Authorization: "Bearer sk-deepinfra",
"Content-Type": "application/json",
},
provider: "deepinfra",
capability: "audio",
transport: "http",
},
}),
);
],
]);
expect(postJsonRequestMock).toHaveBeenCalledOnce();
const [postRequest] = postJsonRequestMock.mock.calls[0] ?? [];
const postRequestHeaders = Reflect.get(postRequest ?? {}, "headers");
expect(postRequestHeaders).toBeInstanceOf(Headers);
expect(Object.fromEntries((postRequestHeaders as Headers).entries())).toEqual({
authorization: "Bearer sk-deepinfra",
"content-type": "application/json",
});
expect(postRequest).toEqual({
url: "https://api.deepinfra.com/v1/openai/audio/speech",
headers: postRequestHeaders,
timeoutMs: 12_345,
body: {
model: "hexgrad/Kokoro-82M",
input: "hello",
voice: "af_alloy",
response_format: "mp3",
speed: 1.2,
},
fetchFn: fetch,
allowPrivateNetwork: false,
dispatcherPolicy: undefined,
});
expect(result.audioBuffer).toEqual(Buffer.from([1, 2, 3]));
expect(result.outputFormat).toBe("mp3");
expect(result.fileExtension).toBe(".mp3");