import { Page, Locator, expect } from "@playwright/test"; import { BasePage } from "../base-page"; export class InvitationsPage extends BasePage { // Page heading readonly pageHeadingSendInvitation: Locator; readonly pageHeadingInvitations: Locator; // UI elements readonly sendInviteButton: Locator; readonly inviteButton: Locator; readonly emailInput: Locator; readonly roleSelect: Locator; // Invitation details readonly reviewInvitationDetailsButton: Locator; readonly shareUrl: Locator; constructor(page: Page) { super(page); // Page heading this.pageHeadingInvitations = page.getByRole("heading", { name: "Invitations", }); this.pageHeadingSendInvitation = page.getByRole("heading", { name: "Send Invitation", }); // Button to invite a new user this.inviteButton = page.getByRole("link", { name: "Send Invitation", exact: true, }); this.sendInviteButton = page.getByRole("button", { name: "Send Invitation", exact: true, }); // Form inputs this.emailInput = page.getByRole("textbox", { name: "Email" }); // Form select (Radix Select renders