summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2023-04-19 11:06:15 +0200
committerOskar Nyberg <oskar@mullvad.net>2023-04-19 11:06:15 +0200
commit88a193b71cf8f15867d92829c00ae2d7eb470e59 (patch)
treee5cb15102a45016d0d3128a22bcb92aa2240f879
parentdac8245e69662babddb13420af6512f584e1e56b (diff)
parent8705777386e1f3e3e03451b33b3f91340ff87ad8 (diff)
downloadmullvadvpn-88a193b71cf8f15867d92829c00ae2d7eb470e59.tar.xz
mullvadvpn-88a193b71cf8f15867d92829c00ae2d7eb470e59.zip
Merge branch 'create-gui-test-for-revoked-device-des-76'
-rw-r--r--gui/src/renderer/components/DeviceRevokedView.tsx2
-rw-r--r--gui/test/e2e/installed/state-dependent/device-revoked.spec.ts29
2 files changed, 30 insertions, 1 deletions
diff --git a/gui/src/renderer/components/DeviceRevokedView.tsx b/gui/src/renderer/components/DeviceRevokedView.tsx
index f12bbbf9ff..3246952335 100644
--- a/gui/src/renderer/components/DeviceRevokedView.tsx
+++ b/gui/src/renderer/components/DeviceRevokedView.tsx
@@ -66,7 +66,7 @@ export function DeviceRevokedView() {
<StyledStatusIcon>
<ImageView source="icon-fail" height={60} width={60} />
</StyledStatusIcon>
- <StyledTitle>
+ <StyledTitle data-testid="title">
{messages.pgettext('device-management', 'Device is inactive')}
</StyledTitle>
<StyledMessage>
diff --git a/gui/test/e2e/installed/state-dependent/device-revoked.spec.ts b/gui/test/e2e/installed/state-dependent/device-revoked.spec.ts
new file mode 100644
index 0000000000..22aa30b3d5
--- /dev/null
+++ b/gui/test/e2e/installed/state-dependent/device-revoked.spec.ts
@@ -0,0 +1,29 @@
+import { expect, test } from '@playwright/test';
+import { Page } from 'playwright';
+import { RoutePath } from '../../../../src/renderer/lib/routes';
+import { TestUtils } from '../../utils';
+
+import { startInstalledApp } from '../installed-utils';
+
+// This test expects the daemon to be logged in to a revoked device.
+
+let page: Page;
+let util: TestUtils;
+
+test.beforeAll(async () => {
+ ({ page, util } = await startInstalledApp());
+});
+
+test.afterAll(async () => {
+ await page.close();
+});
+
+test('App should fail to login', async () => {
+ expect(await util.currentRoute()).toEqual(RoutePath.deviceRevoked);
+
+ await expect(page.getByTestId('title')).toHaveText('Device is inactive');
+
+ expect(await util.waitForNavigation(() => {
+ page.getByText('Go to login').click();
+ })).toEqual(RoutePath.login);
+});