import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Worker create path', () => { let browser; let page; let newWorker; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('hr', 'worker'); await page.waitToClick(selectors.workerCreate.newWorkerButton); await page.waitForState('worker.create'); }); afterAll(async() => { await browser.close(); }); it('should insert default data', async() => { await page.write(selectors.workerCreate.firstname, 'Victor'); await page.write(selectors.workerCreate.lastname, 'Von Doom'); await page.write(selectors.workerCreate.fi, '78457139E'); await page.write(selectors.workerCreate.phone, '12356789'); await page.write(selectors.workerCreate.postcode, '46680'); await page.write(selectors.workerCreate.street, 'S/ Doomstadt'); await page.write(selectors.workerCreate.email, 'doctorDoom@marvel.com'); await page.write(selectors.workerCreate.iban, 'ES9121000418450200051332'); await page.autocompleteSearch(selectors.workerCreate.switft, 'BBKKESMMMMM'); // should check for autocompleted worker code and worker user name const workerCode = await page .waitToGetProperty(selectors.workerCreate.code, 'value'); newWorker = await page .waitToGetProperty(selectors.workerCreate.user, 'value'); expect(workerCode).toEqual('VVD'); expect(newWorker).toContain('victorvd'); // should fail if necessary data is void await page.waitToClick(selectors.workerCreate.createButton); let message = await page.waitForSnackbar(); expect(message.text).toContain('is a required argument'); // should create a new worker and go to worker basic data' await page.pickDate(selectors.workerCreate.birth, new Date(1962, 8, 5)); await page.autocompleteSearch(selectors.workerCreate.boss, 'deliveryBoss'); await page.waitToClick(selectors.workerCreate.createButton); message = await page.waitForSnackbar(); await page.waitForState('worker.card.basicData'); expect(message.text).toContain('Data saved!'); // 'rollback' await page.loginAndModule('sysadmin', 'account'); await page.accessToSearchResult(newWorker); await page.waitToClick(selectors.accountDescriptor.menuButton); await page.waitToClick(selectors.accountDescriptor.deactivateUser); await page.waitToClick(selectors.accountDescriptor.acceptButton); message = await page.waitForSnackbar(); expect(message.text).toContain('User deactivated!'); await page.waitToClick(selectors.accountDescriptor.menuButton); await page.waitToClick(selectors.accountDescriptor.disableAccount); await page.waitToClick(selectors.accountDescriptor.acceptButton); message = await page.waitForSnackbar(); expect(message.text).toContain('Account disabled!'); }); });