import selectors from '../../helpers/selectors.js'; import createNightmare from '../../helpers/nightmare'; describe('Ticket', () => { describe('Delete expeditions path', () => { const nightmare = createNightmare(); beforeAll(() => { return nightmare .waitForLogin('production'); }); it('should access to the tickets index by clicking the tickets button', async () => { const url = await nightmare .click(selectors.moduleAccessView.ticketsSectionButton) .wait(selectors.ticketsIndex.searchResult) .parsedUrl(); expect(url.hash).toEqual('#!/ticket/index'); }); it('should search for the ticket with id 1', async () => { const result = await nightmare .wait(selectors.ticketsIndex.searchTicketInput) .type(selectors.ticketsIndex.searchTicketInput, 'id:1') .click(selectors.ticketsIndex.searchButton) .waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1) .countElement(selectors.ticketsIndex.searchResult); expect(result).toEqual(1); }); it(`should click on the search result to access to the ticket expeditions`, async () => { const url = await nightmare .waitForTextInElement(selectors.ticketsIndex.searchResult, '1') .waitToClick(selectors.ticketsIndex.searchResult) .waitToClick(selectors.ticketExpedition.expeditionButton) .waitForURL('expedition') .url(); expect(url).toContain('expedition'); }); it(`should delete a former expedition and confirm the remaining expedition are the expected ones`, async () => { const result = await nightmare .waitToClick(selectors.ticketExpedition.secondExpeditionRemoveButton) .waitToClick(selectors.ticketExpedition.acceptDeleteRowButton) .click(selectors.ticketPackages.packagesButton) .wait(selectors.ticketPackages.firstPackageSelect) .click(selectors.ticketExpedition.expeditionButton) .wait(selectors.ticketExpedition.expeditionRow) .countElement(selectors.ticketExpedition.expeditionRow); expect(result).toEqual(3); }); }); });