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