summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOliver <oliver@mohlin.dev>2025-05-19 14:34:38 +0200
committerOliver <oliver@mohlin.dev>2025-05-19 14:47:22 +0200
commit382fcd25e4ed7aa161f380880f9d0f825516ccad (patch)
treee3c1042598bb5f121ae4d3a782b9be6bf81f003b
parente52d33df6e0d20afb142df93c86667f0ae686ebc (diff)
downloadmullvadvpn-382fcd25e4ed7aa161f380880f9d0f825516ccad.tar.xz
mullvadvpn-382fcd25e4ed7aa161f380880f9d0f825516ccad.zip
Add select language route object model
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/index.ts2
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/select-language-route-object-model.ts20
-rw-r--r--desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/selectors.ts8
3 files changed, 30 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/index.ts
new file mode 100644
index 0000000000..eb354e0d9a
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/index.ts
@@ -0,0 +1,2 @@
+export * from './select-language-route-object-model';
+export * from './selectors';
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/select-language-route-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/select-language-route-object-model.ts
new file mode 100644
index 0000000000..e71505854d
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/select-language-route-object-model.ts
@@ -0,0 +1,20 @@
+import { Page } from 'playwright';
+
+import { MockedTestUtils } from '../../mocked/mocked-utils';
+import { createSelectors } from './selectors';
+
+export class SelectLanguageRouteObjectModel {
+ 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 selectLanguage(language: string) {
+ await this.selectors.languageOption(language).click();
+ }
+}
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/selectors.ts
new file mode 100644
index 0000000000..eb9e86f36a
--- /dev/null
+++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/select-language/selectors.ts
@@ -0,0 +1,8 @@
+import { Page } from 'playwright';
+
+export const createSelectors = (page: Page) => ({
+ languageOption: (language: string) =>
+ page.locator('button', {
+ has: page.locator('div', { hasText: language }),
+ }),
+});