126 lines
5.0 KiB
JavaScript
126 lines
5.0 KiB
JavaScript
import selectors from '../../helpers/selectors.js';
|
|
import getBrowser from '../../helpers/puppeteer';
|
|
|
|
describe('Ticket Advance path', () => {
|
|
let browser;
|
|
let page;
|
|
const httpRequests = [];
|
|
|
|
beforeAll(async() => {
|
|
browser = await getBrowser();
|
|
page = browser.page;
|
|
await page.loginAndModule('employee', 'ticket');
|
|
await page.accessToSection('ticket.advance');
|
|
page.on('request', req => {
|
|
if (req.url().includes(`Tickets/getTicketsAdvance`))
|
|
httpRequests.push(req.url());
|
|
});
|
|
});
|
|
|
|
afterAll(async() => {
|
|
await browser.close();
|
|
});
|
|
|
|
it('should show errors snackbar because of the required data', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.clearInput(selectors.ticketAdvance.warehouseFk);
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
let message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('warehouseFk is a required argument');
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.clearInput(selectors.ticketAdvance.dateToAdvance);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('dateToAdvance is a required argument');
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.clearInput(selectors.ticketAdvance.dateFuture);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('dateFuture is a required argument');
|
|
});
|
|
|
|
it('should search with the required data', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
|
|
expect(httpRequests.length).toBeGreaterThan(0);
|
|
});
|
|
|
|
it('should search with the origin IPT', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.autocompleteSearch(selectors.ticketAdvance.futureIpt, 'Horizontal');
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
|
|
const request = httpRequests.find(req => req.includes(('futureIpt=H')));
|
|
|
|
expect(request).toBeDefined();
|
|
|
|
httpRequests.splice(httpRequests.indexOf(request), 1);
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.clearInput(selectors.ticketAdvance.futureIpt);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
});
|
|
|
|
it('should search with the destination IPT', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.autocompleteSearch(selectors.ticketAdvance.ipt, 'Horizontal');
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
|
|
const request = httpRequests.find(req => req.includes(('ipt=H')));
|
|
|
|
expect(request).toBeDefined();
|
|
|
|
httpRequests.splice(httpRequests.indexOf(request), 1);
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.clearInput(selectors.ticketAdvance.ipt);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
});
|
|
|
|
it('should search in smart-table with an IPT Origin', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.tableButtonSearch);
|
|
await page.autocompleteSearch(selectors.ticketAdvance.tableFutureIpt, 'Vertical');
|
|
|
|
const request = httpRequests.find(req => req.includes(('futureIpt')));
|
|
|
|
expect(request).toBeDefined();
|
|
|
|
httpRequests.splice(httpRequests.indexOf(request), 1);
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.tableButtonSearch);
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
});
|
|
|
|
it('should search in smart-table with an IPT Destination', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.tableButtonSearch);
|
|
await page.autocompleteSearch(selectors.ticketAdvance.tableIpt, 'Vertical');
|
|
|
|
const request = httpRequests.find(req => req.includes(('ipt')));
|
|
|
|
expect(request).toBeDefined();
|
|
|
|
httpRequests.splice(httpRequests.indexOf(request), 1);
|
|
|
|
await page.waitToClick(selectors.ticketAdvance.tableButtonSearch);
|
|
await page.waitToClick(selectors.ticketAdvance.openAdvancedSearchButton);
|
|
await page.waitToClick(selectors.ticketAdvance.submit);
|
|
});
|
|
|
|
it('should check the first ticket and move to the present', async() => {
|
|
await page.waitToClick(selectors.ticketAdvance.firstCheck);
|
|
await page.waitToClick(selectors.ticketAdvance.moveButton);
|
|
await page.waitToClick(selectors.ticketAdvance.acceptButton);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Tickets moved successfully!');
|
|
});
|
|
});
|