87 lines
3.2 KiB
JavaScript
87 lines
3.2 KiB
JavaScript
|
import selectors from '../../helpers/selectors.js';
|
||
|
import getBrowser from '../../helpers/puppeteer';
|
||
|
|
||
|
describe('Account privileges path', () => {
|
||
|
let browser;
|
||
|
let page;
|
||
|
|
||
|
beforeAll(async() => {
|
||
|
browser = await getBrowser();
|
||
|
page = browser.page;
|
||
|
await page.loginAndModule('developer', 'account');
|
||
|
await page.accessToSearchResult('1101');
|
||
|
await page.accessToSection('account.card.privileges');
|
||
|
});
|
||
|
|
||
|
afterAll(async() => {
|
||
|
await browser.close();
|
||
|
});
|
||
|
|
||
|
describe('as developer', () => {
|
||
|
it('should throw error when give privileges', async() => {
|
||
|
await page.waitToClick(selectors.accountPrivileges.checkHasGrant);
|
||
|
await page.waitToClick(selectors.accountPrivileges.save);
|
||
|
|
||
|
const message = await page.waitForSnackbar();
|
||
|
|
||
|
expect(message.text).toContain(`You don't have enough privileges`);
|
||
|
});
|
||
|
|
||
|
it('should throw error when change role', async() => {
|
||
|
await page.autocompleteSearch(selectors.accountPrivileges.role, 'employee');
|
||
|
await page.waitToClick(selectors.accountPrivileges.save);
|
||
|
|
||
|
const message = await page.waitForSnackbar();
|
||
|
|
||
|
expect(message.text).toContain(`You don't have enough privileges`);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('as sysadmin', () => {
|
||
|
beforeAll(async() => {
|
||
|
await page.loginAndModule('sysadmin', 'account');
|
||
|
await page.accessToSearchResult('9');
|
||
|
await page.accessToSection('account.card.privileges');
|
||
|
});
|
||
|
|
||
|
it('should give privileges', async() => {
|
||
|
await page.waitToClick(selectors.accountPrivileges.checkHasGrant);
|
||
|
await page.waitToClick(selectors.accountPrivileges.save);
|
||
|
const message = await page.waitForSnackbar();
|
||
|
|
||
|
await page.reloadSection('account.card.privileges');
|
||
|
const result = await page.checkboxState(selectors.accountPrivileges.checkHasGrant);
|
||
|
|
||
|
expect(message.text).toContain(`Data saved!`);
|
||
|
expect(result).toBe('checked');
|
||
|
});
|
||
|
|
||
|
it('should change role', async() => {
|
||
|
await page.autocompleteSearch(selectors.accountPrivileges.role, 'employee');
|
||
|
await page.waitToClick(selectors.accountPrivileges.save);
|
||
|
const message = await page.waitForSnackbar();
|
||
|
|
||
|
await page.reloadSection('account.card.privileges');
|
||
|
const result = await page.waitToGetProperty(selectors.accountPrivileges.role, 'value');
|
||
|
|
||
|
expect(message.text).toContain(`Data saved!`);
|
||
|
expect(result).toContain('employee');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('as developer again', () => {
|
||
|
it('should remove privileges', async() => {
|
||
|
await page.accessToSearchResult('9');
|
||
|
await page.accessToSection('account.card.privileges');
|
||
|
|
||
|
await page.waitToClick(selectors.accountPrivileges.checkHasGrant);
|
||
|
await page.waitToClick(selectors.accountPrivileges.save);
|
||
|
|
||
|
await page.reloadSection('account.card.privileges');
|
||
|
const result = await page.checkboxState(selectors.accountPrivileges.checkHasGrant);
|
||
|
|
||
|
expect(result).toBe('unchecked');
|
||
|
});
|
||
|
});
|
||
|
});
|