From 3a37bb717c5cdaab9fd6cc804c99a054725227df Mon Sep 17 00:00:00 2001 From: Shakker Date: Tue, 12 May 2026 20:46:39 +0100 Subject: [PATCH] test: account plugin repair outcomes --- .../missing-configured-plugin-install.test.ts | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/commands/doctor/shared/missing-configured-plugin-install.test.ts b/src/commands/doctor/shared/missing-configured-plugin-install.test.ts index 135c2ebb931..21f3bc6b3a6 100644 --- a/src/commands/doctor/shared/missing-configured-plugin-install.test.ts +++ b/src/commands/doctor/shared/missing-configured-plugin-install.test.ts @@ -980,11 +980,11 @@ describe("repairMissingConfiguredPluginInstalls", () => { expect(mocks.updateNpmInstalledPlugins).toHaveBeenCalledTimes(1); expect(result.warnings).toEqual([]); - expect(result.changes).toEqual( - expect.arrayContaining([ - expect.stringContaining('Repaired missing configured plugin "discord"'), - ]), - ); + expect(result.changes[0]).toBe('Repaired missing configured plugin "discord".'); + expectRecordFields(result.records.discord, { + source: "npm", + installPath: "/repaired/discord", + }); }); it("defers channel-selected external payload repair during the package update doctor pass", async () => { @@ -1352,12 +1352,22 @@ describe("repairMissingConfiguredPluginInstalls", () => { expect(mockCallArg(mocks.writePersistedInstalledPluginIndexInstallRecords, 0, 1)).toEqual({ env, }); - expect(result).toMatchObject({ - changes: [ - `Installed missing configured plugin "codex" from ${expectedNpmInstallSpec("@openclaw/codex")}.`, - ], - warnings: [], + expect(result.changes).toEqual([ + `Installed missing configured plugin "codex" from ${expectedNpmInstallSpec("@openclaw/codex")}.`, + ]); + expect(result.warnings).toEqual([]); + expect(Object.keys(result.records)).toEqual(["codex"]); + expectRecordFields(result.records.codex, { + source: "npm", + spec: "@openclaw/codex", + installPath: "/tmp/openclaw-plugins/codex", + version: "2026.5.2", + resolvedName: "@openclaw/codex", + resolvedSpec: "@openclaw/codex@2026.5.2", + integrity: "sha512-codex", + resolvedAt: "2026-05-01T00:00:00.000Z", }); + expect(typeof result.records.codex?.installedAt).toBe("string"); }); it.each([ @@ -2026,9 +2036,16 @@ describe("repairMissingConfiguredPluginInstalls", () => { expect(mockCallArg(mocks.writePersistedInstalledPluginIndexInstallRecords, 0, 1)).toEqual({ env: {}, }); - expect(result).toMatchObject({ + expect(result).toEqual({ changes: ['Repaired missing configured plugin "discord".'], warnings: [], + records: { + discord: { + source: "npm", + spec: "@openclaw/discord", + installPath: process.cwd(), + }, + }, }); });