chat-ui / src /lib /utils /toolProgress.spec.ts
shaun smith
MCP Tool Progress Notifications and MCP SDK bump. (#2030)
cc316dd unverified
import { describe, expect, test } from "vitest";
import { MessageToolUpdateType, MessageUpdateType } from "$lib/types/MessageUpdate";
import { formatToolProgressLabel } from "./toolProgress";
describe("formatToolProgressLabel", () => {
test("returns empty string when progress is missing", () => {
expect(formatToolProgressLabel(undefined)).toBe("");
});
test("formats progress with message", () => {
expect(
formatToolProgressLabel({
type: MessageUpdateType.Tool,
subtype: MessageToolUpdateType.Progress,
uuid: "tool-1",
progress: 3,
total: 10,
message: "Indexing",
})
).toBe("Indexing (3/10)");
});
test("formats progress without message", () => {
expect(
formatToolProgressLabel({
type: MessageUpdateType.Tool,
subtype: MessageToolUpdateType.Progress,
uuid: "tool-2",
progress: 7,
})
).toBe("Progress: 7");
});
test("formats progress with message and no total", () => {
expect(
formatToolProgressLabel({
type: MessageUpdateType.Tool,
subtype: MessageToolUpdateType.Progress,
uuid: "tool-3",
progress: 12,
message: "ZeroGPU Initializing xxx",
})
).toBe("ZeroGPU Initializing xxx (12)");
});
});