import selectors from '../../helpers/selectors.js'; import createNightmare from '../../helpers/nightmare'; describe('Claim detail', () => { const nightmare = createNightmare(); beforeAll(() => { nightmare .loginAndModule('salesPerson', 'claim') .accessToSearchResult('4') .accessToSection('claim.card.detail'); }); it('should add the first claimable item from ticket to the claim', async() => { const result = await nightmare .waitToClick(selectors.claimDetail.addItemButton) .waitToClick(selectors.claimDetail.firstClaimableSaleFromTicket) .waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it('should confirm the claim contains now two items', async() => { const result = await nightmare .countElement(selectors.claimDetail.claimDetailLine); expect(result).toEqual(2); }); it('should edit de second item claimed quantity', async() => { const result = await nightmare .write(selectors.claimDetail.secondItemQuantityInput, 10) .write('body', '\u000d') // simulates enter .waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it('should confirm the second item, and the claimed total were correctly edited', async() => { const claimedQuantity = await nightmare .waitToGetProperty(selectors.claimDetail.secondItemQuantityInput, 'value'); const totalClaimed = await nightmare .waitToGetProperty(selectors.claimDetail.totalClaimed, 'innerText'); expect(claimedQuantity).toEqual('10'); expect(totalClaimed).toEqual('29.50 €'); }); it('should delete the second item from the claim', async() => { const result = await nightmare .waitToClick(selectors.claimDetail.secondItemDeleteButton) .waitForLastSnackbar(); expect(result).toEqual('Data saved!'); }); it('should confirm the claim contains now one item', async() => { const result = await nightmare .countElement(selectors.claimDetail.claimDetailLine); expect(result).toEqual(1); }); });