Files
next-tjwater-agent/tests/mcp/calculationProgress.test.ts
T

17 lines
1.2 KiB
TypeScript

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("已执行完成");
});