diff options
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)/ }), +}); |
