Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
63 lines
3.3 KiB
TypeScript
63 lines
3.3 KiB
TypeScript
import { Locator, Page } from '@playwright/test'
|
|
|
|
export class MainMenu {
|
|
readonly mainMenuButton: Locator
|
|
readonly buttons: { [key: string]: Locator }
|
|
readonly subMenus: { [key: string]: Locator[] }
|
|
constructor(public readonly page: Page) {
|
|
this.page = page
|
|
this.mainMenuButton = this.page.getByTestId('main-menu.button')
|
|
this.buttons = {
|
|
edit: this.page.getByRole('menuitem').getByText('Edit'),
|
|
object: this.page.getByRole('menuitem').getByText('Object'),
|
|
view: this.page.getByRole('menuitem').getByText('View'),
|
|
insertEmbed: this.page.getByRole('menuitem').getByText('Insert Embed'),
|
|
uploadMedia: this.page.getByRole('menuitem').getByText('Upload Media'),
|
|
preferences: this.page.getByRole('menuitem').getByText('Preferences'),
|
|
}
|
|
this.subMenus = {
|
|
editSubmenu: [
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Undo'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Redo'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Cut'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Copy'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Copy as'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Duplicate'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Paste'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Delete'),
|
|
this.page.getByTestId('main-menu-sub.edit-content').getByText('Select all'),
|
|
],
|
|
objectSubmenu: [
|
|
this.page.getByRole('menuitem').getByText('Export as'),
|
|
this.page.getByRole('menuitem').getByText('Group'),
|
|
this.page.getByRole('menuitem').getByText('Ungroup'),
|
|
this.page.getByRole('menuitem').getByText('Remove frame'),
|
|
this.page.getByRole('menuitem').getByText('Fit to content'),
|
|
this.page.getByRole('menuitem').getByText('Toggle auto size'),
|
|
this.page.getByRole('menuitem').getByText('Edit link'),
|
|
this.page.getByRole('menuitem').getByText('Convert to Bookmark'),
|
|
this.page.getByRole('menuitem').getByText('Convert to Embed'),
|
|
this.page.getByRole('menuitem').getByText('Toggle locked'),
|
|
this.page.getByRole('menuitem').getByText('Unlock all'),
|
|
],
|
|
viewSubmenu: [
|
|
this.page.getByTestId('main-menu-sub.view-content').getByText('Zoom in'),
|
|
this.page.getByTestId('main-menu-sub.view-content').getByText('Zoom out'),
|
|
this.page.getByTestId('main-menu-sub.view-content').getByText('Zoom to 100%'),
|
|
this.page.getByTestId('main-menu-sub.view-content').getByText('Zoom to fit'),
|
|
this.page.getByTestId('main-menu-sub.view-content').getByText('Zoom to selection'),
|
|
],
|
|
preferencesSubmenu: [
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Always snap'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Tool lock'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Show grid'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Dark mode'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Focus mode'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Edge scrolling'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Reduce motion'),
|
|
this.page.getByTestId('main-menu-sub.preferences-content').getByText('Language'),
|
|
],
|
|
}
|
|
}
|
|
}
|