test: dedupe qa runner mock reads

This commit is contained in:
Peter Steinberger
2026-05-12 22:44:33 +01:00
parent af8f3552e4
commit 96b2ef812d

View File

@@ -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");