test: tighten openai embedding request assertions

This commit is contained in:
Shakker
2026-05-11 02:26:16 +01:00
parent c872993985
commit 7470904d7d

View File

@@ -29,6 +29,17 @@ function createOptions(
};
}
function expectFetchRemoteEmbeddingVectorsBody(body: Record<string, unknown>) {
expect(mocks.fetchRemoteEmbeddingVectors).toHaveBeenCalledWith({
url: "https://embeddings.example/v1/embeddings",
headers: { Authorization: "Bearer test" },
ssrfPolicy: undefined,
fetchImpl: undefined,
body,
errorPrefix: "openai embeddings failed",
});
}
describe("OpenAI embedding provider", () => {
beforeEach(() => {
mocks.fetchRemoteEmbeddingVectors.mockClear();
@@ -42,15 +53,11 @@ describe("OpenAI embedding provider", () => {
await provider.embedQuery("hello");
expect(mocks.fetchRemoteEmbeddingVectors).toHaveBeenCalledWith(
expect.objectContaining({
body: {
model: "text-embedding-3-small",
input: ["hello"],
input_type: "query",
},
}),
);
expectFetchRemoteEmbeddingVectorsBody({
model: "text-embedding-3-small",
input: ["hello"],
input_type: "query",
});
});
it("sends documentInputType on document batch embeddings", async () => {
@@ -60,15 +67,11 @@ describe("OpenAI embedding provider", () => {
await provider.embedBatch(["doc one", "doc two"]);
expect(mocks.fetchRemoteEmbeddingVectors).toHaveBeenCalledWith(
expect.objectContaining({
body: {
model: "text-embedding-3-small",
input: ["doc one", "doc two"],
input_type: "document",
},
}),
);
expectFetchRemoteEmbeddingVectorsBody({
model: "text-embedding-3-small",
input: ["doc one", "doc two"],
input_type: "document",
});
});
it("omits input_type unless configured", async () => {
@@ -76,14 +79,10 @@ describe("OpenAI embedding provider", () => {
await provider.embedBatch(["doc"]);
expect(mocks.fetchRemoteEmbeddingVectors).toHaveBeenCalledWith(
expect.objectContaining({
body: {
model: "text-embedding-3-small",
input: ["doc"],
},
}),
);
expectFetchRemoteEmbeddingVectorsBody({
model: "text-embedding-3-small",
input: ["doc"],
});
});
it("sends outputDimensionality as OpenAI dimensions", async () => {
@@ -93,14 +92,10 @@ describe("OpenAI embedding provider", () => {
await provider.embedBatch(["doc"]);
expect(mocks.fetchRemoteEmbeddingVectors).toHaveBeenCalledWith(
expect.objectContaining({
body: {
model: "text-embedding-3-small",
input: ["doc"],
dimensions: 512,
},
}),
);
expectFetchRemoteEmbeddingVectorsBody({
model: "text-embedding-3-small",
input: ["doc"],
dimensions: 512,
});
});
});