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)"); }); });