punimtag/e2e/pages/AccountMenu.ts
ilia 47b15049bc
All checks were successful
CI / skip-ci-check (pull_request) Successful in 4s
CI / docker-ci (pull_request) Successful in 6s
CI / secret-scan (pull_request) Successful in 13s
CI / e2e (pull_request) Successful in 2m14s
CI / viewer-unit (pull_request) Successful in 2m38s
Expand e2e auth coverage, Vitest CI, and shared URL defaults
Wire viewer-frontend Vitest into Gitea Actions, centralize DEV base URLs
in env-defaults.json, expand playkit API catalog specs, and land auth/mail
flows plus verify-email public-host redirect and idle-logout e2e hooks.
2026-07-14 18:49:42 -04:00

29 lines
904 B
TypeScript

import { type Page } from '@playwright/test';
import { BasePage, waitForVisible } from '@levkin/playkit';
export class AccountMenu extends BasePage {
constructor(page: Page, baseUrl: string) {
super(page, baseUrl);
}
async openMenu(): Promise<void> {
await this.click(this.page.getByLabel('Account menu'));
await waitForVisible(this.page.getByRole('button', { name: 'Sign out' }));
}
async signOut(): Promise<void> {
await this.openMenu();
await this.click(this.page.getByRole('button', { name: 'Sign out' }));
}
async openManageUsers(): Promise<void> {
await this.openMenu();
await this.click(this.page.getByRole('button', { name: 'Manage Users' }));
await waitForVisible(this.page.getByRole('heading', { name: /Manage Users/i }));
}
async closeManageUsers(): Promise<void> {
await this.click(this.page.getByLabel('Close manage users'));
}
}