summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-07-29 13:48:48 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-07-31 13:23:05 +0200
commite7f34dcfa1a0232c93e36666eafe7e8505dc05e5 (patch)
treeab0bb01dbee1d79e90eb7123d0b176d5dc3bd6c2
parent622857dba59b3668647634d7a4464a695ae8d470 (diff)
downloadmullvadvpn-e7f34dcfa1a0232c93e36666eafe7e8505dc05e5.tar.xz
mullvadvpn-e7f34dcfa1a0232c93e36666eafe7e8505dc05e5.zip
Add daita settings route object model
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/daita-settings-route-object-model.ts29
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/index.ts1
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/selectors.ts5
3 files changed, 35 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/daita-settings-route-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/daita-settings-route-object-model.ts
new file mode 100644
index 0000000000..ba9b73a019
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/daita-settings-route-object-model.ts
@@ -0,0 +1,29 @@
+import { Page } from 'playwright';
+
+import { TestUtils } from '../../utils';
+import { createSelectors } from './selectors';
+
+export class DaitaSettingsRouteObjectModel {
+ readonly page: Page;
+ readonly utils: TestUtils;
+ readonly selectors: ReturnType<typeof createSelectors>;
+
+ constructor(page: Page, utils: TestUtils) {
+ this.page = page;
+ this.utils = utils;
+ this.selectors = createSelectors(page);
+ }
+
+ getEnableDaitaSwitch() {
+ return this.selectors.enableDaitaSwitch();
+ }
+
+ async setEnableDaitaSwitch(enabled: boolean) {
+ const enableDaitaSwitch = this.selectors.enableDaitaSwitch();
+ const ariaChecked = await enableDaitaSwitch.getAttribute('aria-checked');
+
+ if ((enabled && ariaChecked === 'false') || (!enabled && ariaChecked === 'true')) {
+ await enableDaitaSwitch.click();
+ }
+ }
+}
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/index.ts
new file mode 100644
index 0000000000..458dc4cafc
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/index.ts
@@ -0,0 +1 @@
+export * from './daita-settings-route-object-model';
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/selectors.ts
new file mode 100644
index 0000000000..4c8f8c51bd
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/daita-settings/selectors.ts
@@ -0,0 +1,5 @@
+import { Page } from 'playwright';
+
+export const createSelectors = (page: Page) => ({
+ enableDaitaSwitch: () => page.getByLabel('Enable'),
+});