Skip to content

Commit 5fce864

Browse files
[AI] test(memory): add backfill coverage for provider.model in createWithAdapter
Two new tests: 1. adapter returns provider.model= → backfill fills resolvedModel 2. adapter already populates provider.model → preserved unchanged Addresses ClawSweeper real-behavior-proof requirement on PR for #90042.
1 parent d39c790 commit 5fce864

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

extensions/memory-core/src/memory/embeddings.test.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,54 @@ describe("createEmbeddingProvider", () => {
249249
);
250250
});
251251

252+
it("backfills provider.model when adapter returns empty model string", async () => {
253+
registerMemoryEmbeddingProvider({
254+
id: "openai",
255+
transport: "remote",
256+
defaultModel: "text-embedding-3-small",
257+
create: async () => ({
258+
provider: {
259+
id: "openai",
260+
model: "",
261+
embedQuery: async () => [1],
262+
embedBatch: async (texts) => texts.map(() => [1]),
263+
},
264+
}),
265+
});
266+
267+
const result = await createEmbeddingProvider({
268+
...createOptions("openai"),
269+
model: "",
270+
});
271+
272+
expect(result.provider?.id).toBe("openai");
273+
expect(result.provider?.model).toBe("text-embedding-3-small");
274+
});
275+
276+
it("preserves provider.model when adapter already populates it correctly", async () => {
277+
registerMemoryEmbeddingProvider({
278+
id: "openai",
279+
transport: "remote",
280+
defaultModel: "text-embedding-3-small",
281+
create: async (options) => ({
282+
provider: {
283+
id: "openai",
284+
model: options.model,
285+
embedQuery: async () => [1],
286+
embedBatch: async (texts) => texts.map(() => [1]),
287+
},
288+
}),
289+
});
290+
291+
const result = await createEmbeddingProvider({
292+
...createOptions("openai"),
293+
model: "text-embedding-3-large",
294+
});
295+
296+
expect(result.provider?.id).toBe("openai");
297+
expect(result.provider?.model).toBe("text-embedding-3-large");
298+
});
299+
252300
it("uses config-scoped lookup for generic fallback model resolution", () => {
253301
registerGenericEmbeddingProvider({
254302
id: "openai-compatible",

0 commit comments

Comments
 (0)