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