diff options
| author | Oliver <oliver@mohlin.dev> | 2025-05-19 14:34:31 +0200 |
|---|---|---|
| committer | Oliver <oliver@mohlin.dev> | 2025-05-19 14:47:22 +0200 |
| commit | e52d33df6e0d20afb142df93c86667f0ae686ebc (patch) | |
| tree | 49fd817478824aa6277f3eb2fccee1feec445304 /desktop | |
| parent | e3d13ea00faf484fdf4f8bc6e4e4d92215f1671d (diff) | |
| download | mullvadvpn-e52d33df6e0d20afb142df93c86667f0ae686ebc.tar.xz mullvadvpn-e52d33df6e0d20afb142df93c86667f0ae686ebc.zip | |
Add main route object model
Diffstat (limited to 'desktop')
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"]'), +}); |
