import { expect, it } from "bun:test"; import { buildToolProgressDetail, getToolProgressTitle } from "../../src/routes/chatStreamEvents.js"; it("distinguishes completed submissions from completed calculations", () => { const jobId = "f40ca28d-1ea4-4ed7-8e1a-4cc476e748e8"; const output = (status: string) => JSON.stringify({ semantics: "task", data: { job_id: jobId, status } }); const detail = buildToolProgressDetail("run_burst_location", "completed", {}, "", undefined, output("queued")); expect(detail).toContain("等待计算"); expect(detail).toContain(jobId); expect(detail).not.toContain("已执行完成"); expect(getToolProgressTitle("run_burst_location", "completed", output("running"))).toContain("后台计算中"); expect(getToolProgressTitle("cancel_calculation_job", "completed", output("cancel_requested"))).toContain("等待计算停止"); expect(getToolProgressTitle("get_calculation_job", "completed", output("failed"))).toContain("计算失败"); expect(getToolProgressTitle("query", "completed", "not-json")).toBe("query 已完成"); expect(buildToolProgressDetail("query", "completed", {}, "")).toContain("已执行完成"); });