import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Client credit insurance path', () => { let browser; let page; let previousMonth = new Date(); previousMonth.setMonth(previousMonth.getMonth() - 1); beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('insurance', 'client'); await page.accessToSearchResult('Tony Stark'); await page.accessToSection('client.card.creditInsurance.index'); }); afterAll(async() => { await browser.close(); }); it('should open the create a new credit contract form', async() => { await page.waitToClick(selectors.clientCreditInsurance.addNewContract); await page.waitForState('client.card.creditInsurance.create'); }); it('should create a new credit contract', async() => { await page.write(selectors.clientCreditInsurance.newCredit, '1000'); await page.write(selectors.clientCreditInsurance.newGrade, '1'); await page.pickDate(selectors.clientCreditInsurance.newStartingDate, previousMonth); await page.waitToClick(selectors.clientCreditInsurance.saveNewContract); await page.waitForState('client.card.creditInsurance.index'); }); it(`should verify the addNewContract button is not present since there's an active contract`, async() => { await page.waitForSelector(selectors.clientCreditInsurance.addNewContract, {hidden: true}); }); it(`should bring the current contract to an end`, async() => { await page.waitToClick(selectors.clientCreditInsurance.endCurrentContract); await page.waitToClick(selectors.globalItems.acceptButton); }); it(`should verify the addNewContract button is now present since there's no active contract`, async() => { await page.waitForSelector(selectors.clientCreditInsurance.addNewContract, {visible: true}); }); it(`should verify the endCurrentContract button is not present since there's no active contract`, async() => { await page.waitForSelector(selectors.clientCreditInsurance.endCurrentContract, {hidden: true}); }); });