import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Route create path', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('employee', 'route'); }); afterAll(async() => { await browser.close(); }); describe('as employee', () => { it('should click on the add new route button and open the creation form', async() => { await page.waitForTimeout(500); await page.waitToClick(selectors.routeIndex.addNewRouteButton); await page.waitForState('route.create'); }); it(`should attempt to create a new route but fail since employee has no access rights`, async() => { await page.write(selectors.createRouteView.description, 'faster faster!!'); await page.waitToClick(selectors.createRouteView.submitButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Access denied'); }); }); describe('as delivery', () => { beforeAll(async() => { await page.login('delivery'); await page.selectModule('route'); }); it('should again click on the add new route button and open the creation form', async() => { await page.waitToClick(selectors.routeIndex.addNewRouteButton); await page.waitForState('route.create'); }); it(`should create a new route`, async() => { await page.autocompleteSearch(selectors.createRouteView.worker, 'teamManagerNick'); await page.pickDate(selectors.createRouteView.createdDatePicker); await page.autocompleteSearch(selectors.createRouteView.vehicleAuto, '4444-IMK'); await page.autocompleteSearch(selectors.createRouteView.agency, 'Teleportation device'); await page.write(selectors.createRouteView.description, 'faster faster!!'); await page.waitToClick(selectors.createRouteView.submitButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it(`should confirm the redirection to the created route summary`, async() => { await page.waitForState('route.card.summary'); }); }); });