| import { beforeEach, describe, expect, it, vi } from "vitest"; |
| import { resolvePluginProviders } from "./providers.js"; |
|
|
| const loadOpenClawPluginsMock = vi.fn(); |
|
|
| vi.mock("./loader.js", () => ({ |
| loadOpenClawPlugins: (...args: unknown[]) => loadOpenClawPluginsMock(...args), |
| })); |
|
|
| describe("resolvePluginProviders", () => { |
| beforeEach(() => { |
| loadOpenClawPluginsMock.mockReset(); |
| loadOpenClawPluginsMock.mockReturnValue({ |
| providers: [{ provider: { id: "demo-provider" } }], |
| }); |
| }); |
|
|
| it("forwards an explicit env to plugin loading", () => { |
| const env = { OPENCLAW_HOME: "/srv/openclaw-home" } as NodeJS.ProcessEnv; |
|
|
| const providers = resolvePluginProviders({ |
| workspaceDir: "/workspace/explicit", |
| env, |
| }); |
|
|
| expect(providers).toEqual([{ id: "demo-provider" }]); |
| expect(loadOpenClawPluginsMock).toHaveBeenCalledWith( |
| expect.objectContaining({ |
| workspaceDir: "/workspace/explicit", |
| env, |
| }), |
| ); |
| }); |
| }); |
|
|