import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Ticket purchase request path', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('salesPerson', 'ticket'); await page.accessToSearchResult('16'); await page.accessToSection('ticket.card.request.index'); }); afterAll(async() => { await browser.close(); }); it(`should add a new request`, async() => { await page.waitToClick(selectors.ticketRequests.addRequestButton); await page.write(selectors.ticketRequests.descriptionInput, 'New stuff'); await page.write(selectors.ticketRequests.quantityInput, '99'); await page.autocompleteSearch(selectors.ticketRequests.atenderAutocomplete, 'buyerNick'); await page.write(selectors.ticketRequests.priceInput, '999'); await page.waitToClick(selectors.ticketRequests.saveButton); const result = await page.waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it(`should have been redirected to the request index`, async() => { await page.waitForURL('/request'); const url = await page.parsedUrl(); expect(url.hash).toContain('/request'); }); it(`should confirm the new request was added`, async() => { await page.reloadSection('ticket.card.request.index'); const result = await page.waitToGetProperty(`${selectors.ticketRequests.firstDescription} input`, 'value'); expect(result).toEqual('New stuff'); }); it(`should delete the added request`, async() => { await page.waitToClick(selectors.ticketRequests.firstRemoveRequestButton); const result = await page.waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it(`should confirm the request was deleted`, async() => { await page.reloadSection('ticket.card.request.index'); await page.wait(selectors.ticketRequests.addRequestButton); await page.waitForSelector(selectors.ticketRequests.request, {hidden: true}); }); });