summaryrefslogtreecommitdiffhomepage
path: root/desktop
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-05-19 14:34:31 +0200
committerOliver <oliver@mohlin.dev>2025-05-19 14:47:22 +0200
commite52d33df6e0d20afb142df93c86667f0ae686ebc (patch)
tree49fd817478824aa6277f3eb2fccee1feec445304 /desktop
parente3d13ea00faf484fdf4f8bc6e4e4d92215f1671d (diff)
downloadmullvadvpn-e52d33df6e0d20afb142df93c86667f0ae686ebc.tar.xz
mullvadvpn-e52d33df6e0d20afb142df93c86667f0ae686ebc.zip
Add main route object model
Diffstat (limited to 'desktop')
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/index.ts2
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/main-route-object-model.ts26
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/selectors.ts5
3 files changed, 33 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/index.ts
new file mode 100644
index 0000000000..76ae9779b2
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/index.ts
@@ -0,0 +1,2 @@
+export * from './main-route-object-model';
+export * from './selectors';
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/main-route-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/main-route-object-model.ts
new file mode 100644
index 0000000000..486199806c
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/main-route-object-model.ts
@@ -0,0 +1,26 @@
+import { Page } from 'playwright';
+
+import { RoutePath } from '../../../../src/renderer/lib/routes';
+import { MockedTestUtils } from '../../mocked/mocked-utils';
+import { createSelectors } from './selectors';
+
+export class MainRouteObjectModel {
+ readonly page: Page;
+ readonly utils: MockedTestUtils;
+ readonly selectors: ReturnType<typeof createSelectors>;
+
+ constructor(page: Page, util: MockedTestUtils) {
+ this.page = page;
+ this.utils = util;
+ this.selectors = createSelectors(page);
+ }
+
+ async waitForRoute() {
+ await this.utils.waitForRoute(RoutePath.main);
+ }
+
+ async gotoSettings() {
+ await this.selectors.settingsButton().click();
+ await this.utils.waitForRoute(RoutePath.settings);
+ }
+}
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/selectors.ts
new file mode 100644
index 0000000000..a2f120a4ef
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/main/selectors.ts
@@ -0,0 +1,5 @@
+import { Page } from 'playwright';
+
+export const createSelectors = (page: Page) => ({
+ settingsButton: () => page.locator('button[aria-label="Settings"]'),
+});