Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
3.3 kB ยท 102 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103import { expect } from "@std/expect";import { describe, test } from "@std/testing/bdd";
import { agentTools } from "../index";import type { AnyAgentTool, SummaryLine } from "../types";
function summarize( toolName: keyof typeof agentTools, input: unknown,): SummaryLine[] { const tool = agentTools[toolName] as AnyAgentTool; if (!tool.approval) throw new Error(`${toolName} has no approval`); return tool.approval.summarize(input).lines;}
function line(lines: SummaryLine[], label: string): SummaryLine { const found = lines.find((l) => l.label === label); if (!found) throw new Error(`no "${label}" line`); return found;}
describe("summary-line refs", () => { test("create_status_report tags the page line with a page ref", () => { const lines = summarize("create_status_report", { title: "Outage", status: "investigating", message: "m", pageId: 2705, pageComponentIds: [], }); expect(line(lines, "Page ID").ref).toEqual({ kind: "page", pageId: 2705 }); });
test("create_status_report tags components and impacts with refs", () => { const lines = summarize("create_status_report", { title: "Outage", status: "investigating", message: "m", pageId: 1, pageComponentIds: [101, 102], componentImpacts: [{ pageComponentId: 101, impact: "major_outage" }], }); expect(line(lines, "Components").ref).toEqual({ kind: "components", componentIds: [101, 102], }); expect(line(lines, "Impacts").ref).toEqual({ kind: "componentImpacts", impacts: [{ pageComponentId: 101, impact: "major_outage" }], }); });
test("add_status_report_update tags impacts with a componentImpacts ref", () => { const lines = summarize("add_status_report_update", { statusReportId: 42, status: "monitoring", message: "m", componentImpacts: [{ pageComponentId: 7, impact: "partial_outage" }], }); expect(line(lines, "Impacts").ref).toEqual({ kind: "componentImpacts", impacts: [{ pageComponentId: 7, impact: "partial_outage" }], }); });
test("create_maintenance tags the page and components lines", () => { const lines = summarize("create_maintenance", { title: "DB Upgrade", message: "m", from: "2026-06-01T00:00:00Z", to: "2026-06-01T01:00:00Z", pageId: 7, pageComponentIds: [1, 2], }); expect(line(lines, "Page ID").ref).toEqual({ kind: "page", pageId: 7 }); expect(line(lines, "Components").ref).toEqual({ kind: "components", componentIds: [1, 2], }); });
test("update_status_report tags components when ids are present", () => { const lines = summarize("update_status_report", { statusReportId: 10, pageComponentIds: [1, 2], }); expect(line(lines, "Components").ref).toEqual({ kind: "components", componentIds: [1, 2], }); });
test("update_status_report leaves the '(clear all)' line ref-less", () => { const lines = summarize("update_status_report", { statusReportId: 10, pageComponentIds: [], }); const components = line(lines, "Components"); expect(components.value).toBe("(clear all)"); expect(components.ref).toBeUndefined(); });});