diff options
| author | Tobias Järvelöv <tobias.jarvelov@mullvad.net> | 2025-11-04 12:33:07 +0100 |
|---|---|---|
| committer | Tobias Järvelöv <tobias.jarvelov@mullvad.net> | 2025-11-04 12:33:07 +0100 |
| commit | 283187a6d46a025fa0c2b35ffddb461b82db2d58 (patch) | |
| tree | cb049b3599a4063c8f711544f9159a8b9c2abc8f | |
| parent | d7b8059e7ffee1826b8a4d7647b892442cbc8b2c (diff) | |
| parent | b3ccdff786549234ad7881401217a83464402b2d (diff) | |
| download | mullvadvpn-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.ts | 67 |
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(); + }); + }); }); |
