Files
openclaw/src/cli/plugins-uninstall-selection.test.ts
2026-04-11 08:12:34 +01:00

51 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import type { OpenClawConfig } from "../config/config.js";
import { resolvePluginUninstallId } from "./plugins-uninstall-selection.js";
describe("resolvePluginUninstallId", () => {
it("accepts the recorded ClawHub spec as an uninstall target", () => {
const result = resolvePluginUninstallId({
rawId: "clawhub:linkmind-context",
config: {
plugins: {
entries: {
"linkmind-context": { enabled: true },
},
installs: {
"linkmind-context": {
source: "npm",
spec: "clawhub:linkmind-context",
clawhubPackage: "linkmind-context",
},
},
},
} as OpenClawConfig,
plugins: [{ id: "linkmind-context", name: "linkmind-context" }],
});
expect(result.pluginId).toBe("linkmind-context");
});
it("accepts a versionless ClawHub spec when the install was pinned", () => {
const result = resolvePluginUninstallId({
rawId: "clawhub:linkmind-context",
config: {
plugins: {
entries: {
"linkmind-context": { enabled: true },
},
installs: {
"linkmind-context": {
source: "npm",
spec: "clawhub:linkmind-context@1.2.3",
},
},
},
} as OpenClawConfig,
plugins: [{ id: "linkmind-context", name: "linkmind-context" }],
});
expect(result.pluginId).toBe("linkmind-context");
});
});