
























@@ -77,20 +77,31 @@ import {
7777resolveBundledWebSearchProvidersFromPublicArtifacts,
7878} from "./web-provider-public-artifacts.js";
797980+function expectSingleProvider<T>(providers: T[] | undefined): T {
81+expect(providers).toHaveLength(1);
82+const provider = providers?.[0];
83+if (provider === undefined) {
84+throw new Error("Expected one web provider");
85+}
86+return provider;
87+}
88+8089describe("web provider public artifacts explicit fast path", () => {
8190beforeEach(() => {
8291loadPluginManifestRegistryMock.mockClear();
8392loadBundledPluginPublicArtifactModuleSyncMock.mockClear();
8493});
85948695it("resolves bundled web search providers by explicit plugin id without manifest scans", () => {
87-const provider = resolveBundledWebSearchProvidersFromPublicArtifacts({
88-bundledAllowlistCompat: true,
89-onlyPluginIds: ["brave"],
90-})?.[0];
96+const provider = expectSingleProvider(
97+resolveBundledWebSearchProvidersFromPublicArtifacts({
98+bundledAllowlistCompat: true,
99+onlyPluginIds: ["brave"],
100+}),
101+);
9110292-expect(provider?.pluginId).toBe("brave");
93-expect(provider?.createTool({ config: {} as never })).toBeNull();
103+expect(provider.pluginId).toBe("brave");
104+expect(provider.createTool({ config: {} as never })).toBeNull();
94105expect(loadBundledPluginPublicArtifactModuleSyncMock).toHaveBeenCalledWith({
95106dirName: "brave",
96107artifactBasename: "web-search-contract-api.js",
@@ -99,12 +110,14 @@ describe("web provider public artifacts explicit fast path", () => {
99110});
100111101112it("resolves bundled runtime web search providers by explicit plugin id", () => {
102-const provider = resolveExplicitRuntimeWebSearchProviders({
103-onlyPluginIds: ["google"],
104-})?.[0];
113+const provider = expectSingleProvider(
114+resolveExplicitRuntimeWebSearchProviders({
115+onlyPluginIds: ["google"],
116+}),
117+);
105118106-expect(provider?.pluginId).toBe("google");
107-expect(provider?.createTool({ config: {} as never })).not.toBeNull();
119+expect(provider.pluginId).toBe("google");
120+expect(provider.createTool({ config: {} as never })).toEqual(expect.any(Object));
108121expect(loadBundledPluginPublicArtifactModuleSyncMock).toHaveBeenCalledWith({
109122dirName: "google",
110123artifactBasename: "web-search-provider.js",
@@ -113,13 +126,15 @@ describe("web provider public artifacts explicit fast path", () => {
113126});
114127115128it("resolves bundled web fetch providers by explicit plugin id without manifest scans", () => {
116-const provider = resolveBundledWebFetchProvidersFromPublicArtifacts({
117-bundledAllowlistCompat: true,
118-onlyPluginIds: ["firecrawl"],
119-})?.[0];
129+const provider = expectSingleProvider(
130+resolveBundledWebFetchProvidersFromPublicArtifacts({
131+bundledAllowlistCompat: true,
132+onlyPluginIds: ["firecrawl"],
133+}),
134+);
120135121-expect(provider?.pluginId).toBe("firecrawl");
122-expect(provider?.createTool({ config: {} as never })).toBeNull();
136+expect(provider.pluginId).toBe("firecrawl");
137+expect(provider.createTool({ config: {} as never })).toBeNull();
123138expect(loadBundledPluginPublicArtifactModuleSyncMock).toHaveBeenCalledWith({
124139dirName: "firecrawl",
125140artifactBasename: "web-fetch-contract-api.js",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。