Files
wehub-resource-sync 070959e133
landing-page-staging / Deploy landing page to staging (push) Has been skipped
landing-page-ci / Validate landing page (push) Failing after 4s
visual-baseline / Capture visual baselines (push) Has been cancelled
bake-plugin-previews / Bake plugin previews (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:00:47 +08:00

38 lines
1.4 KiB
TypeScript

import { expect } from '@playwright/test';
import type { Page } from '@playwright/test';
export async function openAllProjectFiles(page: Page): Promise<void> {
const trigger = page.getByTestId('workspace-pages-menu-trigger');
await expect(trigger).toBeVisible();
await trigger.click();
const menu = page.getByTestId('workspace-pages-menu');
await expect(menu).toBeVisible();
await menu.getByRole('menuitem', { name: /All project files/i }).click();
await expectAllProjectFilesActive(page);
}
export async function expectAllProjectFilesActive(page: Page): Promise<void> {
await expect(page.getByTestId('workspace-pages-menu-trigger')).toContainText('All project files');
}
export async function expectAllProjectFilesInactive(page: Page): Promise<void> {
await expect(page.getByTestId('workspace-pages-menu-trigger')).not.toContainText('All project files');
}
export async function clickDeckNextSlide(page: Page): Promise<void> {
await revealDeckNavigation(page);
await page.getByLabel('Next slide').click();
}
export async function clickDeckPreviousSlide(page: Page): Promise<void> {
await revealDeckNavigation(page);
await page.getByLabel('Previous slide').click();
}
async function revealDeckNavigation(page: Page): Promise<void> {
const canvas = page.getByTestId('comment-preview-canvas');
if (await canvas.isVisible().catch(() => false)) {
await canvas.hover();
}
}