






















@@ -1,14 +1,15 @@
11import { beforeEach, describe, expect, it, vi } from "vitest";
22import type { OpenClawConfig } from "../config/types.js";
33import type { ImageGenerationProviderPlugin } from "../plugins/types.js";
4-import type * as ProviderRegistry from "./provider-registry.js";
4+import { getImageGenerationProvider, listImageGenerationProviders } from "./provider-registry.js";
5566const { resolvePluginCapabilityProvidersMock } = vi.hoisted(() => ({
77resolvePluginCapabilityProvidersMock: vi.fn<() => ImageGenerationProviderPlugin[]>(() => []),
88}));
9910-let getImageGenerationProvider: typeof ProviderRegistry.getImageGenerationProvider;
11-let listImageGenerationProviders: typeof ProviderRegistry.listImageGenerationProviders;
10+vi.mock("../plugins/capability-provider-runtime.js", () => ({
11+resolvePluginCapabilityProviders: resolvePluginCapabilityProvidersMock,
12+}));
12131314function createProvider(
1415params: Pick<ImageGenerationProviderPlugin, "id"> & Partial<ImageGenerationProviderPlugin>,
@@ -26,14 +27,6 @@ function createProvider(
2627};
2728}
282929-async function loadProviderRegistry() {
30-vi.resetModules();
31-vi.doMock("../plugins/capability-provider-runtime.js", () => ({
32-resolvePluginCapabilityProviders: resolvePluginCapabilityProvidersMock,
33-}));
34-return await import("./provider-registry.js");
35-}
36-3730function requireImageProvider(id: string): ImageGenerationProviderPlugin {
3831const provider = getImageGenerationProvider(id);
3932if (!provider) {
@@ -43,10 +36,9 @@ function requireImageProvider(id: string): ImageGenerationProviderPlugin {
4336}
44374538describe("image-generation provider registry", () => {
46-beforeEach(async () => {
39+beforeEach(() => {
4740resolvePluginCapabilityProvidersMock.mockReset();
4841resolvePluginCapabilityProvidersMock.mockReturnValue([]);
49-({ getImageGenerationProvider, listImageGenerationProviders } = await loadProviderRegistry());
5042});
51435244it("delegates provider resolution to the capability provider boundary", () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。