diff options
| author | Oliver <oliver@mohlin.dev> | 2025-05-19 14:34:46 +0200 |
|---|---|---|
| committer | Oliver <oliver@mohlin.dev> | 2025-05-19 14:47:22 +0200 |
| commit | 575a5d8d174eb4e4f40d54aef9144b3cb63e60bf (patch) | |
| tree | 57bfbbfef3d299543eefe84f965b9b8ab877ad30 | |
| parent | 382fcd25e4ed7aa161f380880f9d0f825516ccad (diff) | |
| download | mullvadvpn-575a5d8d174eb4e4f40d54aef9144b3cb63e60bf.tar.xz mullvadvpn-575a5d8d174eb4e4f40d54aef9144b3cb63e60bf.zip | |
Add settings route object model
3 files changed, 29 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/index.ts new file mode 100644 index 0000000000..a55f3bc0dd --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/index.ts @@ -0,0 +1,2 @@ +export * from './settings-route-object-model'; +export * from './selectors'; diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/selectors.ts new file mode 100644 index 0000000000..42c17ea53f --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/selectors.ts @@ -0,0 +1,5 @@ +import { Page } from 'playwright'; + +export const createSelectors = (page: Page) => ({ + userInterfaceButton: () => page.getByRole('button', { name: 'User interface settings' }), +}); diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/settings-route-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/settings-route-object-model.ts new file mode 100644 index 0000000000..903d16784c --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/settings/settings-route-object-model.ts @@ -0,0 +1,22 @@ +import { Page } from 'playwright'; + +import { RoutePath } from '../../../../src/renderer/lib/routes'; +import { MockedTestUtils } from '../../mocked/mocked-utils'; +import { createSelectors } from './selectors'; + +export class SettingsRouteObjectModel { + readonly page: Page; + readonly utils: MockedTestUtils; + readonly selectors: ReturnType<typeof createSelectors>; + + constructor(page: Page, utils: MockedTestUtils) { + this.page = page; + this.utils = utils; + this.selectors = createSelectors(page); + } + + async gotoUserInterfaceSettings() { + await this.selectors.userInterfaceButton().click(); + await this.utils.waitForRoute(RoutePath.userInterfaceSettings); + } +} |
