test: add wait for roles loader to detach
This commit is contained in:
@@ -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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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();
|
||||||
|
Reference in New Issue
Block a user