From 58dde4b0169b0436befa2e7191d544ac7dd2f7ad Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 29 Mar 2026 19:54:07 +0100 Subject: [PATCH] test(contracts): hoist shared plugin mock ids --- test/helpers/channels/inbound-contract.ts | 33 ++++++++++--------- .../channels/outbound-payload-contract.ts | 22 +++++++------ 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/test/helpers/channels/inbound-contract.ts b/test/helpers/channels/inbound-contract.ts index 5ac51307a3d..7bb275b493c 100644 --- a/test/helpers/channels/inbound-contract.ts +++ b/test/helpers/channels/inbound-contract.ts @@ -36,11 +36,23 @@ const { createInboundSlackTestContext, prepareSlackMessage } = loadBundledPlugin opts: { source: string }; }) => Promise; }>("slack"); -const telegramHarnessModuleId = resolveRelativeBundledPluginPublicModuleId({ - fromModuleUrl: import.meta.url, - pluginId: "telegram", - artifactBasename: "src/bot-message-context.test-harness.js", -}); +const { telegramHarnessModuleId, signalApiModuleId, whatsAppTestApiModuleId } = vi.hoisted(() => ({ + telegramHarnessModuleId: resolveRelativeBundledPluginPublicModuleId({ + fromModuleUrl: import.meta.url, + pluginId: "telegram", + artifactBasename: "src/bot-message-context.test-harness.js", + }), + signalApiModuleId: resolveRelativeBundledPluginPublicModuleId({ + fromModuleUrl: import.meta.url, + pluginId: "signal", + artifactBasename: "api.js", + }), + whatsAppTestApiModuleId: resolveRelativeBundledPluginPublicModuleId({ + fromModuleUrl: import.meta.url, + pluginId: "whatsapp", + artifactBasename: "test-api.js", + }), +})); async function buildTelegramMessageContextForTest(params: { cfg: OpenClawConfig; @@ -55,17 +67,6 @@ async function buildTelegramMessageContextForTest(params: { return await telegramHarnessModule.buildTelegramMessageContextForTest(params); } -const signalApiModuleId = resolveRelativeBundledPluginPublicModuleId({ - fromModuleUrl: import.meta.url, - pluginId: "signal", - artifactBasename: "api.js", -}); -const whatsAppTestApiModuleId = resolveRelativeBundledPluginPublicModuleId({ - fromModuleUrl: import.meta.url, - pluginId: "whatsapp", - artifactBasename: "test-api.js", -}); - const dispatchInboundMessageMock = vi.hoisted(() => vi.fn( async (params: { diff --git a/test/helpers/channels/outbound-payload-contract.ts b/test/helpers/channels/outbound-payload-contract.ts index 9927d7d16a4..e815b8d25aa 100644 --- a/test/helpers/channels/outbound-payload-contract.ts +++ b/test/helpers/channels/outbound-payload-contract.ts @@ -44,16 +44,18 @@ const { sendMessageZalouser, parseZalouserOutboundTarget } = loadBundledPluginTe parseZalouserOutboundTarget: ParseZalouserOutboundTarget; }>("zalouser"); -const zaloTestApiModuleId = resolveRelativeBundledPluginPublicModuleId({ - fromModuleUrl: import.meta.url, - pluginId: "zalo", - artifactBasename: "test-api.js", -}); -const zalouserTestApiModuleId = resolveRelativeBundledPluginPublicModuleId({ - fromModuleUrl: import.meta.url, - pluginId: "zalouser", - artifactBasename: "test-api.js", -}); +const { zaloTestApiModuleId, zalouserTestApiModuleId } = vi.hoisted(() => ({ + zaloTestApiModuleId: resolveRelativeBundledPluginPublicModuleId({ + fromModuleUrl: import.meta.url, + pluginId: "zalo", + artifactBasename: "test-api.js", + }), + zalouserTestApiModuleId: resolveRelativeBundledPluginPublicModuleId({ + fromModuleUrl: import.meta.url, + pluginId: "zalouser", + artifactBasename: "test-api.js", + }), +})); vi.mock(zaloTestApiModuleId, async (importOriginal) => { const actual = await importOriginal();