import { describe, expect, it } from "bun:test"; import { createPressureTrendDemoEnvelopePayload, createPressureTrendDemoToolCall, isPressureTrendDemoPrompt, } from "../../src/routes/pressureTrendDemo.js"; describe("pressure trend demo", () => { it("matches the controlled demo prompt", () => { expect(isPressureTrendDemoPrompt("展示最近压力趋势")).toBe(true); expect(isPressureTrendDemoPrompt("请 展示 最近 压力 趋势")).toBe(true); expect(isPressureTrendDemoPrompt("展示最近流量趋势")).toBe(false); }); it("creates a show_chart tool call that maps to a chart UIEnvelope", () => { const toolCall = createPressureTrendDemoToolCall(); const payload = createPressureTrendDemoEnvelopePayload("client-session-1", toolCall); expect(toolCall.tool).toBe("show_chart"); expect(payload).toMatchObject({ session_id: "client-session-1", envelope: { kind: "chart", schemaVersion: "agent-ui@1", grammar: "echarts-safe-subset", surface: "chat_inline", spec: { title: "最近压力趋势", chart_type: "line", }, data: { x_data: ["10:00", "11:00", "12:00", "13:00", "14:00", "15:00"], }, }, }); }); });