mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 14:00:43 +00:00
51 lines
1.5 KiB
TypeScript
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");
|
|
});
|
|
});
|