/* eslint max-len: ["error", { "code": 150 }]*/ 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('salesPerson', 'client'); await page.accessToSearchResult('max'); 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, 'Legion'); await page.waitToClick(selectors.clientWebAccess.saveButton); const message = await page.waitForSnackbar(); expect(message.text).toContain('Data saved!'); }); it(`should update the email`, async() => { await page.clearInput(selectors.clientWebAccess.email); await page.write(selectors.clientWebAccess.email, 'legion@marvel.com'); 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('Legion'); }); it('should confirm web access email have been updated', async() => { const result = await page.waitToGetProperty(selectors.clientWebAccess.email, 'value'); expect(result).toEqual('legion@marvel.com'); }); it(`should navigate to the log section`, async() => { await page.accessToSection('client.card.log'); }); it(`should confirm the last log shows the updated client name and no modifications on active checkbox`, async() => { let namePreviousValue = await page .waitToGetProperty(selectors.clientLog.namePreviousValue, 'innerText'); let nameCurrentValue = await page .waitToGetProperty(selectors.clientLog.nameCurrentValue, 'innerText'); expect(namePreviousValue).toEqual('MaxEisenhardt'); expect(nameCurrentValue).toEqual('Legion'); }); it(`should confirm the penultimate log shows the updated active and no modifications on client name`, async() => { let activePreviousValue = await page .waitToGetProperty(selectors.clientLog.activePreviousValue, 'innerText'); let activeCurrentValue = await page .waitToGetProperty(selectors.clientLog.activeCurrentValue, 'innerText'); expect(activePreviousValue).toEqual('✓'); expect(activeCurrentValue).toEqual('✗'); }); });