import type { Page } from "@playwright/test";

export class MyProfilePage {
  private page: Page;
  constructor(page: Page) {
    this.page = page;
  }

  async goto() {
    await this.page.goto("/user-management/profile");
  }

  get heading() {
    return this.page.getByRole("heading", { name: /my profile/i });
  }

  get nameField() {
    return this.page.getByText(/name/i).first();
  }

  get emailField() {
    return this.page.getByText(/email/i).first();
  }

  get statusField() {
    return this.page.getByText(/status/i).first();
  }

  get rolesField() {
    return this.page.locator("main").getByText(/assigned roles/i);
  }

  get editButton() {
    return this.page.getByRole("button", { name: /edit profile/i });
  }

  get signOutButton() {
    return this.page.getByRole("button", { name: /sign out/i });
  }
}
