summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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);
+});