Spaces:
Paused
Paused
| import { describe, expect, it } from "vitest"; | |
| import { validateConfigObject } from "./validation.js"; | |
| // NOTE: These tests ensure allow + alsoAllow cannot be set in the same scope. | |
| describe("config: tools.alsoAllow", () => { | |
| it("rejects tools.allow + tools.alsoAllow together", () => { | |
| const res = validateConfigObject({ | |
| tools: { | |
| allow: ["group:fs"], | |
| alsoAllow: ["lobster"], | |
| }, | |
| }); | |
| expect(res.ok).toBe(false); | |
| if (!res.ok) { | |
| expect(res.issues.some((i) => i.path === "tools")).toBe(true); | |
| } | |
| }); | |
| it("rejects agents.list[].tools.allow + alsoAllow together", () => { | |
| const res = validateConfigObject({ | |
| agents: { | |
| list: [ | |
| { | |
| id: "main", | |
| tools: { | |
| allow: ["group:fs"], | |
| alsoAllow: ["lobster"], | |
| }, | |
| }, | |
| ], | |
| }, | |
| }); | |
| expect(res.ok).toBe(false); | |
| if (!res.ok) { | |
| expect(res.issues.some((i) => i.path.includes("agents.list"))).toBe(true); | |
| } | |
| }); | |
| it("allows profile + alsoAllow", () => { | |
| const res = validateConfigObject({ | |
| tools: { | |
| profile: "coding", | |
| alsoAllow: ["lobster"], | |
| }, | |
| }); | |
| expect(res.ok).toBe(true); | |
| }); | |
| }); | |