diff --git a/src/agents/model-fallback.run-embedded.e2e.test.ts b/src/agents/model-fallback.run-embedded.e2e.test.ts index 2035d7caa22..2ac6181147e 100644 --- a/src/agents/model-fallback.run-embedded.e2e.test.ts +++ b/src/agents/model-fallback.run-embedded.e2e.test.ts @@ -11,6 +11,7 @@ import { createResolvedEmbeddedRunnerModel, makeEmbeddedRunnerAttempt, } from "./test-helpers/pi-embedded-runner-e2e-fixtures.js"; +import { installEmbeddedRunnerBaseE2eMocks } from "./test-helpers/pi-embedded-runner-e2e-mocks.js"; const runEmbeddedAttemptMock = vi.fn<(params: unknown) => Promise>(); const { computeBackoffMock, sleepWithAbortMock } = vi.hoisted(() => ({ @@ -54,20 +55,7 @@ vi.mock("./models-config.js", async () => { }); const installRunEmbeddedMocks = () => { - vi.doMock("../plugins/hook-runner-global.js", () => ({ - getGlobalHookRunner: vi.fn(() => undefined), - })); - vi.doMock("../context-engine/init.js", () => ({ - ensureContextEnginesInitialized: vi.fn(), - })); - vi.doMock("../context-engine/registry.js", () => ({ - resolveContextEngine: vi.fn(async () => ({ - dispose: async () => undefined, - })), - })); - vi.doMock("./runtime-plugins.js", () => ({ - ensureRuntimePluginsLoaded: vi.fn(), - })); + installEmbeddedRunnerBaseE2eMocks(); vi.doMock("./pi-embedded-runner/model.js", () => ({ resolveModelAsync: async (provider: string, modelId: string) => createResolvedEmbeddedRunnerModel(provider, modelId), diff --git a/src/agents/pi-embedded-runner.e2e.test.ts b/src/agents/pi-embedded-runner.e2e.test.ts index 6fbb00ccac7..caa84e9778c 100644 --- a/src/agents/pi-embedded-runner.e2e.test.ts +++ b/src/agents/pi-embedded-runner.e2e.test.ts @@ -13,6 +13,7 @@ import { immediateEnqueue, makeEmbeddedRunnerAttempt, } from "./test-helpers/pi-embedded-runner-e2e-fixtures.js"; +import { installEmbeddedRunnerBaseE2eMocks } from "./test-helpers/pi-embedded-runner-e2e-mocks.js"; const runEmbeddedAttemptMock = vi.fn(); const disposeSessionMcpRuntimeMock = vi.fn<(sessionId: string) => Promise>(async () => { @@ -82,24 +83,7 @@ vi.mock("@mariozechner/pi-ai", async () => { }); const installRunEmbeddedMocks = () => { - vi.doMock("../plugins/hook-runner-global.js", () => ({ - getGlobalHookRunner: vi.fn(() => undefined), - getGlobalPluginRegistry: vi.fn(() => null), - hasGlobalHooks: vi.fn(() => false), - initializeGlobalHookRunner: vi.fn(), - resetGlobalHookRunner: vi.fn(), - })); - vi.doMock("../context-engine/init.js", () => ({ - ensureContextEnginesInitialized: vi.fn(), - })); - vi.doMock("../context-engine/registry.js", () => ({ - resolveContextEngine: vi.fn(async () => ({ - dispose: async () => undefined, - })), - })); - vi.doMock("./runtime-plugins.js", () => ({ - ensureRuntimePluginsLoaded: vi.fn(), - })); + installEmbeddedRunnerBaseE2eMocks({ hookRunner: "full" }); vi.doMock("./command/session.js", async () => { const actual = await vi.importActual("./command/session.js"); diff --git a/src/agents/test-helpers/pi-embedded-runner-e2e-mocks.ts b/src/agents/test-helpers/pi-embedded-runner-e2e-mocks.ts new file mode 100644 index 00000000000..2e4cee1dadf --- /dev/null +++ b/src/agents/test-helpers/pi-embedded-runner-e2e-mocks.ts @@ -0,0 +1,30 @@ +import { vi } from "vitest"; + +export function installEmbeddedRunnerBaseE2eMocks(options?: { + hookRunner?: "minimal" | "full"; +}): void { + vi.doMock("../../plugins/hook-runner-global.js", () => + options?.hookRunner === "full" + ? { + getGlobalHookRunner: vi.fn(() => undefined), + getGlobalPluginRegistry: vi.fn(() => null), + hasGlobalHooks: vi.fn(() => false), + initializeGlobalHookRunner: vi.fn(), + resetGlobalHookRunner: vi.fn(), + } + : { + getGlobalHookRunner: vi.fn(() => undefined), + }, + ); + vi.doMock("../../context-engine/init.js", () => ({ + ensureContextEnginesInitialized: vi.fn(), + })); + vi.doMock("../../context-engine/registry.js", () => ({ + resolveContextEngine: vi.fn(async () => ({ + dispose: async () => undefined, + })), + })); + vi.doMock("../runtime-plugins.js", () => ({ + ensureRuntimePluginsLoaded: vi.fn(), + })); +}