import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; fdescribe('Ticket Future path', () => { let browser; let page; beforeAll(async () => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('employee', 'ticket'); await page.accessToSection('ticket.future'); }); afterAll(async () => { await browser.close(); }); const now = new Date(); const tomorrow = new Date(now.getDate() + 1); const ticket = { originDated: now, futureDated: now, linesMax: '9999', litersMax: '9999', warehouseFk: 'Warehouse One' }; it('should show errors snackbar because of the required data', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.warehouseFk); await page.waitToClick(selectors.ticketFuture.submit); let message = await page.waitForSnackbar(); expect(message.text).toContain('warehouseFk is a required argument'); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.litersMax); await page.waitToClick(selectors.ticketFuture.submit); message = await page.waitForSnackbar(); expect(message.text).toContain('litersMax is a required argument'); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.linesMax); await page.waitToClick(selectors.ticketFuture.submit); message = await page.waitForSnackbar(); expect(message.text).toContain('linesMax is a required argument'); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.futureDated); await page.waitToClick(selectors.ticketFuture.submit); message = await page.waitForSnackbar(); expect(message.text).toContain('futureDated is a required argument'); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.originDated); await page.waitToClick(selectors.ticketFuture.submit); message = await page.waitForSnackbar(); expect(message.text).toContain('originDated is a required argument'); }); it('should search with the required data', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search with the origin shipped today', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.pickDate(selectors.ticketFuture.shipped, now); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search with the origin shipped tomorrow', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.pickDate(selectors.ticketFuture.shipped, tomorrow); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 0); }); it('should search with the destination shipped today', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.pickDate(selectors.ticketFuture.tfShipped, now); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search with the destination shipped tomorrow', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.pickDate(selectors.ticketFuture.tfShipped, tomorrow); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 0); }); it('should search with the origin IPT', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.clearInput(selectors.ticketFuture.tfShipped); await page.clearInput(selectors.ticketFuture.ipt); await page.clearInput(selectors.ticketFuture.tfIpt); await page.clearInput(selectors.ticketFuture.state); await page.clearInput(selectors.ticketFuture.tfState); await page.autocompleteSearch(selectors.ticketFuture.ipt, 'Horizontal'); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 0); }); it('should search with the destination IPT', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.clearInput(selectors.ticketFuture.tfShipped); await page.clearInput(selectors.ticketFuture.ipt); await page.clearInput(selectors.ticketFuture.tfIpt); await page.clearInput(selectors.ticketFuture.state); await page.clearInput(selectors.ticketFuture.tfState); await page.autocompleteSearch(selectors.ticketFuture.tfIpt, 'Horizontal'); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 0); }); it('should search with the origin grouped state', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.clearInput(selectors.ticketFuture.tfShipped); await page.clearInput(selectors.ticketFuture.ipt); await page.clearInput(selectors.ticketFuture.tfIpt); await page.clearInput(selectors.ticketFuture.state); await page.clearInput(selectors.ticketFuture.tfState); await page.autocompleteSearch(selectors.ticketFuture.state, 'Free'); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 3); }); it('should search with the destination grouped state', async () => { await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.clearInput(selectors.ticketFuture.tfShipped); await page.clearInput(selectors.ticketFuture.ipt); await page.clearInput(selectors.ticketFuture.tfIpt); await page.clearInput(selectors.ticketFuture.state); await page.clearInput(selectors.ticketFuture.tfState); await page.autocompleteSearch(selectors.ticketFuture.tfState, 'Free'); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 0); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.clearInput(selectors.ticketFuture.shipped); await page.clearInput(selectors.ticketFuture.tfShipped); await page.clearInput(selectors.ticketFuture.ipt); await page.clearInput(selectors.ticketFuture.tfIpt); await page.clearInput(selectors.ticketFuture.state); await page.clearInput(selectors.ticketFuture.tfState); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with an ID Origin', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableId, "13"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 2); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with an ID Destination', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableTfId, "12"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 5); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with an IPT Origin', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.autocompleteSearch(selectors.ticketFuture.tableIpt, 'Vertical'); await page.waitForNumberOfElements(selectors.ticketFuture.table, 1); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with an IPT Destination', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.autocompleteSearch(selectors.ticketFuture.tableTfIpt, 'Vertical'); await page.waitForNumberOfElements(selectors.ticketFuture.table, 1); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with especified Lines', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableLines, "0"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 1); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableLines, "1"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 5); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should search in smart-table with especified Liters', async () => { await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableLiters, "0"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 1); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.write(selectors.ticketFuture.tableLiters, "28"); await page.keyboard.press("Enter"); await page.waitForNumberOfElements(selectors.ticketFuture.table, 5); await page.waitToClick(selectors.ticketFuture.tableButtonSearch); await page.waitToClick(selectors.ticketFuture.openAdvancedSearchButton); await page.waitToClick(selectors.ticketFuture.submit); await page.waitForNumberOfElements(selectors.ticketFuture.table, 4); }); it('should check the three last tickets and move to the future', async () => { await page.waitToClick(selectors.ticketFuture.multiCheck); await page.waitToClick(selectors.ticketFuture.firstCheck); await page.waitToClick(selectors.ticketFuture.moveButton); await page.waitToClick(selectors.ticketFuture.acceptButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Tickets moved successfully!'); }); });