import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; // #1528 e2e claim/detail xdescribe('Claim detail', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('salesPerson', 'claim'); await page.accessToSearchResult('1'); await page.accessToSection('claim.card.detail'); }); afterAll(async() => { await browser.close(); }); it('should add the first claimable item from ticket to the claim', async() => { await page.waitToClick(selectors.claimDetail.addItemButton); await page.waitToClick(selectors.claimDetail.firstClaimableSaleFromTicket); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should confirm the claim contains now two items', async() => { const result = await page.countElement(selectors.claimDetail.claimDetailLine); expect(result).toEqual(2); }); it('should edit de first item claimed quantity', async() => { await page.clearInput(selectors.claimDetail.firstItemQuantityInput); // selector deleted, find new upon fixes await page.write(selectors.claimDetail.firstItemQuantityInput, '4'); // selector deleted, find new upon fixes await page.keyboard.press('Enter'); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should confirm the first item quantity, and the claimed total were correctly edited', async() => { const claimedQuantity = page .waitToGetProperty(selectors.claimDetail.firstItemQuantityInput, 'value'); // selector deleted, find new upon fixes const totalClaimed = page .waitToGetProperty(selectors.claimDetail.totalClaimed, 'innerText'); expect(claimedQuantity).toEqual('4'); expect(totalClaimed).toContain('€47.62'); }); it('should login as salesAssistant and navigate to the claim.detail section', async() => { await page.loginAndModule('salesAssistant', 'claim'); await page.accessToSearchResult('1'); await page.accessToSection('claim.card.detail'); let url = await page.expectURL('/detail'); // replace with waitForState expect(url).toBe(true); }); it('should edit de second item claimed discount', async() => { await page.waitToClick(selectors.claimDetail.secondItemDiscount); await page.write(selectors.claimDetail.discount, '100'); await page.keyboard.press('Enter'); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should check the mana is the expected one', async() => { await page.waitToClick(selectors.claimDetail.secondItemDiscount); const result = await page.waitToGetProperty(selectors.claimDetail.discoutPopoverMana, 'innerText'); expect(result).toContain('MANÁ: €106'); }); it('should delete the second item from the claim', async() => { await page.waitToClick(selectors.claimDetail.secondItemDeleteButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should confirm the claim contains now one item', async() => { const result = await page.countElement(selectors.claimDetail.claimDetailLine); expect(result).toEqual(1); }); it('should add the deleted ticket from to the claim', async() => { await page.waitToClick(selectors.claimDetail.addItemButton); await page.waitToClick(selectors.claimDetail.firstClaimableSaleFromTicket); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it(`should have been redirected to the next section in claims`, async() => { let url = await page.expectURL('development'); // replace with waitForState expect(url).toBe(true); }); it('should navigate back to claim.detail to confirm the claim contains now two items', async() => { await page.accessToSection('claim.card.detail'); await page.waitForSelector(selectors.claimDetail.claimDetailLine); const result = await page.countElement(selectors.claimDetail.claimDetailLine); expect(result).toEqual(2); }); });