mirror of
https://github.com/moltbot/moltbot.git
synced 2026-04-26 07:57:40 +00:00
Plugins: speed up auth-choice contracts
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import { clearRuntimeAuthProfileStoreSnapshots } from "../../agents/auth-profiles/store.js";
|
||||
import { applyAuthChoiceLoadedPluginProvider } from "../../commands/auth-choice.apply.plugin-provider.js";
|
||||
import { resolvePreferredProviderForAuthChoice } from "../../commands/auth-choice.preferred-provider.js";
|
||||
import type { AuthChoice } from "../../commands/onboard-types.js";
|
||||
import {
|
||||
createAuthTestLifecycle,
|
||||
@@ -13,6 +12,7 @@ import {
|
||||
} from "../../commands/test-wizard-helpers.js";
|
||||
import { createCapturedPluginRegistration } from "../../test-utils/plugin-registration.js";
|
||||
import type { OpenClawPluginApi, ProviderPlugin } from "../types.js";
|
||||
import { providerContractRegistry } from "./registry.js";
|
||||
|
||||
type ResolvePluginProviders =
|
||||
typeof import("../../commands/auth-choice.apply.plugin-provider.runtime.js").resolvePluginProviders;
|
||||
@@ -28,6 +28,7 @@ const resolveProviderPluginChoiceMock = vi.hoisted(() => vi.fn<ResolveProviderPl
|
||||
const runProviderModelSelectedHookMock = vi.hoisted(() =>
|
||||
vi.fn<RunProviderModelSelectedHook>(async () => {}),
|
||||
);
|
||||
const resolvePreferredProviderPluginProvidersMock = vi.hoisted(() => vi.fn());
|
||||
|
||||
vi.mock("../../../extensions/qwen-portal-auth/oauth.js", () => ({
|
||||
loginQwenPortalOAuth: loginQwenPortalOAuthMock,
|
||||
@@ -43,6 +44,18 @@ vi.mock("../../commands/auth-choice.apply.plugin-provider.runtime.js", () => ({
|
||||
runProviderModelSelectedHook: runProviderModelSelectedHookMock,
|
||||
}));
|
||||
|
||||
vi.mock("../../plugins/providers.js", async () => {
|
||||
const actual = await vi.importActual<object>("../../plugins/providers.js");
|
||||
return {
|
||||
...actual,
|
||||
resolvePluginProviders: (...args: unknown[]) =>
|
||||
resolvePreferredProviderPluginProvidersMock(...args),
|
||||
};
|
||||
});
|
||||
|
||||
const { resolvePreferredProviderForAuthChoice } =
|
||||
await import("../../commands/auth-choice.preferred-provider.js");
|
||||
|
||||
type StoredAuthProfile = {
|
||||
type?: string;
|
||||
provider?: string;
|
||||
@@ -87,6 +100,15 @@ describe("provider auth-choice contract", () => {
|
||||
lifecycle.setStateDir(env.stateDir);
|
||||
}
|
||||
|
||||
beforeEach(() => {
|
||||
resolvePreferredProviderPluginProvidersMock.mockReset();
|
||||
resolvePreferredProviderPluginProvidersMock.mockReturnValue([
|
||||
...new Map(
|
||||
providerContractRegistry.map((entry) => [entry.provider.id, entry.provider]),
|
||||
).values(),
|
||||
]);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
loginQwenPortalOAuthMock.mockReset();
|
||||
githubCopilotLoginCommandMock.mockReset();
|
||||
|
||||
Reference in New Issue
Block a user