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", () => {
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", () => {
const cfg: OpenClawConfig = {
tools: {
@@ -81,12 +98,10 @@ describe("resolveEntriesWithActiveFallback", () => {
},
};
const entries = resolveEntriesWithActiveFallback({
const entries = resolveWithActiveFallback({
cfg,
capability: "audio",
config: cfg.tools?.media?.audio,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
});
expect(entries).toHaveLength(1);
expect(entries[0]?.provider).toBe("groq");
@@ -101,12 +116,10 @@ describe("resolveEntriesWithActiveFallback", () => {
},
};
const entries = resolveEntriesWithActiveFallback({
const entries = resolveWithActiveFallback({
cfg,
capability: "audio",
config: cfg.tools?.media?.audio,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
});
expect(entries).toHaveLength(1);
expect(entries[0]?.provider).toBe("openai");
@@ -121,12 +134,10 @@ describe("resolveEntriesWithActiveFallback", () => {
},
};
const entries = resolveEntriesWithActiveFallback({
const entries = resolveWithActiveFallback({
cfg,
capability: "video",
config: cfg.tools?.media?.video,
providerRegistry,
activeModel: { provider: "groq", model: "whisper-large-v3" },
});
expect(entries).toHaveLength(0);
});