import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; describe('Supplier basic data path', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('financial', 'supplier'); await page.accessToSearchResult('1'); await page.accessToSection('supplier.card.basicData'); }); afterAll(async() => { await browser.close(); }); it('should edit the basic data', async() => { await page.clearInput(selectors.supplierBasicData.alias); await page.write(selectors.supplierBasicData.alias, 'Plants Nick SL'); await page.waitToClick(selectors.supplierBasicData.isSerious); await page.waitToClick(selectors.supplierBasicData.isActive); await page.waitToClick(selectors.supplierBasicData.isPayMethodChecked); await page.write(selectors.supplierBasicData.notes, 'Some notes'); await page.waitToClick(selectors.supplierBasicData.saveButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should reload the section', async() => { await page.reloadSection('supplier.card.basicData'); }); it('should check the alias was edited', async() => { const result = await page.waitToGetProperty(selectors.supplierBasicData.alias, 'value'); expect(result).toEqual('Plants Nick SL'); }); it('should check the isSerious checkbox is now unchecked', async() => { const result = await page.checkboxState(selectors.supplierBasicData.isSerious); expect(result).toBe('unchecked'); }); it('should check the isActive checkbox is now unchecked', async() => { const result = await page.checkboxState(selectors.supplierBasicData.isActive); expect(result).toBe('unchecked'); }); it('should check the isPayMethodChecked checkbox is now unchecked', async() => { const result = await page.checkboxState(selectors.supplierBasicData.isPayMethodChecked); expect(result).toBe('unchecked'); }); it('should check the notes were edited', async() => { const result = await page.waitToGetProperty(selectors.supplierBasicData.notes, 'value'); expect(result).toEqual('Some notes'); }); it('should navigate to the log section', async() => { await page.accessToSection('supplier.card.log'); }); it('should check the changes have been recorded', async() => { const result = await page.waitToGetProperty('vn-tr table tr:nth-child(3) td.after', 'innerText'); expect(result).toEqual('Some notes'); }); });