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.
2.2 kB ยท 65 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566import { expect } from "@std/expect";import { describe, test } from "@std/testing/bdd";
import { statusPageAlternates } from "./alternates";
describe("statusPageAlternates", () => { test("subdomain, default markdown path โ overview", () => { expect(statusPageAlternates({ slug: "acme" })).toEqual({ canonical: "https://acme.openstatus.dev", types: { "text/markdown": "https://acme.openstatus.dev/.md", "application/json": "https://acme.openstatus.dev/api/status/summary.json", }, }); });
test("custom domain wins over subdomain", () => { expect( statusPageAlternates({ slug: "acme", customDomain: "status.acme.com" }), ).toEqual({ canonical: "https://status.acme.com", types: { "text/markdown": "https://status.acme.com/.md", "application/json": "https://status.acme.com/api/status/summary.json", }, }); });
test("null customDomain falls back to subdomain", () => { expect(statusPageAlternates({ slug: "acme", customDomain: null })).toEqual({ canonical: "https://acme.openstatus.dev", types: { "text/markdown": "https://acme.openstatus.dev/.md", "application/json": "https://acme.openstatus.dev/api/status/summary.json", }, }); });
test("per-page markdown path, subdomain", () => { const result = statusPageAlternates({ slug: "acme", markdownPath: "/monitors/123.md", }); expect(result?.types?.["text/markdown"]).toBe( "https://acme.openstatus.dev/monitors/123.md", ); // canonical and json alternate stay at the page root regardless of md path expect(result?.canonical).toBe("https://acme.openstatus.dev"); expect(result?.types?.["application/json"]).toBe( "https://acme.openstatus.dev/api/status/summary.json", ); });
test("per-page markdown path, custom domain", () => { expect( statusPageAlternates({ slug: "acme", customDomain: "status.acme.com", markdownPath: "/events/report/7.md", })?.types?.["text/markdown"], ).toBe("https://status.acme.com/events/report/7.md"); });});