20 lines
828 B
TypeScript
20 lines
828 B
TypeScript
import { describe, expect, it } from "bun:test";
|
|
import { isAlertContextPath, parseAlertContextTraceIdPath } from "../src/alert-context";
|
|
|
|
describe("alert context route helpers", () => {
|
|
it("extracts a valid alert trace id from the context endpoint path", () => {
|
|
expect(parseAlertContextTraceIdPath("/flow/alerts/alert%3Actx%2Fone/context")).toBe(
|
|
"alert:ctx/one"
|
|
);
|
|
});
|
|
|
|
it("returns null for unrelated alert paths", () => {
|
|
expect(isAlertContextPath("/flow/alerts")).toBe(false);
|
|
expect(parseAlertContextTraceIdPath("/flow/alerts/alert:ctx")).toBeNull();
|
|
});
|
|
|
|
it("rejects malformed trace ids safely", () => {
|
|
expect(() => parseAlertContextTraceIdPath("/flow/alerts/%20/context")).toThrow();
|
|
expect(() => parseAlertContextTraceIdPath("/flow/alerts/%24bad/context")).toThrow();
|
|
});
|
|
});
|