summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-11-04 12:33:07 +0100
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-11-04 12:33:07 +0100
commit283187a6d46a025fa0c2b35ffddb461b82db2d58 (patch)
treecb049b3599a4063c8f711544f9159a8b9c2abc8f
parentd7b8059e7ffee1826b8a4d7647b892442cbc8b2c (diff)
parentb3ccdff786549234ad7881401217a83464402b2d (diff)
downloadmullvadvpn-283187a6d46a025fa0c2b35ffddb461b82db2d58.tar.xz
mullvadvpn-283187a6d46a025fa0c2b35ffddb461b82db2d58.zip
Merge branch 'update-e2e-tests-for-app-update-view-des-2674'
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/mocked/app-upgrade/app-upgrade.spec.ts67
1 files changed, 67 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/mocked/app-upgrade/app-upgrade.spec.ts b/desktop/packages/mullvad-vpn/test/e2e/mocked/app-upgrade/app-upgrade.spec.ts
index cb5120cede..dd7e841318 100644
--- a/desktop/packages/mullvad-vpn/test/e2e/mocked/app-upgrade/app-upgrade.spec.ts
+++ b/desktop/packages/mullvad-vpn/test/e2e/mocked/app-upgrade/app-upgrade.spec.ts
@@ -265,4 +265,71 @@ test.describe('App upgrade', () => {
await expect(resumeButton).toBeHidden();
});
});
+
+ // NOTE: "Release halting" means that a release was made unavailable after it has been published,
+ // likely due to a bug being detected after the release was published.
+ //
+ // When a release is halted it is no longer promoted in the app as a suggested upgrade.
+ test.describe('Should handle release halting', () => {
+ test.afterAll(() => restart());
+
+ const releaseHalt = async () => {
+ // Simulate release being halted
+ await util.ipc.upgradeVersion[''].notify({
+ supported: true,
+ suggestedIsBeta: false,
+ suggestedUpgrade: undefined,
+ });
+ };
+
+ const releaseResume = async () => {
+ // Simulate release being resumed
+ await util.ipc.upgradeVersion[''].notify({
+ supported: true,
+ suggestedIsBeta: false,
+ suggestedUpgrade: {
+ changelog: mockData.changelog,
+ version: mockData.version,
+ },
+ });
+ };
+
+ test('Should handle release being halted and resumed before upgrade started', async () => {
+ await releaseHalt();
+
+ await expect(page.getByText('You are using the latest version')).toBeVisible();
+ await expect(page.getByText('Latest version: 2000.1')).toBeVisible();
+
+ const downloadAndLaunchInstallerButton = selectors.downloadAndLaunchInstallerButton();
+ await expect(downloadAndLaunchInstallerButton).toBeVisible();
+ await expect(downloadAndLaunchInstallerButton).toBeDisabled();
+
+ await releaseResume();
+ await expect(downloadAndLaunchInstallerButton).toBeEnabled();
+ });
+
+ test('Should handle release being halted and resumed after upgrade started', async () => {
+ await helpers.startAppUpgrade();
+
+ await upgradeEventIpc.send.appUpgradeEventDownloadProgress({
+ progress: 10,
+ server: 'cdn.mullvad.net',
+ timeLeft: 120,
+ });
+
+ await releaseHalt();
+
+ await expect(page.getByText('You are using the latest version')).toBeVisible();
+ await expect(page.getByText('Latest version: 2000.1')).toBeVisible();
+
+ const downloadAndLaunchInstallerButton = selectors.downloadAndLaunchInstallerButton();
+ await expect(downloadAndLaunchInstallerButton).toBeVisible();
+ await expect(downloadAndLaunchInstallerButton).toBeDisabled();
+
+ await releaseResume();
+
+ // User should now be able to restart the upgrade
+ await helpers.startAppUpgrade();
+ });
+ });
});