diff options
| author | Oskar <oskar@mullvad.net> | 2025-08-21 16:40:48 +0200 |
|---|---|---|
| committer | Oskar <oskar@mullvad.net> | 2025-08-26 13:12:21 +0200 |
| commit | 451980c9a5f72c2a062e4ad02f015515917c8115 (patch) | |
| tree | 08bb00309beda6b3bb56d33c3099c8e4e47ffd37 | |
| parent | abd2ea7779186abe7d1027c404b0bc4d9bced5ac (diff) | |
| download | mullvadvpn-451980c9a5f72c2a062e4ad02f015515917c8115.tar.xz mullvadvpn-451980c9a5f72c2a062e4ad02f015515917c8115.zip | |
Add navigation object model for tests
3 files changed, 31 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts new file mode 100644 index 0000000000..5513f2ede3 --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/index.ts @@ -0,0 +1,2 @@ +export * from './navigation-object-model'; +export * from './selectors'; diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts new file mode 100644 index 0000000000..3234905965 --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/navigation-object-model.ts @@ -0,0 +1,24 @@ +import { Page } from 'playwright'; + +import { TestUtils } from '../../utils'; +import { createSelectors } from './selectors'; + +export class NavigationObjectModel { + readonly navigationSelectors: ReturnType<typeof createSelectors>; + + constructor( + protected readonly page: Page, + protected readonly utils: TestUtils, + ) { + this.navigationSelectors = createSelectors(page); + } + + async goBack() { + await this.navigationSelectors.backButton().click(); + await this.utils.waitForNextRoute(); + } + + async gotoRoot() { + await this.page.press('body', 'Shift+Escape'); + } +} diff --git a/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts new file mode 100644 index 0000000000..027b6f3018 --- /dev/null +++ b/desktop/packages/mullvad-vpn/test/e2e/route-object-models/navigation/selectors.ts @@ -0,0 +1,5 @@ +import { Page } from 'playwright'; + +export const createSelectors = (page: Page) => ({ + backButton: () => page.getByRole('button', { name: /(Back|Close)/ }), +}); |
