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