mirror of https://github.com/openclaw/openclaw.git
67 lines
1.5 KiB
TypeScript
67 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { collectBlueBubblesStatusIssues } from "./runtime-api.js";
|
|
|
|
describe("collectBlueBubblesStatusIssues", () => {
|
|
it("reports unconfigured enabled accounts", () => {
|
|
const issues = collectBlueBubblesStatusIssues([
|
|
{
|
|
accountId: "default",
|
|
enabled: true,
|
|
configured: false,
|
|
},
|
|
]);
|
|
|
|
expect(issues).toEqual([
|
|
expect.objectContaining({
|
|
channel: "bluebubbles",
|
|
accountId: "default",
|
|
kind: "config",
|
|
}),
|
|
]);
|
|
});
|
|
|
|
it("reports probe failure and runtime error for configured running accounts", () => {
|
|
const issues = collectBlueBubblesStatusIssues([
|
|
{
|
|
accountId: "work",
|
|
enabled: true,
|
|
configured: true,
|
|
running: true,
|
|
lastError: "timeout",
|
|
probe: {
|
|
ok: false,
|
|
status: 503,
|
|
},
|
|
},
|
|
]);
|
|
|
|
expect(issues).toHaveLength(2);
|
|
expect(issues[0]).toEqual(
|
|
expect.objectContaining({
|
|
channel: "bluebubbles",
|
|
accountId: "work",
|
|
kind: "runtime",
|
|
}),
|
|
);
|
|
expect(issues[1]).toEqual(
|
|
expect.objectContaining({
|
|
channel: "bluebubbles",
|
|
accountId: "work",
|
|
kind: "runtime",
|
|
message: "Channel error: timeout",
|
|
}),
|
|
);
|
|
});
|
|
|
|
it("skips disabled accounts", () => {
|
|
const issues = collectBlueBubblesStatusIssues([
|
|
{
|
|
accountId: "disabled",
|
|
enabled: false,
|
|
configured: false,
|
|
},
|
|
]);
|
|
expect(issues).toEqual([]);
|
|
});
|
|
});
|