import selectors from '../../helpers/selectors'; import getBrowser from '../../helpers/puppeteer'; describe('Client Edit web access path', () => { let browser; let page; beforeAll(async() => { browser = await getBrowser(); page = browser.page; await page.loginAndModule('employee', 'client'); await page.accessToSearchResult('Bruce Banner'); await page.accessToSection('client.card.webAccess'); }); afterAll(async() => { await browser.close(); }); it('should uncheck the Enable web access checkbox', async() => { await page.waitToClick(selectors.clientWebAccess.enableWebAccessCheckbox); await page.waitToClick(selectors.clientWebAccess.saveButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it(`should update the name`, async() => { await page.clearInput(selectors.clientWebAccess.userName); await page.write(selectors.clientWebAccess.userName, 'Hulk'); await page.waitToClick(selectors.clientWebAccess.saveButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it('should reload the section and confirm web access is now unchecked', async() => { await page.reloadSection('client.card.webAccess'); const result = await page.checkboxState(selectors.clientWebAccess.enableWebAccessCheckbox); expect(result).toBe('unchecked'); }); it('should confirm web access name have been updated', async() => { const result = await page.waitToGetProperty(selectors.clientWebAccess.userName, 'value'); expect(result).toEqual('Hulk'); }); it(`should navigate to the log section`, async() => { await page.accessToSection('client.card.log'); }); it(`should confirm the last log is showing the updated client name and no modifications on the active checkbox`, async() => { let lastModificationPreviousValue = await page .waitToGetProperty(selectors.clientLog.lastModificationPreviousValue, 'innerText'); let lastModificationCurrentValue = await page .waitToGetProperty(selectors.clientLog.lastModificationCurrentValue, 'innerText'); expect(lastModificationPreviousValue).toEqual('name BruceBanner active false'); expect(lastModificationCurrentValue).toEqual('name Hulk active false'); }); it(`should confirm the penultimate log is showing the updated avtive field and no modifications on the client name`, async() => { let penultimateModificationPreviousValue = await page .waitToGetProperty(selectors.clientLog.penultimateModificationPreviousValue, 'innerText'); let penultimateModificationCurrentValue = await page .waitToGetProperty(selectors.clientLog.penultimateModificationCurrentValue, 'innerText'); expect(penultimateModificationPreviousValue).toEqual('name BruceBanner active true'); expect(penultimateModificationCurrentValue).toEqual('name BruceBanner active false'); }); });