74 lines
3.0 KiB
JavaScript
74 lines
3.0 KiB
JavaScript
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');
|
|
|
|
// 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!');
|
|
});
|
|
});
|