import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Account ACL path', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('developer', 'account'); await page.accessToSection('account.acl'); }); afterAll(async() => { await browser.close(); }); it('should go to create new acl', async() => { await page.waitToClick(selectors.accountAcl.addAcl); await page.waitForState('account.acl.create'); }); it('should create new acl', async() => { await page.autocompleteSearch(selectors.accountAcl.role, 'sysadmin'); await page.autocompleteSearch(selectors.accountAcl.model, 'UserAccount'); await page.autocompleteSearch(selectors.accountAcl.accessType, '*'); await page.autocompleteSearch(selectors.accountAcl.permission, 'ALLOW'); await page.waitToClick(selectors.accountAcl.save); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should navigate to edit', async() => { await page.doSearch(); await page.waitToClick(selectors.accountAcl.thirdAcl); await page.waitForState('account.acl.edit'); }); it('should edit the third acl', async() => { await page.autocompleteSearch(selectors.accountAcl.model, 'Supplier'); await page.autocompleteSearch(selectors.accountAcl.accessType, 'READ'); await page.waitToClick(selectors.accountAcl.save); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should delete the third result', async() => { const result = await page.waitToGetProperty(selectors.accountAcl.thirdAcl, 'innerText'); await page.waitToClick(selectors.accountAcl.deleteThirdAcl); await page.waitToClick(selectors.globalItems.acceptButton); const message = await page.waitForSnackbar(); const newResult = await page.waitToGetProperty(selectors.accountAcl.thirdAcl, 'innerText'); expect(message.text).toContain('ACL removed'); expect(result).not.toEqual(newResult); }); });