40 lines
1.3 KiB
TypeScript
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");
|
|
});
|
|
});
|