{t(failCopyKeys(job, "body"))}
diff --git a/frontend/src/components/downloadRow.dom.test.tsx b/frontend/src/components/downloadRow.dom.test.tsx index 7ef2ba2e..39df6c0c 100644 --- a/frontend/src/components/downloadRow.dom.test.tsx +++ b/frontend/src/components/downloadRow.dom.test.tsx @@ -292,3 +292,27 @@ describe("DownloadRow · no picture", () => { expect(container.querySelector("svg.lucide-film")).not.toBeNull(); }); }); + +// The phone-safe conversion reports ffmpeg's real progress, so it gets the % bar a download has; +// a yt-dlp post-step reports none and keeps the pulse. +describe("DownloadRow · a running conversion", () => { + const running = (phase: string): DownloadJob => ({ + ...baseJob, + status: "running", + progress: 40, + phase, + }); + + it("shows its phase and its %", () => { + const { container } = render(