37 lines · 1.0 KB · TypeScript
RawDownload
import { describe, expect, it } from "vite-plus/test"; import { formatDuration, formatElapsed } from "./orchestrationTiming.ts"; describe("formatDuration", () => {  it.each([    [0, "1ms"],    [250, "250ms"],    [1_500, "1.5s"],    [9_950, "10s"],    [22_000, "22s"],    [60_000, "1m"],    [65_000, "1m 5s"],    [119_500, "2m"],    [3_599_499, "59m 59s"],    [3_599_500, "1h"],    [3_600_000, "1h"],    [3_601_000, "1h 1s"],    [3_660_000, "1h 1m"],    [3_661_000, "1h 1m 1s"],    [7_199_500, "2h"],    [25_190_000, "6h 59m 50s"],    [90_061_000, "25h 1m 1s"],  ])("formats %d ms as %s", (durationMs, expected) => {    expect(formatDuration(durationMs)).toBe(expected);  });   it.each([-1, NaN, Infinity, -Infinity])("handles invalid durations: %s", (durationMs) => {    expect(formatDuration(durationMs)).toBe("0ms");  });}); describe("formatElapsed", () => {  it("formats a long run across midnight", () => {    expect(formatElapsed("2026-09-03T22:00:00Z", "2026-09-04T04:59:50Z")).toBe("6h 59m 50s");  });});