redoc/playwright/page-objects/Menu.ts
Alex Varchuk 10400113fb
feat: initialize release candidate for v3.0.0
Co-authored-by: Roman Hotsiy <gotsijroman@gmail.com>
Co-authored-by: Alex Varchuk <olexandr.varchuk@gmail.com>
Co-authored-by: Oprysk Vyacheslav <vyacheslav@redocly.com>
Co-authored-by: Ivan Kropyvnytskyi <130547411+ivankropyvnytskyi@users.noreply.github.com>
Co-authored-by: Yevhen Pylyp <yevhen.pylyp@redocly.com>
Co-authored-by: Vladyslav Makarenko <vladyslav.makarenko@redocly.com>
Co-authored-by: Yevhenii Medviediev <yevhenii.medviediev@redocly.com>
Co-authored-by: Oleksii Horbachevskyi <oleksii.horbachevskyi@redocly.com>
Co-authored-by: volodymyr-rutskyi <rutskyi.v@gmail.com>
Co-authored-by: Adam Altman <adam@redoc.ly>
Co-authored-by: Andrew Tatomyr <andrew.tatomyr@redocly.com>
Co-authored-by: Anastasiia Derymarko <anastasiia@redocly.com>
Co-authored-by: Roman Marshevskyy <roman.marshevskyy@redoc.ly>
Co-authored-by: Lorna Mitchell <lorna.mitchell@redocly.com>
Co-authored-by: Taylor Krusen <taylor.krusen@redocly.com>
2025-10-24 17:55:59 +02:00

26 lines
646 B
TypeScript

import { type Page, expect } from '@playwright/test';
import { clickThroughMenu } from './click-through-menu.js';
export default class Menu {
readonly page: Page;
constructor(page) {
this.page = page;
}
async verifyAllMenuItemsHaveHref() {
const menuItems = this.page.locator('[data-component-name="Menu/MenuItem"] > a');
const count = await menuItems.count();
for (let i = 0; i < count; i++) {
const item = menuItems.nth(i);
await expect(item).toHaveAttribute('href', /.+/);
}
return menuItems;
}
clickThroughMenu(...paths: string[]) {
return clickThroughMenu(this.page, ...paths);
}
}