From 96b2ef812d39fa8e280e428f1dac87a68d5940e2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 22:44:33 +0100 Subject: [PATCH] test: dedupe qa runner mock reads --- src/plugin-sdk/qa-runner-runtime.test.ts | 29 ++++++++++++++++-------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/plugin-sdk/qa-runner-runtime.test.ts b/src/plugin-sdk/qa-runner-runtime.test.ts index 26de26f0c66..7626b94826d 100644 --- a/src/plugin-sdk/qa-runner-runtime.test.ts +++ b/src/plugin-sdk/qa-runner-runtime.test.ts @@ -27,6 +27,23 @@ vi.mock("./facade-runtime.js", () => ({ tryLoadActivatedBundledPluginPublicSurfaceModuleSync, })); +type ManifestRegistryCall = { env?: NodeJS.ProcessEnv }; +type PublicSurfaceCall = { + artifactBasename?: string; + dirName?: string; + env?: NodeJS.ProcessEnv; +}; + +function firstManifestRegistryCall(): ManifestRegistryCall | undefined { + return loadPluginManifestRegistry.mock.calls[0]?.[0] as ManifestRegistryCall | undefined; +} + +function firstPublicSurfaceCall(): PublicSurfaceCall | undefined { + return loadBundledPluginPublicSurfaceModuleSync.mock.calls[0]?.[0] as + | PublicSurfaceCall + | undefined; +} + describe("plugin-sdk qa-runner-runtime", () => { const tempDirs: string[] = []; const originalPrivateQaCli = process.env.OPENCLAW_ENABLE_PRIVATE_QA_CLI; @@ -81,9 +98,7 @@ describe("plugin-sdk qa-runner-runtime", () => { const module = await import("./qa-runner-runtime.js"); expect(module.loadQaRunnerBundledPluginTestApi("matrix")).toBe(testApi); - const testApiCall = loadBundledPluginPublicSurfaceModuleSync.mock.calls.at(0)?.[0] as - | { artifactBasename?: string; dirName?: string; env?: NodeJS.ProcessEnv } - | undefined; + const testApiCall = firstPublicSurfaceCall(); expect(testApiCall?.dirName).toBe("matrix"); expect(testApiCall?.artifactBasename).toBe("test-api.js"); expect(testApiCall?.env?.OPENCLAW_ENABLE_PRIVATE_QA_CLI).toBe("1"); @@ -202,17 +217,13 @@ describe("plugin-sdk qa-runner-runtime", () => { }, }, ]); - const manifestCall = loadPluginManifestRegistry.mock.calls.at(0)?.[0] as - | { env?: NodeJS.ProcessEnv } - | undefined; + const manifestCall = firstManifestRegistryCall(); expect(manifestCall?.env?.OPENCLAW_ENABLE_PRIVATE_QA_CLI).toBe("1"); expect(manifestCall?.env?.OPENCLAW_BUNDLED_PLUGINS_DIR).toBe( path.join(sourceRoot, "extensions"), ); - const publicSurfaceCall = loadBundledPluginPublicSurfaceModuleSync.mock.calls.at(0)?.[0] as - | { dirName?: string; artifactBasename?: string; env?: NodeJS.ProcessEnv } - | undefined; + const publicSurfaceCall = firstPublicSurfaceCall(); expect(publicSurfaceCall?.dirName).toBe("qa-matrix"); expect(publicSurfaceCall?.artifactBasename).toBe("runtime-api.js"); expect(publicSurfaceCall?.env?.OPENCLAW_ENABLE_PRIVATE_QA_CLI).toBe("1");