salix/e2e/paths/08-route/04_tickets.spec.js

86 lines
3.1 KiB
JavaScript
Raw Normal View History

2019-04-08 13:38:47 +00:00
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
2019-04-08 13:38:47 +00:00
2019-07-02 12:44:36 +00:00
// #1528 e2e claim/detail
xdescribe('Route basic Data path', () => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('delivery', 'route');
await page.accessToSearchResult('3');
await page.accessToSection('route.card.tickets');
});
2019-04-08 13:38:47 +00:00
afterAll(async() => {
await browser.close();
2019-04-08 13:38:47 +00:00
});
2019-07-02 12:44:36 +00:00
it('should modify the first ticket priority', async() => {
await page.write(selectors.routeTickets.firstTicketPriority, '2');
await page.keyboard.press('Enter');
2020-04-08 09:24:40 +00:00
const message = await page.waitForSnackbar();
2019-04-08 13:38:47 +00:00
2020-04-08 09:24:40 +00:00
expect(message.type).toBe('success');
2019-04-08 13:38:47 +00:00
});
it('should confirm the buscamanButton is disabled', async() => {
2020-04-08 09:24:40 +00:00
const result = await page.evaluate(selector => {
return document.querySelector(selector);
}, `${selectors.routeTickets.buscamanButton} :disabled`);
2019-04-08 13:38:47 +00:00
expect(result).toBeTruthy();
});
2019-07-02 12:44:36 +00:00
it('should check the first ticket checkbox and confirm the buscamanButton button is no longer disabled', async() => {
await page.waitToClick(selectors.routeTickets.firstTicketCheckbox);
2020-04-08 09:24:40 +00:00
const result = await page.evaluate(selector => {
return document.querySelector(selector);
}, `${selectors.routeTickets.buscamanButton} :disabled`);
2019-04-08 13:38:47 +00:00
expect(result).toBeFalsy();
});
2019-07-01 11:41:38 +00:00
it('should check the route volume on the descriptor', async() => {
2020-04-08 09:24:40 +00:00
const result = await page.waitToGetProperty(selectors.routeDescriptor.volume, 'innerText');
2019-07-01 11:41:38 +00:00
2019-07-02 12:44:36 +00:00
expect(result).toEqual('1.1 / 18 m³');
2019-07-01 11:41:38 +00:00
});
2019-04-08 13:38:47 +00:00
it('should count how many tickets are in route', async() => {
2020-04-08 09:24:40 +00:00
const result = await page.countElement('vn-route-tickets vn-textfield[ng-model="ticket.priority"]');
2019-04-08 13:38:47 +00:00
2019-07-02 12:44:36 +00:00
expect(result).toEqual(11);
2019-04-08 13:38:47 +00:00
});
it('should delete the first ticket in route', async() => {
await page.waitToClick(selectors.routeTickets.firstTicketDeleteButton);
await page.waitToClick(selectors.routeTickets.confirmButton);
2020-04-08 09:24:40 +00:00
const message = await page.waitForSnackbar();
2019-04-08 13:38:47 +00:00
2020-04-08 09:24:40 +00:00
expect(message.text).toBe('Ticket removed from route');
2019-04-08 13:38:47 +00:00
});
2019-07-02 12:44:36 +00:00
it('should again delete the first ticket in route', async() => {
await page.waitToClick(selectors.routeTickets.firstTicketDeleteButton);
await page.waitToClick(selectors.routeTickets.confirmButton);
2020-04-08 09:24:40 +00:00
const message = await page.waitForSnackbar();
2019-07-02 12:44:36 +00:00
2020-04-08 09:24:40 +00:00
expect(message.text).toBe('Ticket removed from route');
2019-07-02 12:44:36 +00:00
});
2019-04-08 13:38:47 +00:00
it('should now count how many tickets are in route to find one less', async() => {
2020-04-08 09:24:40 +00:00
const result = await page.countElement('vn-route-tickets vn-textfield[ng-model="ticket.priority"]');
2019-04-08 13:38:47 +00:00
2019-07-02 12:44:36 +00:00
expect(result).toEqual(9);
2019-04-08 13:38:47 +00:00
});
2019-07-01 11:41:38 +00:00
it('should confirm the route volume on the descriptor has been updated by the changes made', async() => {
2020-04-08 09:24:40 +00:00
const result = await page.waitToGetProperty(selectors.routeDescriptor.volume, 'innerText');
2019-07-01 11:41:38 +00:00
2019-07-02 12:44:36 +00:00
expect(result).toEqual('0.9 / 18 m³');
2019-07-01 11:41:38 +00:00
});
2019-04-08 13:38:47 +00:00
});