diff --git a/apps/desktop/src/components/layout/UpdateDialog.spec.ts b/apps/desktop/src/components/layout/UpdateDialog.spec.ts index f8a0d8c5c..d6499c860 100644 --- a/apps/desktop/src/components/layout/UpdateDialog.spec.ts +++ b/apps/desktop/src/components/layout/UpdateDialog.spec.ts @@ -172,6 +172,19 @@ describe("UpdateDialog active task guard", () => { }); }); +describe("UpdateDialog download progress", () => { + it("keeps the downloading button at a fixed width as progress changes", async () => { + const { state } = await mountDialog(0, { isDownloadingUpdate: true, downloadProgress: 9 }); + + expect(buttonWithText("Downloading 9%")?.classList.contains("w-52")).toBe(true); + + state.downloadProgress = 100; + await flushDialog(); + + expect(buttonWithText("Downloading 100%")?.classList.contains("w-52")).toBe(true); + }); +}); + describe("UpdateDialog close protection", () => { it("cancels the background download when the close button is clicked", async () => { const { state, cancelDownload } = await mountDialog(0, { isDownloadingUpdate: true, downloadProgress: 42 }); diff --git a/apps/desktop/src/components/layout/UpdateDialog.vue b/apps/desktop/src/components/layout/UpdateDialog.vue index 3c547cb9a..b2d2c241c 100644 --- a/apps/desktop/src/components/layout/UpdateDialog.vue +++ b/apps/desktop/src/components/layout/UpdateDialog.vue @@ -144,7 +144,7 @@ watch( {{ t("updates.installing") }} -