diff --git a/e2e/helpers/extensions.js b/e2e/helpers/extensions.js index fb0dd2d0c..452dd3a4d 100644 --- a/e2e/helpers/extensions.js +++ b/e2e/helpers/extensions.js @@ -191,7 +191,7 @@ let actions = { waitToClick: async function(selector) { await this.waitForSelector(selector, {}); - await this.click(selector, {waitUntil: 'domcontentloaded'}); + await this.click(selector); }, focusElement: async function(selector) { @@ -393,15 +393,17 @@ let actions = { autocompleteSearch: async function(selector, searchValue) { let builtSelector = await this.selectorFormater(selector); - try { - await this.waitToClick(builtSelector); - await this.waitForSelector(selector => { - document - .querySelector(`${selector} vn-drop-down`).$ctrl.content - .querySelectorAll('li'); - }, selector); - await this.type(`.vn-drop-down.shown`, searchValue); + await this.waitToClick(selector); + await this.waitForSelector(selector => { + document + .querySelector(`${selector} vn-drop-down`).$ctrl.content + .querySelectorAll('li'); + }, selector); + + await this.write('.vn-drop-down.vn-popover.vn-popup.shown vn-textfield', searchValue); + + try { await this.waitForFunction((selector, searchValue) => { let element = document .querySelector(`${selector} vn-drop-down`).$ctrl.content @@ -409,15 +411,18 @@ let actions = { if (element) return element.innerText.toLowerCase().includes(searchValue.toLowerCase()); }, {}, selector, searchValue); - - await this.keyboard.press('Enter'); - await this.waitForFunction((selector, searchValue) => { - return document.querySelector(selector).value.toLowerCase() - .includes(searchValue.toLowerCase()); - }, {}, builtSelector, searchValue); } catch (error) { - throw new Error(`${builtSelector} failed to autocomplete ${searchValue}! ${error}`); + let inputValue = await this.evaluate(() => { + return document.querySelector('.vn-drop-down.vn-popover.vn-popup.shown vn-textfield input').value; + }); + throw new Error(`${builtSelector} value is ${inputValue}! ${error}`); } + await this.keyboard.press('Enter'); + await this.waitForFunction((selector, searchValue) => { + return document.querySelector(selector).value.toLowerCase() + .includes(searchValue.toLowerCase()); + }, {}, builtSelector, searchValue); + await this.waitForMutation(`.vn-drop-down`, 'childList'); }, diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 0399f7b17..8bda47afe 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -51,6 +51,8 @@ export default { name: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.name"]', contact: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.contact"]', email: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.email"]', + phone: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.phone"]', + mobile: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.mobile"]', salesPerson: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]', channel: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.contactChannelFk"]', saveButton: 'vn-client-basic-data button[type=submit]' diff --git a/e2e/paths/02-client-module/02_edit_basic_data.spec.js b/e2e/paths/02-client-module/02_edit_basic_data.spec.js index 6be3f4baa..8b665bd96 100644 --- a/e2e/paths/02-client-module/02_edit_basic_data.spec.js +++ b/e2e/paths/02-client-module/02_edit_basic_data.spec.js @@ -92,6 +92,10 @@ describe('Client Edit basicData path', () => { await page.write(selectors.clientBasicData.contact, 'Black Panther'); await page.clearInput(selectors.clientBasicData.email); await page.write(selectors.clientBasicData.email, 'Storm@verdnatura.es'); + await page.clearInput(selectors.clientBasicData.phone); + await page.write(selectors.clientBasicData.phone, '333333333'); + await page.clearInput(selectors.clientBasicData.mobile); + await page.write(selectors.clientBasicData.mobile, '444444444'); await page.autocompleteSearch(selectors.clientBasicData.salesPerson, 'replenisherNick'); await page.autocompleteSearch(selectors.clientBasicData.channel, 'Metropolis newspaper'); await page.waitToClick(selectors.clientBasicData.saveButton); @@ -121,6 +125,20 @@ describe('Client Edit basicData path', () => { expect(result).toEqual('Storm@verdnatura.es'); }); + it('should now confirm the phone have been edited', async() => { + const result = await page + .waitToGetProperty(selectors.clientBasicData.phone, 'value'); + + expect(result).toEqual('333333333'); + }); + + it('should now confirm the mobile have been edited', async() => { + const result = await page + .waitToGetProperty(selectors.clientBasicData.mobile, 'value'); + + expect(result).toEqual('444444444'); + }); + it('should confirm the sales person have been selected', async() => { const result = await page .waitToGetProperty(selectors.clientBasicData.salesPerson, 'value'); diff --git a/e2e/paths/02-client-module/14_balance.spec.js b/e2e/paths/02-client-module/14_balance.spec.js index d70d11508..2e29dc04e 100644 --- a/e2e/paths/02-client-module/14_balance.spec.js +++ b/e2e/paths/02-client-module/14_balance.spec.js @@ -49,7 +49,6 @@ describe('Client balance path', () => { it('should create a new payment that clears the debt', async() => { await page.waitToClick(selectors.clientBalance.newPaymentButton); - await page.waitForContentLoaded(); await page.autocompleteSearch(selectors.clientBalance.newPaymentBank, 'Pay on receipt'); await page.waitToClick(selectors.clientBalance.saveButton); let result = await page.waitForLastSnackbar();