test: add wait for roles loader to detach

This commit is contained in:
QAComet
2023-11-07 16:17:18 -07:00
committed by Ali BARIN
parent 9f84af95f6
commit 112b05f7ad
2 changed files with 36 additions and 34 deletions

View File

@@ -1,5 +1,5 @@
const { AuthenticatedPage } = require('../authenticated-page'); const { AuthenticatedPage } = require('../authenticated-page');
const { DeleteRoleModal } = require('./delete-role-modal') const { DeleteRoleModal } = require('./delete-role-modal');
export class AdminRolesPage extends AuthenticatedPage { export class AdminRolesPage extends AuthenticatedPage {
screenshotPath = '/admin-roles'; screenshotPath = '/admin-roles';
@@ -28,16 +28,22 @@ export class AdminRolesPage extends AuthenticatedPage {
await this.drawerMenuButton.click(); await this.drawerMenuButton.click();
} }
await this.roleDrawerLink.click(); await this.roleDrawerLink.click();
await this.rolesLoader.waitFor({
state: 'detached',
});
} }
/** /**
* @param {string} name * @param {string} name
*/ */
async getRoleRowByName(name) { async getRoleRowByName(name) {
await this.rolesLoader.waitFor({
state: 'detached',
});
return this.roleRow.filter({ return this.roleRow.filter({
has: this.page.getByTestId('role-name').filter({ has: this.page.getByTestId('role-name').filter({
hasText: name hasText: name,
}) }),
}); });
} }
@@ -48,13 +54,9 @@ export class AdminRolesPage extends AuthenticatedPage {
return { return {
role: await row.getByTestId('role-name').textContent(), role: await row.getByTestId('role-name').textContent(),
description: await row.getByTestId('role-description').textContent(), description: await row.getByTestId('role-description').textContent(),
canEdit: await row.getByTestId( canEdit: await row.getByTestId('role-edit').isEnabled(),
'role-edit' canDelete: await row.getByTestId('role-delete').isEnabled(),
).isEnabled(), };
canDelete: await row.getByTestId(
'role-delete'
).isEnabled()
}
} }
/** /**

View File

@@ -2,7 +2,7 @@ const { test, expect } = require('../../fixtures/index');
const { LoginPage } = require('../../fixtures/login-page'); const { LoginPage } = require('../../fixtures/login-page');
test.describe('Role management page', () => { test.describe('Role management page', () => {
test.skip('Admin role is not deletable', async ({ adminRolesPage }) => { test('Admin role is not deletable', async ({ adminRolesPage }) => {
await adminRolesPage.navigateTo(); await adminRolesPage.navigateTo();
const adminRow = await adminRolesPage.getRoleRowByName('Admin'); const adminRow = await adminRolesPage.getRoleRowByName('Admin');
const rowCount = await adminRow.count(); const rowCount = await adminRow.count();