Files
openclaw/src/commands/reset.test.ts
2026-05-11 16:41:46 +01:00

52 lines
1.3 KiB
TypeScript

import { beforeAll, beforeEach, describe, expect, it } from "vitest";
import {
cleanupCommandLogMessages,
createCleanupCommandRuntime,
resetCleanupCommandMocks,
silenceCleanupCommandRuntime,
} from "./cleanup-command.test-support.js";
describe("resetCommand", () => {
const runtime = createCleanupCommandRuntime();
let resetCommand: typeof import("./reset.js").resetCommand;
beforeAll(async () => {
({ resetCommand } = await import("./reset.js"));
});
beforeEach(() => {
resetCleanupCommandMocks();
silenceCleanupCommandRuntime(runtime);
});
it("recommends creating a backup before state-destructive reset scopes", async () => {
await resetCommand(runtime, {
scope: "config+creds+sessions",
yes: true,
nonInteractive: true,
dryRun: true,
});
expect(
cleanupCommandLogMessages(runtime).some((message) =>
message.includes("openclaw backup create"),
),
).toBe(true);
});
it("does not recommend backup for config-only reset", async () => {
await resetCommand(runtime, {
scope: "config",
yes: true,
nonInteractive: true,
dryRun: true,
});
expect(
cleanupCommandLogMessages(runtime).some((message) =>
message.includes("openclaw backup create"),
),
).toBe(false);
});
});