import { describe, expect, it } from "vitest"; import { collectWhatsAppStatusIssues } from "./status-issues.js"; describe("collectWhatsAppStatusIssues", () => { it("reports unlinked enabled accounts", () => { const issues = collectWhatsAppStatusIssues([ { accountId: "default", enabled: true, linked: false, }, ]); expect(issues).toEqual([ expect.objectContaining({ channel: "whatsapp", accountId: "default", kind: "auth", }), ]); }); it("reports linked but disconnected runtime state", () => { const issues = collectWhatsAppStatusIssues([ { accountId: "work", enabled: true, linked: true, running: true, connected: false, reconnectAttempts: 2, lastError: "socket closed", }, ]); expect(issues).toEqual([ expect.objectContaining({ channel: "whatsapp", accountId: "work", kind: "runtime", message: "Linked but disconnected (reconnectAttempts=2): socket closed", }), ]); }); it("skips disabled accounts", () => { const issues = collectWhatsAppStatusIssues([ { accountId: "disabled", enabled: false, linked: false, }, ]); expect(issues).toEqual([]); }); });