summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-09-12 18:21:10 +0200
committerTobias Järvelöv <tobias.jarvelov@mullvad.net>2025-10-10 13:36:20 +0200
commit36e2755daa1fc1465086ec404f539dc5b4ccfb31 (patch)
tree1f3166ba6ac27cef4b3a0f6d729eeffe8bb7fafb
parentc7ec09404829f9291699e071e6269a0004c5543c (diff)
downloadmullvadvpn-36e2755daa1fc1465086ec404f539dc5b4ccfb31.tar.xz
mullvadvpn-36e2755daa1fc1465086ec404f539dc5b4ccfb31.zip
Add account route object model
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/account-route-object-model.ts22
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/index.ts2
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/selectors.ts5
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/routes-object-model.ts3
4 files changed, 32 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/account-route-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/account-route-object-model.ts
new file mode 100644
index 0000000000..0a3b91be3b
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/account-route-object-model.ts
@@ -0,0 +1,22 @@
+import { Page } from 'playwright';
+
+import { RoutePath } from '../../../../src/shared/routes';
+import { TestUtils } from '../../utils';
+import { createSelectors } from './selectors';
+
+export class AccountRouteObjectModel {
+ readonly page: Page;
+ readonly utils: TestUtils;
+ readonly selectors: ReturnType<typeof createSelectors>;
+
+ constructor(page: Page, util: TestUtils) {
+ this.page = page;
+ this.utils = util;
+ this.selectors = createSelectors(page);
+ }
+
+ async gotoManageDevices() {
+ await this.selectors.manageDevicesButton().click();
+ await this.utils.expectRoute(RoutePath.manageDevices);
+ }
+}
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/index.ts
new file mode 100644
index 0000000000..87606940ca
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/index.ts
@@ -0,0 +1,2 @@
+export * from './account-route-object-model';
+export * from './selectors';
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/selectors.ts
new file mode 100644
index 0000000000..60aafd2d6a
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/account/selectors.ts
@@ -0,0 +1,5 @@
+import { Page } from 'playwright';
+
+export const createSelectors = (page: Page) => ({
+ manageDevicesButton: () => page.getByRole('button', { name: 'Manage devices' }),
+});
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/routes-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/routes-object-model.ts
index 77ec121306..e93faa7097 100644
--- a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/routes-object-model.ts
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/routes-object-model.ts
@@ -1,6 +1,7 @@
import { Page } from 'playwright';
import { TestUtils } from '../utils';
+import { AccountRouteObjectModel } from './account';
import { DaitaSettingsRouteObjectModel } from './daita-settings';
import { DeviceRevokedRouteObjectModel } from './device-revoked';
import { ExpiredRouteObjectModel } from './expired';
@@ -47,6 +48,7 @@ export class RoutesObjectModel {
readonly daitaSettings: DaitaSettingsRouteObjectModel;
readonly splitTunnelingSettings: SplitTunnelingSettingsRouteObjectModel;
readonly shadowsocksSettings: ShadowsocksSettingsRouteObjectModel;
+ readonly account: AccountRouteObjectModel;
constructor(page: Page, utils: TestUtils) {
this.selectLanguage = new SelectLanguageRouteObjectModel(page, utils);
@@ -71,5 +73,6 @@ export class RoutesObjectModel {
this.daitaSettings = new DaitaSettingsRouteObjectModel(page, utils);
this.splitTunnelingSettings = new SplitTunnelingSettingsRouteObjectModel(page, utils);
this.shadowsocksSettings = new ShadowsocksSettingsRouteObjectModel(page, utils);
+ this.account = new AccountRouteObjectModel(page, utils);
}
}