import { describe, expect, it } from "vitest"; import { formatRecordingTime, getMediaAssetUrl, pickBitrate } from "./media"; describe("media utilities", () => { it("formats recording time with minute and second padding", () => { expect(formatRecordingTime(0)).toBe("00:00"); expect(formatRecordingTime(61_000)).toBe("01:01"); expect(formatRecordingTime(12 * 60_000 + 9_000)).toBe("12:09"); }); it("selects bitrates by preset and device class", () => { expect(pickBitrate("economy", true)).toBe(1_000_000); expect(pickBitrate("clarity", false)).toBe(2_500_000); expect(pickBitrate("balanced", true)).toBe(1_400_000); expect(pickBitrate("balanced", false)).toBe(1_900_000); }); it("keeps already-prefixed media asset paths stable", () => { expect(getMediaAssetUrl("/media/assets/sessions/demo/preview.webm")).toBe( "/media/assets/sessions/demo/preview.webm" ); expect(getMediaAssetUrl("https://cdn.example.com/demo.webm")).toBe( "https://cdn.example.com/demo.webm" ); expect(getMediaAssetUrl("/assets/sessions/demo/preview.webm")).toBe( "/media/assets/sessions/demo/preview.webm" ); }); });