import { describe, expect, it } from "vitest"; import { engineRunStatus } from "./labels.ts"; describe("任务行状态", () => { const agent = (outcome: string | null) => ({ kind: "agent" as const, refId: "r1", title: null, triggeredBy: null, outcome, }); it("引擎跑完但智能体会话超出预算 / 失败:显示业务结果,不显示「完成」", () => { expect(engineRunStatus({ status: "completed", business: agent("budget_exceeded") })).toEqual({ label: "超出预算", tone: "warning", }); expect(engineRunStatus({ status: "completed", business: agent("failed") }).label).toBe("失败"); expect(engineRunStatus({ status: "completed", business: agent("succeeded") }).label).toBe("完成"); }); it("引擎自身失败 / 进行中照旧;没有业务对象照旧", () => { expect(engineRunStatus({ status: "failed", business: agent("budget_exceeded") }).label).toBe("失败"); expect(engineRunStatus({ status: "running", business: agent("running") }).label).toBe("进行中"); expect(engineRunStatus({ status: "completed", business: null }).label).toBe("完成"); }); });