test(media): dedupe active-model fallback resolver setup

This commit is contained in:
Peter Steinberger
2026-02-19 07:49:48 +00:00
parent ca71b5cc51
commit bbb07bdc19

View File

@@ -72,6 +72,23 @@ describe("resolveModelEntries", () => {
}); });
describe("resolveEntriesWithActiveFallback", () => { describe("resolveEntriesWithActiveFallback", () => {
type ResolveWithFallbackInput = Parameters<typeof resolveEntriesWithActiveFallback>[0];
const defaultActiveModel = { provider: "groq", model: "whisper-large-v3" } as const;
function resolveWithActiveFallback(params: {
cfg: ResolveWithFallbackInput["cfg"];
capability: ResolveWithFallbackInput["capability"];
config: ResolveWithFallbackInput["config"];
}) {
return resolveEntriesWithActiveFallback({
cfg: params.cfg,
capability: params.capability,
config: params.config,
providerRegistry,
activeModel: defaultActiveModel,
});
}
it("uses active model when enabled and no models are configured", () => { it("uses active model when enabled and no models are configured", () => {
const cfg: OpenClawConfig = { const cfg: OpenClawConfig = {
tools: { tools: {
@@ -81,12 +98,10 @@ describe("resolveEntriesWithActiveFallback", () => {
}, },
}; };
const entries = resolveEntriesWithActiveFallback({ const entries = resolveWithActiveFallback({
cfg, cfg,
capability: "audio", capability: "audio",
config: cfg.tools?.media?.audio, config: cfg.tools?.media?.audio,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
}); });
expect(entries).toHaveLength(1); expect(entries).toHaveLength(1);
expect(entries[0]?.provider).toBe("groq"); expect(entries[0]?.provider).toBe("groq");
@@ -101,12 +116,10 @@ describe("resolveEntriesWithActiveFallback", () => {
}, },
}; };
const entries = resolveEntriesWithActiveFallback({ const entries = resolveWithActiveFallback({
cfg, cfg,
capability: "audio", capability: "audio",
config: cfg.tools?.media?.audio, config: cfg.tools?.media?.audio,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
}); });
expect(entries).toHaveLength(1); expect(entries).toHaveLength(1);
expect(entries[0]?.provider).toBe("openai"); expect(entries[0]?.provider).toBe("openai");
@@ -121,12 +134,10 @@ describe("resolveEntriesWithActiveFallback", () => {
}, },
}; };
const entries = resolveEntriesWithActiveFallback({ const entries = resolveWithActiveFallback({
cfg, cfg,
capability: "video", capability: "video",
config: cfg.tools?.media?.video, config: cfg.tools?.media?.video,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
}); });
expect(entries).toHaveLength(0); expect(entries).toHaveLength(0);
}); });