/* 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 lastModificationPreviousValue = await page .waitToGetProperty(selectors.clientLog.lastModificationPreviousValue, 'innerText'); let lastModificationCurrentValue = await page .waitToGetProperty(selectors.clientLog.lastModificationCurrentValue, 'innerText'); expect(lastModificationPreviousValue).toEqual('name MaxEisenhardt active false'); expect(lastModificationCurrentValue).toEqual('name Legion active false'); }); it(`should confirm the penultimate log shows the updated active and no modifications on 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 MaxEisenhardt active true'); expect(penultimateModificationCurrentValue).toEqual('name MaxEisenhardt active false'); }); });