import type { Locator } from '@playwright/test'; import { expect, type Page } from '@playwright/test'; export const expectTextToBeVisible = async (page: Page, text: string) => { await expect(page.getByText(text).first()).toBeVisible(); }; export const expectTextToNotBeVisible = async (page: Page, text: string) => { await expect(page.getByText(text).first()).not.toBeVisible(); }; export const expectToastTextToBeVisible = async (page: Page, text: string) => { await expect(page.locator('[role="status"]').getByText(text)).toBeVisible(); }; export const openDropdownMenu = async (page: Page, dropdownButton: Locator) => { await page.waitForTimeout(500); // Initial timeout incase table remounts which will close the dropdown. await dropdownButton.focus(); await page.keyboard.press('Enter'); await page.waitForTimeout(500); await page.keyboard.press('Escape'); await page.waitForTimeout(500); await dropdownButton.focus(); await page.keyboard.press('Enter'); await expect(page.getByRole('menuitem').first()).toBeVisible(); };