Files
openclaw/src/commands/onboard-config.test.ts
2026-02-22 12:46:09 +01:00

40 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import type { OpenClawConfig } from "../config/config.js";
import {
applyOnboardingLocalWorkspaceConfig,
ONBOARDING_DEFAULT_DM_SCOPE,
} from "./onboard-config.js";
describe("applyOnboardingLocalWorkspaceConfig", () => {
it("sets secure dmScope default when unset", () => {
const baseConfig: OpenClawConfig = {};
const result = applyOnboardingLocalWorkspaceConfig(baseConfig, "/tmp/workspace");
expect(result.session?.dmScope).toBe(ONBOARDING_DEFAULT_DM_SCOPE);
expect(result.gateway?.mode).toBe("local");
expect(result.agents?.defaults?.workspace).toBe("/tmp/workspace");
});
it("preserves existing dmScope when already configured", () => {
const baseConfig: OpenClawConfig = {
session: {
dmScope: "main",
},
};
const result = applyOnboardingLocalWorkspaceConfig(baseConfig, "/tmp/workspace");
expect(result.session?.dmScope).toBe("main");
});
it("preserves explicit non-main dmScope values", () => {
const baseConfig: OpenClawConfig = {
session: {
dmScope: "per-account-channel-peer",
},
};
const result = applyOnboardingLocalWorkspaceConfig(baseConfig, "/tmp/workspace");
expect(result.session?.dmScope).toBe("per-account-channel-peer");
});
});