import { describe, it, expect } from "vitest"; import { escapeHtml, humanizeStatus, statusIndicator, formatComponentLine, formatOverallStatus, } from "../src/status-fetcher.js"; describe("escapeHtml", () => { it("escapes HTML special chars", () => { expect(escapeHtml('')).toBe( "<script>"alert&"</script>" ); }); it("returns empty string for null/undefined", () => { expect(escapeHtml(null)).toBe(""); expect(escapeHtml(undefined)).toBe(""); }); }); describe("humanizeStatus", () => { it("maps known statuses", () => { expect(humanizeStatus("operational")).toBe("Operational"); expect(humanizeStatus("major_outage")).toBe("Major Outage"); expect(humanizeStatus("resolved")).toBe("Resolved"); }); it("returns raw string for unknown status", () => { expect(humanizeStatus("custom_status")).toBe("custom_status"); }); }); describe("statusIndicator", () => { it("returns green check for operational", () => { expect(statusIndicator("operational")).toBe("\u2705"); }); it("returns question mark for unknown", () => { expect(statusIndicator("unknown_status")).toBe("\u2753"); }); }); describe("formatComponentLine", () => { it("formats component with indicator and escaped name", () => { const line = formatComponentLine({ name: "API", status: "operational" }); expect(line).toContain("\u2705"); expect(line).toContain("API"); expect(line).toContain("Operational"); }); }); describe("formatOverallStatus", () => { it("maps known indicators", () => { expect(formatOverallStatus("none")).toContain("All Systems Operational"); expect(formatOverallStatus("critical")).toContain("Critical System Outage"); }); it("returns raw value for unknown indicator", () => { expect(formatOverallStatus("custom")).toBe("custom"); }); });