refactor(commands): dedupe cleanup path resolution

This commit is contained in:
Peter Steinberger
2026-02-15 17:09:12 +00:00
parent da2fde7b6f
commit 3ce0e80f57
4 changed files with 57 additions and 13 deletions

View File

@@ -0,0 +1,26 @@
import { describe, expect, test } from "vitest";
import type { OpenClawConfig } from "../config/config.js";
import { buildCleanupPlan } from "./cleanup-utils.js";
describe("buildCleanupPlan", () => {
test("resolves inside-state flags and workspace dirs", () => {
const cfg = {
agents: {
defaults: { workspace: "/tmp/openclaw-workspace-1" },
list: [{ workspace: "/tmp/openclaw-workspace-2" }],
},
};
const plan = buildCleanupPlan({
cfg: cfg as unknown as OpenClawConfig,
stateDir: "/tmp/openclaw-state",
configPath: "/tmp/openclaw-state/openclaw.json",
oauthDir: "/tmp/openclaw-oauth",
});
expect(plan.configInsideState).toBe(true);
expect(plan.oauthInsideState).toBe(false);
expect(new Set(plan.workspaceDirs)).toEqual(
new Set(["/tmp/openclaw-workspace-1", "/tmp/openclaw-workspace-2"]),
);
});
});