diff --git a/src/infra/system-presence.version.test.ts b/src/infra/system-presence.version.test.ts index 8465466ef9c..9c6d725e34f 100644 --- a/src/infra/system-presence.version.test.ts +++ b/src/infra/system-presence.version.test.ts @@ -13,46 +13,47 @@ async function withPresenceModule( } describe("system-presence version fallback", () => { + async function expectSelfVersion( + env: Record, + expectedVersion: string | (() => Promise), + ) { + await withPresenceModule(env, async ({ listSystemPresence }) => { + const selfEntry = listSystemPresence().find((entry) => entry.reason === "self"); + const resolvedExpected = + typeof expectedVersion === "function" ? await expectedVersion() : expectedVersion; + expect(selfEntry?.version).toBe(resolvedExpected); + }); + } + it("uses runtime VERSION when OPENCLAW_VERSION is not set", async () => { - await withPresenceModule( + await expectSelfVersion( { OPENCLAW_SERVICE_VERSION: "2.4.6-service", npm_package_version: "1.0.0-package", }, - async ({ listSystemPresence }) => { - const { VERSION } = await import("../version.js"); - const selfEntry = listSystemPresence().find((entry) => entry.reason === "self"); - expect(selfEntry?.version).toBe(VERSION); - }, + async () => (await import("../version.js")).VERSION, ); }); it("prefers OPENCLAW_VERSION over runtime VERSION", async () => { - await withPresenceModule( + await expectSelfVersion( { OPENCLAW_VERSION: "9.9.9-cli", OPENCLAW_SERVICE_VERSION: "2.4.6-service", npm_package_version: "1.0.0-package", }, - ({ listSystemPresence }) => { - const selfEntry = listSystemPresence().find((entry) => entry.reason === "self"); - expect(selfEntry?.version).toBe("9.9.9-cli"); - }, + "9.9.9-cli", ); }); it("uses runtime VERSION when OPENCLAW_VERSION and OPENCLAW_SERVICE_VERSION are blank", async () => { - await withPresenceModule( + await expectSelfVersion( { OPENCLAW_VERSION: " ", OPENCLAW_SERVICE_VERSION: "\t", npm_package_version: "1.0.0-package", }, - async ({ listSystemPresence }) => { - const { VERSION } = await import("../version.js"); - const selfEntry = listSystemPresence().find((entry) => entry.reason === "self"); - expect(selfEntry?.version).toBe(VERSION); - }, + async () => (await import("../version.js")).VERSION, ); }); });