import { describe, expect, test } from "vitest"; import { InteractiveMode } from "../src/modes/interactive/interactive-mode.js"; type WorkingDurationFormatter = { formatWorkingElapsed(elapsedMs: number): string; }; const formatWorkingElapsed = (InteractiveMode.prototype as unknown as WorkingDurationFormatter).formatWorkingElapsed; describe("working duration", () => { test.each([ [59_999, "59s"], [60_000, "1m 00s"], [3_599_999, "59m 59s"], [3_600_000, "1h 00m 00s"], [86_399_999, "23h 59m 59s"], [86_400_000, "1d 00h 00m 00s"], [(1_543 * 60 + 49) * 1_000, "1d 01h 43m 49s"], ])("formats %dms as %s", (elapsedMs, expected) => { expect(formatWorkingElapsed(elapsedMs)).toBe(expected); }); });