mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-18 20:44:47 +00:00
test: tighten legacy config assertions
This commit is contained in:
@@ -47,6 +47,10 @@ function issueMessages(issues: Array<{ message: string }>): string[] {
|
||||
return issues.map((issue) => issue.message);
|
||||
}
|
||||
|
||||
function expectSomeIssueMessageContains(issues: Array<{ message: string }>, text: string): void {
|
||||
expect(issueMessages(issues).some((message) => message.includes(text))).toBe(true);
|
||||
}
|
||||
|
||||
describe("boolean config validation", () => {
|
||||
it.each(nonBooleanConfigCases)("rejects non-boolean values for $name", ({ config }) => {
|
||||
const result = OpenClawSchema.safeParse(config);
|
||||
@@ -1024,11 +1028,9 @@ describe("config strict validation", () => {
|
||||
const snap = await readConfigFileSnapshot();
|
||||
|
||||
expect(snap.valid).toBe(false);
|
||||
expect(issueMessages(snap.issues)).toEqual(
|
||||
expect.arrayContaining([expect.stringContaining('"memorySearch"')]),
|
||||
);
|
||||
expectSomeIssueMessageContains(snap.issues, '"memorySearch"');
|
||||
expect(issuePaths(snap.legacyIssues)).toContain("memorySearch");
|
||||
expect((snap.sourceConfig as { memorySearch?: unknown }).memorySearch).toMatchObject({
|
||||
expect((snap.sourceConfig as { memorySearch?: unknown }).memorySearch).toEqual({
|
||||
provider: "local",
|
||||
fallback: "none",
|
||||
query: { maxResults: 7 },
|
||||
@@ -1049,11 +1051,9 @@ describe("config strict validation", () => {
|
||||
const snap = await readConfigFileSnapshot();
|
||||
|
||||
expect(snap.valid).toBe(false);
|
||||
expect(issueMessages(snap.issues)).toEqual(
|
||||
expect.arrayContaining([expect.stringContaining('"heartbeat"')]),
|
||||
);
|
||||
expectSomeIssueMessageContains(snap.issues, '"heartbeat"');
|
||||
expect(issuePaths(snap.legacyIssues)).toContain("heartbeat");
|
||||
expect((snap.sourceConfig as { heartbeat?: unknown }).heartbeat).toMatchObject({
|
||||
expect((snap.sourceConfig as { heartbeat?: unknown }).heartbeat).toEqual({
|
||||
every: "30m",
|
||||
model: "anthropic/claude-3-5-haiku-20241022",
|
||||
});
|
||||
@@ -1074,11 +1074,9 @@ describe("config strict validation", () => {
|
||||
const snap = await readConfigFileSnapshot();
|
||||
|
||||
expect(snap.valid).toBe(false);
|
||||
expect(issueMessages(snap.issues)).toEqual(
|
||||
expect.arrayContaining([expect.stringContaining('"heartbeat"')]),
|
||||
);
|
||||
expectSomeIssueMessageContains(snap.issues, '"heartbeat"');
|
||||
expect(issuePaths(snap.legacyIssues)).toContain("heartbeat");
|
||||
expect((snap.sourceConfig as { heartbeat?: unknown }).heartbeat).toMatchObject({
|
||||
expect((snap.sourceConfig as { heartbeat?: unknown }).heartbeat).toEqual({
|
||||
showOk: true,
|
||||
showAlerts: false,
|
||||
useIndicator: true,
|
||||
@@ -1132,12 +1130,10 @@ describe("config strict validation", () => {
|
||||
const snap = await readConfigFileSnapshot();
|
||||
|
||||
expect(snap.valid).toBe(false);
|
||||
expect(issuePaths(snap.issues)).toEqual(
|
||||
expect.arrayContaining(["agents.defaults.sandbox", "agents.list.0.sandbox"]),
|
||||
);
|
||||
expect(issuePaths(snap.legacyIssues)).toEqual(
|
||||
expect.arrayContaining(["agents.defaults.sandbox", "agents.list"]),
|
||||
);
|
||||
expect(issuePaths(snap.issues)).toContain("agents.defaults.sandbox");
|
||||
expect(issuePaths(snap.issues)).toContain("agents.list.0.sandbox");
|
||||
expect(issuePaths(snap.legacyIssues)).toContain("agents.defaults.sandbox");
|
||||
expect(issuePaths(snap.legacyIssues)).toContain("agents.list");
|
||||
expect(snap.sourceConfig.agents?.defaults?.sandbox).toEqual({ perSession: true });
|
||||
expect(snap.sourceConfig.agents?.list?.[0]?.sandbox).toEqual({ perSession: false });
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user