2024-06-20 19:19:01 +03:00
|
|
|
/** @file Actions for going to a different page. */
|
|
|
|
import type * as baseActions from './BaseActions'
|
|
|
|
import BaseActions from './BaseActions'
|
|
|
|
import DrivePageActions from './DrivePageActions'
|
|
|
|
import EditorPageActions from './EditorPageActions'
|
|
|
|
import SettingsPageActions from './SettingsPageActions'
|
|
|
|
|
|
|
|
// =======================
|
|
|
|
// === GoToPageActions ===
|
|
|
|
// =======================
|
|
|
|
|
|
|
|
/** Actions for going to a different page. */
|
|
|
|
export interface GoToPageActions {
|
|
|
|
readonly drive: () => DrivePageActions
|
|
|
|
readonly editor: () => EditorPageActions
|
|
|
|
readonly settings: () => SettingsPageActions
|
|
|
|
}
|
|
|
|
|
|
|
|
// =======================
|
|
|
|
// === goToPageActions ===
|
|
|
|
// =======================
|
|
|
|
|
|
|
|
/** Generate actions for going to a different page. */
|
|
|
|
export function goToPageActions(
|
|
|
|
step: (name: string, callback: baseActions.PageCallback) => BaseActions
|
|
|
|
): GoToPageActions {
|
|
|
|
return {
|
|
|
|
drive: () =>
|
|
|
|
step('Go to "Data Catalog" page', page =>
|
|
|
|
page
|
|
|
|
.getByRole('button')
|
|
|
|
.filter({ has: page.getByText('Data Catalog') })
|
|
|
|
.click()
|
|
|
|
).into(DrivePageActions),
|
|
|
|
editor: () =>
|
|
|
|
step('Go to "Spatial Analysis" page', page =>
|
2024-06-24 19:02:22 +03:00
|
|
|
page.getByRole('button').and(page.getByLabel('Spatial Analysis')).click()
|
2024-06-20 19:19:01 +03:00
|
|
|
).into(EditorPageActions),
|
|
|
|
settings: () =>
|
|
|
|
step('Go to "settings" page', page => BaseActions.press(page, 'Mod+,')).into(
|
|
|
|
SettingsPageActions
|
|
|
|
),
|
|
|
|
}
|
|
|
|
}
|