import { Page, test, expect } from "@playwright/test"; export class AccessControlPage { private readonly accessControlUrl = 'http://localhost:3000/acls' private readonly defaulAccessControl = this.page.getByRole('cell', { name: 'Default' }) private readonly deleteButton = this.page.getByRole('button', { name: 'Delete' }) private readonly deleteModal = this.page.getByTestId('confirm-delete-modal-title') private readonly confirmButton = this.page.getByRole('button', { name: 'OK' }) private readonly addRulesButton = this.page.getByTestId('add-rule-empty-state-button') constructor(private readonly page: Page) {} async openAccessControlPage() { await test.step('Open Access Control page', async () => { await this.page.goto(this.accessControlUrl); }) } async assertDefaultAccessCotrolIsCreated() { await test.step('Assert that default control access is created', async () => { await expect(this.defaulAccessControl).toBeVisible(); }) } async pressDeleteButton() { await test.step('Press delete button', async () => { await this.deleteButton.click(); }) } async assertDeleteModalIsVisibile() { await test.step('Assert access control deletion modal is visible', async () => { await expect(this.deleteModal).toBeVisible(); }) } async pressConfirmButton() { await test.step('Press confirm button on access control deletion modal', async () => { await this.confirmButton.click(); }) } async assertDefaultAccessCotrolIsDeleted() { await test.step('Assert default access control should be deleted', async () => { await expect(this.defaulAccessControl).not.toBeVisible(); }) } async assertAddRuleButtonIsVisile() { await test.step('Assert Add Rules button is visible', async () => { await expect(this.addRulesButton).toBeVisible(); }) } } export default AccessControlPage;