summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts2
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts24
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts5
3 files changed, 31 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts
new file mode 100644
index 0000000000..5513f2ede3
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts
@@ -0,0 +1,2 @@
+export * from './navigation-object-model';
+export * from './selectors';
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts
new file mode 100644
index 0000000000..3234905965
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts
@@ -0,0 +1,24 @@
+import { Page } from 'playwright';
+
+import { TestUtils } from '../../utils';
+import { createSelectors } from './selectors';
+
+export class NavigationObjectModel {
+ readonly navigationSelectors: ReturnType<typeof createSelectors>;
+
+ constructor(
+ protected readonly page: Page,
+ protected readonly utils: TestUtils,
+ ) {
+ this.navigationSelectors = createSelectors(page);
+ }
+
+ async goBack() {
+ await this.navigationSelectors.backButton().click();
+ await this.utils.waitForNextRoute();
+ }
+
+ async gotoRoot() {
+ await this.page.press('body', 'Shift+Escape');
+ }
+}
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts
new file mode 100644
index 0000000000..027b6f3018
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts
@@ -0,0 +1,5 @@
+import { Page } from 'playwright';
+
+export const createSelectors = (page: Page) => ({
+ backButton: () => page.getByRole('button', { name: /(Back|Close)/ }),
+});