




















@@ -1,17 +1,23 @@
11import { beforeEach, describe, expect, it, vi } from "vitest";
2233const mocks = vi.hoisted(() => ({
4+buildManifestBuiltInModelSuppressionResolver: vi.fn(),
45resolveManifestBuiltInModelSuppression: vi.fn(),
56}));
6778vi.mock("../plugins/manifest-model-suppression.js", () => ({
9+buildManifestBuiltInModelSuppressionResolver: mocks.buildManifestBuiltInModelSuppressionResolver,
810resolveManifestBuiltInModelSuppression: mocks.resolveManifestBuiltInModelSuppression,
911}));
101211-import { shouldSuppressBuiltInModel } from "./model-suppression.js";
13+import {
14+buildShouldSuppressBuiltInModel,
15+shouldSuppressBuiltInModel,
16+} from "./model-suppression.js";
12171318describe("model suppression", () => {
1419beforeEach(() => {
20+mocks.buildManifestBuiltInModelSuppressionResolver.mockReset();
1521mocks.resolveManifestBuiltInModelSuppression.mockReset();
1622});
1723@@ -43,4 +49,48 @@ describe("model suppression", () => {
43494450expect(mocks.resolveManifestBuiltInModelSuppression).toHaveBeenCalledOnce();
4551});
52+53+describe("buildShouldSuppressBuiltInModel", () => {
54+beforeEach(() => {
55+mocks.buildManifestBuiltInModelSuppressionResolver.mockReset();
56+});
57+58+it("creates a reusable manifest resolver with normalized provider and model ids", () => {
59+const resolver = vi
60+.fn()
61+.mockReturnValueOnce({ suppress: true, errorMessage: "manifest suppression" })
62+.mockReturnValueOnce(undefined);
63+const config = {};
64+mocks.buildManifestBuiltInModelSuppressionResolver.mockReturnValueOnce(resolver);
65+66+const shouldSuppress = buildShouldSuppressBuiltInModel({ config });
67+68+expect(shouldSuppress({ provider: "bedrock", id: "Claude-3" })).toBe(true);
69+expect(shouldSuppress({ provider: "aws-bedrock", id: "claude-4" })).toBe(false);
70+expect(mocks.buildManifestBuiltInModelSuppressionResolver).toHaveBeenCalledOnce();
71+expect(mocks.buildManifestBuiltInModelSuppressionResolver).toHaveBeenCalledWith({
72+ config,
73+env: process.env,
74+});
75+expect(resolver).toHaveBeenNthCalledWith(1, {
76+provider: "amazon-bedrock",
77+id: "claude-3",
78+});
79+expect(resolver).toHaveBeenNthCalledWith(2, {
80+provider: "amazon-bedrock",
81+id: "claude-4",
82+});
83+});
84+85+it("does not call the manifest resolver for empty provider or model ids", () => {
86+const resolver = vi.fn();
87+mocks.buildManifestBuiltInModelSuppressionResolver.mockReturnValueOnce(resolver);
88+89+const shouldSuppress = buildShouldSuppressBuiltInModel({});
90+91+expect(shouldSuppress({ provider: "openai", id: "" })).toBe(false);
92+expect(shouldSuppress({ provider: "", id: "gpt-5.5" })).toBe(false);
93+expect(resolver).not.toHaveBeenCalled();
94+});
95+});
4696});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。