Files
clawdbot/extensions/zalouser/src/status-issues.test.ts
2026-01-20 13:32:11 +00:00

59 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { collectZalouserStatusIssues } from "./status-issues.js";
describe("collectZalouserStatusIssues", () => {
it("flags missing zca when configured is false", () => {
const issues = collectZalouserStatusIssues([
{
accountId: "default",
enabled: true,
configured: false,
lastError: "zca CLI not found in PATH",
},
]);
expect(issues).toHaveLength(1);
expect(issues[0]?.kind).toBe("runtime");
expect(issues[0]?.message).toMatch(/zca CLI not found/i);
});
it("flags missing auth when configured is false", () => {
const issues = collectZalouserStatusIssues([
{
accountId: "default",
enabled: true,
configured: false,
lastError: "not authenticated",
},
]);
expect(issues).toHaveLength(1);
expect(issues[0]?.kind).toBe("auth");
expect(issues[0]?.message).toMatch(/Not authenticated/i);
});
it("warns when dmPolicy is open", () => {
const issues = collectZalouserStatusIssues([
{
accountId: "default",
enabled: true,
configured: true,
dmPolicy: "open",
},
]);
expect(issues).toHaveLength(1);
expect(issues[0]?.kind).toBe("config");
});
it("skips disabled accounts", () => {
const issues = collectZalouserStatusIssues([
{
accountId: "default",
enabled: false,
configured: false,
lastError: "zca CLI not found in PATH",
},
]);
expect(issues).toHaveLength(0);
});
});