From cbd43253e021631257b02f6b98dcce89ce4bc46f Mon Sep 17 00:00:00 2001 From: Carlos Jimenez Ruiz Date: Mon, 3 Feb 2020 15:55:11 +0100 Subject: [PATCH] 1795 and 1798 refactors --- e2e/helpers/extensions.js | 22 +- e2e/helpers/selectors.js | 360 +++++++++--------- .../02-client-module/01_create_client.spec.js | 4 +- .../02_edit_basic_data.spec.js | 56 +-- .../03_edit_fiscal_data.spec.js | 60 +-- .../04_edit_billing_data.spec.js | 30 +- .../02-client-module/05_add_address.spec.js | 20 +- .../06_add_address_notes.spec.js | 12 +- .../07_edit_web_access.spec.js | 8 +- .../02-client-module/08_add_notes.spec.js | 4 +- .../02-client-module/09_add_credit.spec.js | 4 +- .../02-client-module/10_add_greuge.spec.js | 8 +- .../12_lock_of_verified_data.spec.js | 28 +- e2e/paths/02-client-module/13_log.spec.js | 4 +- e2e/paths/02-client-module/14_balance.spec.js | 21 +- .../02-client-module/15_user_config.spec.js | 42 +- e2e/paths/03-worker-module/01_pbx.spec.js | 7 +- .../03-worker-module/02_time_control.spec.js | 50 +-- e2e/paths/04-item-module/01_summary.spec.js | 6 +- .../04-item-module/02_basic_data.spec.js | 34 +- e2e/paths/04-item-module/03_tax.spec.js | 18 +- e2e/paths/04-item-module/04_tags.spec.js | 26 +- e2e/paths/04-item-module/05_niche.spec.js | 20 +- e2e/paths/04-item-module/06_botanical.spec.js | 34 +- e2e/paths/04-item-module/07_barcode.spec.js | 6 +- .../08_create_and_clone.spec.js | 26 +- .../04-item-module/09_regularize.spec.js | 24 +- e2e/paths/04-item-module/11_item_log.spec.js | 8 +- .../01-sale/01_list_sales.spec.js | 1 - .../01-sale/02_edit_sale.spec.js | 8 +- .../05-ticket-module/01_observations.spec.js | 9 +- .../05-ticket-module/04_packages.spec.js | 20 +- .../05_tracking_state.spec.js | 11 +- .../06_basic_data_steps.spec.js | 25 +- e2e/paths/05-ticket-module/09_weekly.spec.js | 6 +- e2e/paths/05-ticket-module/10_request.spec.js | 8 +- e2e/paths/05-ticket-module/11_diary.spec.js | 4 +- .../05-ticket-module/12_descriptor.spec.js | 10 +- .../05-ticket-module/13_services.spec.js | 22 +- .../05-ticket-module/14_create_ticket.spec.js | 12 +- .../15_create_ticket_from_client.spec.js | 5 +- .../06-claim-module/01_basic_data.spec.js | 18 +- .../06-claim-module/02_development.spec.js | 40 +- e2e/paths/06-claim-module/03_detail.spec.js | 2 +- .../01_edit_basic_data.spec.js | 29 +- e2e/paths/07-order-module/02_catalog.spec.js | 14 +- e2e/paths/08-route-module/01_create.spec.js | 14 +- .../08-route-module/02_basic_data.spec.js | 26 +- .../01_descriptor.spec.js | 10 +- 49 files changed, 619 insertions(+), 617 deletions(-) diff --git a/e2e/helpers/extensions.js b/e2e/helpers/extensions.js index 045ca65c1..782756df3 100644 --- a/e2e/helpers/extensions.js +++ b/e2e/helpers/extensions.js @@ -143,12 +143,19 @@ let actions = { return await this.getProperty(selector, property); }, - waitPropertyValue: async function(selector, property, status) { - await this.waitForSelector(selector); - return await this.waitForFunction((selector, property, status) => { - const element = document.querySelector(selector); - return element[property] === status; - }, {}, selector, property, status); + expectPropertyValue: async function(selector, property, value) { + let builtSelector = selector; + if (property != 'innerText') + builtSelector = await this.selectorFormater(selector); + + try { + return await this.waitForFunction((selector, property, value) => { + const element = document.querySelector(selector); + return element[property] == value; + }, {}, builtSelector, property, value); + } catch (error) { + throw new Error(`${value} wasn't the value of ${builtSelector}, ${error}`); + } }, waitToGetProperty: async function(selector, property) { @@ -351,7 +358,7 @@ let actions = { }, waitForLastSnackbar: async function() { - await this.wait(2000); // this needs a refactor to be somehow dynamic ie: page.waitForResponse(urlOrPredicate[, options]) or something to fire waitForLastShape once the request is completed + await this.waitFor(1000); // this needs a refactor to be somehow dynamic ie: page.waitForResponse(urlOrPredicate[, options]) or something to fire waitForLastShape once the request is completed await this.waitForSpinnerLoad(); return await this.waitForLastShape('vn-snackbar .shown .text'); }, @@ -384,6 +391,7 @@ let actions = { return navButton.click(); }, sectionRoute); await this.waitForNavigation({waitUntil: ['networkidle0']}); + await this.waitForContentLoaded(); }, autocompleteSearch: async function(selector, searchValue) { diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index b0fee5591..8d215446c 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -21,25 +21,25 @@ export default { acceptButton: '.vn-confirm.shown button[response=accept]' }, clientsIndex: { - searchClientInput: 'vn-topbar', + topbarSearch: 'vn-topbar', searchButton: 'vn-searchbar vn-icon[icon="search"]', searchResult: 'vn-client-index .vn-item', createClientButton: `vn-float-button`, othersButton: 'vn-left-menu li[name="Others"] > a' }, createClientView: { - name: `vn-client-create [ng-model="$ctrl.client.name"]`, - taxNumber: 'vn-client-create [ng-model="$ctrl.client.fi"]', - socialName: 'vn-client-create [ng-model="$ctrl.client.socialName"]', - street: 'vn-client-create [ng-model="$ctrl.client.street"]', - postcode: 'vn-client-create [ng-model="$ctrl.client.postcode"]', - city: 'vn-client-create [ng-model="$ctrl.client.city"]', - province: `vn-autocomplete[ng-model="$ctrl.client.provinceFk"]`, - country: `vn-autocomplete[ng-model="$ctrl.client.countryFk"]`, - userName: 'vn-client-create [ng-model="$ctrl.client.userName"]', - email: 'vn-client-create [ng-model="$ctrl.client.email"]', - salesPersonAutocomplete: `vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]`, - createButton: `button[type=submit]`, + name: 'vn-client-create vn-textfield[ng-model="$ctrl.client.name"]', + taxNumber: 'vn-client-create vn-textfield[ng-model="$ctrl.client.fi"]', + socialName: 'vn-client-create vn-textfield[ng-model="$ctrl.client.socialName"]', + street: 'vn-client-create vn-textfield[ng-model="$ctrl.client.street"]', + postcode: 'vn-client-create vn-textfield[ng-model="$ctrl.client.postcode"]', + city: 'vn-client-create vn-textfield[ng-model="$ctrl.client.city"]', + province: 'vn-client-create vn-autocomplete[ng-model="$ctrl.client.provinceFk"]', + country: 'vn-client-create vn-autocomplete[ng-model="$ctrl.client.countryFk"]', + userName: 'vn-client-create vn-textfield[ng-model="$ctrl.client.userName"]', + email: 'vn-client-create vn-textfield[ng-model="$ctrl.client.email"]', + salesPerson: 'vn-client-create vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]', + createButton: 'vn-client-create button[type=submit]', cancelButton: 'vn-button[href="#!/client/index"]' }, clientDescriptor: { @@ -48,77 +48,75 @@ export default { }, clientBasicData: { basicDataButton: 'vn-left-menu a[ui-sref="client.card.basicData"]', - nameInput: 'vn-client-basic-data [ng-model="$ctrl.client.name"]', - contactInput: 'vn-client-basic-data [ng-model="$ctrl.client.contact"]', - phoneInput: 'vn-client-basic-data [ng-model="$ctrl.client.phone"]', - mobileInput: 'vn-client-basic-data [ng-model="$ctrl.client.mobile"]', - emailInput: 'vn-client-basic-data [ng-model="$ctrl.client.email"]', - salesPersonAutocomplete: 'vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]', - channelAutocomplete: 'vn-autocomplete[ng-model="$ctrl.client.contactChannelFk"]', - saveButton: `button[type=submit]` + 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"]', + 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]' }, clientFiscalData: { fiscalDataButton: 'vn-left-menu a[ui-sref="client.card.fiscalData"]', - socialNameInput: 'vn-client-fiscal-data [ng-model="$ctrl.client.socialName"]', - fiscalIdInput: 'vn-client-fiscal-data [ng-model="$ctrl.client.fi"]', - equalizationTaxCheckbox: 'vn-check[ng-model="$ctrl.client.isEqualizated"]', + socialName: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.socialName"]', + fiscalId: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.fi"]', + equalizationTax: 'vn-client-fiscal-data vn-check[ng-model="$ctrl.client.isEqualizated"]', acceptPropagationButton: '.vn-confirm.shown button[response=accept]', - addressInput: 'vn-client-fiscal-data [ng-model="$ctrl.client.street"]', - postcodeInput: 'vn-client-fiscal-data [ng-model="$ctrl.client.postcode"]', - cityInput: 'vn-client-fiscal-data [ng-model="$ctrl.client.city"]', - provinceAutocomplete: 'vn-autocomplete[ng-model="$ctrl.client.provinceFk"]', - countryAutocomplete: 'vn-autocomplete[ng-model="$ctrl.client.countryFk"]', - activeCheckbox: 'vn-check[label="Active"]', - frozenCheckbox: 'vn-check[label="Frozen"]', - invoiceByAddressCheckbox: 'vn-check[label="Invoice by address"]', - verifiedDataCheckbox: 'vn-check[label="Verified data"]', - hasToInvoiceCheckbox: 'vn-check[label="Has to invoice"]', - invoiceByMailCheckbox: 'vn-check[label="Invoice by mail"]', - viesCheckbox: 'vn-check[label="Vies"]', - saveButton: `button[type=submit]`, + address: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.street"]', + postcode: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.postcode"]', + city: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.city"]', + province: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.provinceFk"]', + country: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.countryFk"]', + activeCheckbox: 'vn-client-fiscal-data vn-check[label="Active"]', + frozenCheckbox: 'vn-client-fiscal-data vn-check[label="Frozen"]', + invoiceByAddressCheckbox: 'vn-client-fiscal-data vn-check[label="Invoice by address"]', + verifiedDataCheckbox: 'vn-client-fiscal-data vn-check[label="Verified data"]', + hasToInvoiceCheckbox: 'vn-client-fiscal-data vn-check[label="Has to invoice"]', + invoiceByMailCheckbox: 'vn-client-fiscal-data vn-check[label="Invoice by mail"]', + viesCheckbox: 'vn-client-fiscal-data vn-check[label="Vies"]', + saveButton: 'button[type=submit]', watcher: 'vn-client-fiscal-data vn-watcher' }, clientBillingData: { - payMethodAutocomplete: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.payMethodFk"]', - IBANInput: 'vn-client-billing-data [ng-model="$ctrl.client.iban"]', - dueDayInput: 'vn-client-billing-data [ng-model="$ctrl.client.dueDay"]', + payMethod: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.payMethodFk"]', + IBAN: 'vn-client-billing-data vn-textfield[ng-model="$ctrl.client.iban"]', + dueDay: 'vn-client-billing-data vn-input-number[ng-model="$ctrl.client.dueDay"]', receivedCoreLCRCheckbox: 'vn-client-billing-data vn-check[label="Received LCR"]', receivedCoreVNLCheckbox: 'vn-client-billing-data vn-check[label="Received core VNL"]', receivedB2BVNLCheckbox: 'vn-client-billing-data vn-check[label="Received B2B VNL"]', - swiftBicAutocomplete: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.bankEntityFk"]', + swiftBic: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.bankEntityFk"]', clearswiftBicButton: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.bankEntityFk"] .icons > vn-icon[icon=clear]', newBankEntityButton: 'vn-client-billing-data vn-icon-button[vn-tooltip="New bank entity"] > button', - newBankEntityName: '.vn-dialog.shown [ng-model="$ctrl.newBankEntity.name"]', - newBankEntityBIC: '.vn-dialog.shown [ng-model="$ctrl.newBankEntity.bic"]', - newBankEntityCode: '.vn-dialog.shown [ng-model="$ctrl.newBankEntity.id"]', + newBankEntityName: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.name"]', + newBankEntityBIC: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.bic"]', + newBankEntityCode: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.id"]', acceptBankEntityButton: '.vn-dialog.shown button[response="accept"]', saveButton: `button[type=submit]`, watcher: 'vn-client-billing-data vn-watcher' }, clientAddresses: { addressesButton: 'vn-left-menu a[ui-sref="client.card.address.index"]', - createAddress: `vn-client-address-index vn-float-button`, - defaultCheckboxInput: 'vn-check[label="Default"]', - consigneeInput: '[ng-model="$ctrl.address.nickname"]', - streetAddressInput: '[ng-model="$ctrl.address.street"]', - postcodeInput: '[ng-model="$ctrl.address.postalCode"]', - cityInput: '[ng-model="$ctrl.address.city"]', - provinceAutocomplete: 'vn-autocomplete[ng-model="$ctrl.address.provinceId"]', - agencyAutocomplete: 'vn-autocomplete[ng-model="$ctrl.address.agencyModeId"]', - phoneInput: '[ng-model="$ctrl.address.phone"]', - mobileInput: '[ng-model="$ctrl.address.mobile"]', + createAddress: 'vn-client-address-index vn-float-button', + defaultCheckbox: 'vn-check[label="Default"]', + consignee: 'vn-textfield[ng-model="$ctrl.address.nickname"]', + streetAddress: 'vn-textfield[ng-model="$ctrl.address.street"]', + postcode: 'vn-textfield[ng-model="$ctrl.address.postalCode"]', + city: 'vn-textfield[ng-model="$ctrl.address.city"]', + province: 'vn-autocomplete[ng-model="$ctrl.address.provinceId"]', + agency: 'vn-autocomplete[ng-model="$ctrl.address.agencyModeId"]', + phone: 'vn-textfield[ng-model="$ctrl.address.phone"]', + mobileInput: 'vn-textfield[ng-model="$ctrl.address.mobile"]', defaultAddress: 'vn-client-address-index div:nth-child(1) div[name="street"]', - incotermsAutocomplete: 'vn-autocomplete[ng-model="$ctrl.address.incotermsId"]', - customsAgentAutocomplete: 'vn-autocomplete[ng-model="$ctrl.address.customsAgentId"]', + incoterms: 'vn-autocomplete[ng-model="$ctrl.address.incotermsId"]', + customsAgent: 'vn-autocomplete[ng-model="$ctrl.address.customsAgentId"]', secondMakeDefaultStar: 'vn-client-address-index vn-card div:nth-child(2) vn-icon-button[icon="star_border"]', firstEditAddress: 'vn-client-address-index div:nth-child(1) > a', secondEditAddress: 'vn-client-address-index div:nth-child(2) > a', activeCheckbox: 'vn-check[label="Enabled"]', equalizationTaxCheckbox: 'vn-client-address-edit vn-check[label="Is equalizated"]', - firstObservationTypeAutocomplete: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) [ng-model="observation.observationTypeFk"]', - firstObservationDescriptionInput: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) [ng-model="observation.description"]', - secondObservationTypeAutocomplete: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) [ng-model="observation.observationTypeFk"]', - secondObservationDescriptionInput: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) [ng-model="observation.description"]', + firstObservationType: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) vn-autocomplete[ng-model="observation.observationTypeFk"]', + firstObservationDescription: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) vn-textfield[ng-model="observation.description"]', + secondObservationType: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) vn-autocomplete[ng-model="observation.observationTypeFk"]', + secondObservationDescription: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) vn-textfield[ng-model="observation.description"]', addObservationButton: 'vn-client-address-edit div[name="observations"] vn-icon-button[icon="add_circle"]', saveButton: 'button[type=submit]', cancelCreateAddressButton: 'button[ui-sref="client.card.address.index"]', @@ -128,26 +126,26 @@ export default { clientWebAccess: { webAccessButton: 'vn-left-menu a[ui-sref="client.card.webAccess"]', enableWebAccessCheckbox: 'vn-check[label="Enable web access"]', - userNameInput: 'vn-client-web-access [ng-model="$ctrl.account.name"]', + userName: 'vn-client-web-access vn-textfield[ng-model="$ctrl.account.name"]', saveButton: 'button[type=submit]' }, clientNotes: { addNoteFloatButton: 'vn-float-button', - noteInput: '[ng-model="$ctrl.note.text"]', + note: 'vn-textarea[ng-model="$ctrl.note.text"]', saveButton: 'button[type=submit]', firstNoteText: 'vn-client-note .text' }, clientCredit: { addCreditFloatButton: 'vn-float-button', - creditInput: 'vn-client-credit-create [ng-model="$ctrl.client.credit"]', - saveButton: 'button[type=submit]', - firstCreditText: 'vn-client-credit-index vn-card vn-table vn-tbody > vn-tr' + credit: 'vn-client-credit-create vn-input-number[ng-model="$ctrl.client.credit"]', + firstCreditText: 'vn-client-credit-index vn-card vn-table vn-tbody > vn-tr', + saveButton: 'button[type=submit]' }, clientGreuge: { addGreugeFloatButton: 'vn-float-button', - amountInput: 'vn-client-greuge-create [ng-model="$ctrl.greuge.amount"]', - descriptionInput: 'vn-client-greuge-create [ng-model="$ctrl.greuge.description"]', - typeAutocomplete: 'vn-autocomplete[ng-model="$ctrl.greuge.greugeTypeFk"]', + amount: 'vn-client-greuge-create vn-input-number[ng-model="$ctrl.greuge.amount"]', + description: 'vn-client-greuge-create vn-textfield[ng-model="$ctrl.greuge.description"]', + type: 'vn-autocomplete[ng-model="$ctrl.greuge.greugeTypeFk"]', saveButton: 'button[type=submit]', firstGreugeText: 'vn-client-greuge-index vn-card vn-table vn-tbody > vn-tr' }, @@ -166,10 +164,10 @@ export default { }, clientBalance: { balanceButton: 'vn-left-menu a[ui-sref="client.card.balance.index"]', - companyAutocomplete: 'vn-client-balance-index vn-autocomplete[ng-model="$ctrl.companyId"]', + company: 'vn-client-balance-index vn-autocomplete[ng-model="$ctrl.companyId"]', newPaymentButton: `vn-float-button`, newPaymentBank: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.receipt.bankFk"]', - newPaymentAmountInput: '.vn-dialog.shown [ng-model="$ctrl.receipt.amountPaid"]', + newPaymentAmount: '.vn-dialog.shown vn-input-number[ng-model="$ctrl.receipt.amountPaid"]', saveButton: '.vn-dialog.shown vn-button[label="Save"]', firstBalanceLine: 'vn-client-balance-index vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(8)' @@ -191,7 +189,7 @@ export default { searchResultPreviewButton: 'vn-item-index .buttons > [icon="desktop_windows"]', searchResultCloneButton: 'vn-item-index .buttons > [icon="icon-clone"]', acceptClonationAlertButton: '.vn-confirm.shown [response="accept"]', - searchItemInput: 'vn-searchbar', + topbarSearch: 'vn-topbar', searchButton: 'vn-searchbar vn-icon[icon="search"]', closeItemSummaryPreview: '.vn-popup.shown', fieldsToShowButton: 'vn-item-index vn-table > div > div > vn-icon-button[icon="menu"]', @@ -213,10 +211,10 @@ export default { saveFieldsButton: '.vn-dialog.shown vn-horizontal:nth-child(16) > vn-button > button' }, itemCreateView: { - temporalName: 'vn-item-create [ng-model="$ctrl.item.provisionalName"]', - typeAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]', - intrastatAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]', - originAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]', + temporalName: 'vn-item-create vn-textfield[ng-model="$ctrl.item.provisionalName"]', + type: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]', + intrastat: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]', + origin: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]', createButton: 'button[type=submit]', cancelButton: 'vn-button[ui-sref="item.index"]' }, @@ -224,8 +222,8 @@ export default { goBackToModuleIndexButton: 'vn-item-descriptor a[href="#!/item/index"]', moreMenu: 'vn-item-descriptor vn-icon-menu[icon=more_vert]', moreMenuRegularizeButton: '.vn-drop-down.shown li[name="Regularize stock"]', - regularizeQuantityInput: '.vn-dialog.shown [ng-model="$ctrl.quantity"]', - regularizeWarehouseAutocomplete: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.warehouseFk"]', + regularizeQuantity: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.quantity"]', + regularizeWarehouse: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.warehouseFk"]', editButton: 'vn-item-descriptor vn-float-button[icon="edit"]', regularizeSaveButton: '.vn-dialog.shown tpl-buttons > button', inactiveIcon: 'vn-item-descriptor vn-icon[icon="icon-unavailable"]', @@ -234,13 +232,13 @@ export default { itemBasicData: { basicDataButton: 'vn-left-menu a[ui-sref="item.card.basicData"]', goToItemIndexButton: 'vn-item-descriptor [ui-sref="item.index"]', - typeAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]', - intrastatAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]', - nameInput: 'vn-item-basic-data [ng-model="$ctrl.item.name"]', - relevancyInput: 'vn-item-basic-data [ng-model="$ctrl.item.relevancy"]', - originAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]', - expenseAutocomplete: 'vn-autocomplete[ng-model="$ctrl.item.expenseFk"]', - longNameInput: 'vn-textfield[ng-model="$ctrl.item.longName"]', + type: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]', + intrastat: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]', + name: 'vn-item-basic-data vn-textfield[ng-model="$ctrl.item.name"]', + relevancy: 'vn-item-basic-data vn-input-number[ng-model="$ctrl.item.relevancy"]', + origin: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]', + expense: 'vn-autocomplete[ng-model="$ctrl.item.expenseFk"]', + longName: 'vn-textfield[ng-model="$ctrl.item.longName"]', isActiveCheckbox: 'vn-check[label="Active"]', priceInKgCheckbox: 'vn-check[label="Price in kg"]', submitBasicDataButton: `button[type=submit]` @@ -248,50 +246,50 @@ export default { itemTags: { goToItemIndexButton: 'vn-item-descriptor [ui-sref="item.index"]', tagsButton: 'vn-left-menu a[ui-sref="item.card.tags"]', - fourthTagAutocomplete: 'vn-item-tags vn-horizontal:nth-child(4) > vn-autocomplete[ng-model="itemTag.tagFk"]', - fourthValueInput: 'vn-item-tags vn-horizontal:nth-child(4) [ng-model="itemTag.value"]', - fourthRelevancyInput: 'vn-item-tags vn-horizontal:nth-child(4) [ng-model="itemTag.priority"]', + fourthTag: 'vn-item-tags vn-horizontal:nth-child(4) > vn-autocomplete[ng-model="itemTag.tagFk"]', + fourthValue: 'vn-item-tags vn-horizontal:nth-child(4) vn-textfield[ng-model="itemTag.value"]', + fourthRelevancy: 'vn-item-tags vn-horizontal:nth-child(4) [ng-model="itemTag.priority"]', fourthRemoveTagButton: 'vn-item-tags vn-horizontal:nth-child(4) vn-icon-button[icon="delete"]', - fifthTagAutocomplete: 'vn-item-tags vn-horizontal:nth-child(5) > vn-autocomplete[ng-model="itemTag.tagFk"]', - fifthValueInput: 'vn-item-tags vn-horizontal:nth-child(5) [ng-model="itemTag.value"]', - fifthRelevancyInput: 'vn-item-tags vn-horizontal:nth-child(5) [ng-model="itemTag.priority"]', - sixthTagAutocomplete: 'vn-item-tags vn-horizontal:nth-child(6) > vn-autocomplete[ng-model="itemTag.tagFk"]', - sixthValueInput: 'vn-item-tags vn-horizontal:nth-child(6) [ng-model="itemTag.value"]', - sixthRelevancyInput: 'vn-item-tags vn-horizontal:nth-child(6) [ng-model="itemTag.priority"]', - seventhTagAutocomplete: 'vn-item-tags vn-horizontal:nth-child(7) > vn-autocomplete[ng-model="itemTag.tagFk"]', - seventhValueInput: 'vn-item-tags vn-horizontal:nth-child(7) [ng-model="itemTag.value"]', - seventhRelevancyInput: 'vn-item-tags vn-horizontal:nth-child(7) [ng-model="itemTag.priority"]', + fifthTag: 'vn-item-tags vn-horizontal:nth-child(5) > vn-autocomplete[ng-model="itemTag.tagFk"]', + fifthValue: 'vn-item-tags vn-horizontal:nth-child(5) vn-textfield[ng-model="itemTag.value"]', + fifthRelevancy: 'vn-item-tags vn-horizontal:nth-child(5) vn-textfield[ng-model="itemTag.priority"]', + sixthTag: 'vn-item-tags vn-horizontal:nth-child(6) > vn-autocomplete[ng-model="itemTag.tagFk"]', + sixthValue: 'vn-item-tags vn-horizontal:nth-child(6) vn-textfield[ng-model="itemTag.value"]', + sixthRelevancy: 'vn-item-tags vn-horizontal:nth-child(6) vn-textfield[ng-model="itemTag.priority"]', + seventhTag: 'vn-item-tags vn-horizontal:nth-child(7) > vn-autocomplete[ng-model="itemTag.tagFk"]', + seventhValue: 'vn-item-tags vn-horizontal:nth-child(7) vn-textfield[ng-model="itemTag.value"]', + seventhRelevancy: 'vn-item-tags vn-horizontal:nth-child(7) vn-textfield[ng-model="itemTag.priority"]', addItemTagButton: 'vn-item-tags vn-icon-button[icon="add_circle"]', submitItemTagsButton: 'vn-item-tags button[type=submit]' }, itemTax: { undoChangesButton: 'vn-item-tax vn-button-bar > vn-button[label="Undo changes"]', - firstClassAutocomplete: 'vn-item-tax vn-horizontal:nth-child(1) > vn-autocomplete[ng-model="tax.taxClassFk"]', - secondClassAutocomplete: 'vn-item-tax vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="tax.taxClassFk"]', - thirdClassAutocomplete: 'vn-item-tax vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="tax.taxClassFk"]', + firstClass: 'vn-item-tax vn-horizontal:nth-child(1) > vn-autocomplete[ng-model="tax.taxClassFk"]', + secondClass: 'vn-item-tax vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="tax.taxClassFk"]', + thirdClass: 'vn-item-tax vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="tax.taxClassFk"]', submitTaxButton: 'vn-item-tax button[type=submit]' }, itemBarcodes: { addBarcodeButton: 'vn-item-barcode vn-icon[icon="add_circle"]', - thirdCodeInput: 'vn-item-barcode vn-horizontal:nth-child(3) [ng-model="barcode.code"]', + thirdCode: 'vn-item-barcode vn-horizontal:nth-child(3) vn-textfield[ng-model="barcode.code"]', submitBarcodesButton: 'vn-item-barcode button[type=submit]', firstCodeRemoveButton: 'vn-item-barcode vn-horizontal vn-none vn-icon[icon="delete"]' }, itemNiches: { addNicheButton: 'vn-item-niche vn-icon[icon="add_circle"]', - firstWarehouseAutocomplete: 'vn-item-niche vn-autocomplete[ng-model="niche.warehouseFk"]', - firstCodeInput: 'vn-item-niche vn-horizontal:nth-child(1) [ng-model="niche.code"]', - secondWarehouseAutocomplete: 'vn-item-niche vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="niche.warehouseFk"]', - secondCodeInput: 'vn-item-niche vn-horizontal:nth-child(2) [ng-model="niche.code"]', + firstWarehouse: 'vn-item-niche vn-autocomplete[ng-model="niche.warehouseFk"]', + firstCode: 'vn-item-niche vn-horizontal:nth-child(1) vn-textfield[ng-model="niche.code"]', + secondWarehouse: 'vn-item-niche vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="niche.warehouseFk"]', + secondCode: 'vn-item-niche vn-horizontal:nth-child(2) vn-textfield[ng-model="niche.code"]', secondNicheRemoveButton: 'vn-item-niche vn-horizontal:nth-child(2) > vn-none > vn-icon-button[icon="delete"]', - thirdWarehouseAutocomplete: 'vn-item-niche vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="niche.warehouseFk"]', - thirdCodeInput: 'vn-item-niche vn-horizontal:nth-child(3) [ng-model="niche.code"]', + thirdWarehouse: 'vn-item-niche vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="niche.warehouseFk"]', + thirdCode: 'vn-item-niche vn-horizontal:nth-child(3) vn-textfield[ng-model="niche.code"]', submitNichesButton: 'vn-item-niche button[type=submit]' }, itemBotanical: { - botanicalInput: 'vn-item-botanical vn-horizontal:nth-child(1) [ng-model="$ctrl.botanical.botanical"]', - genusAutocomplete: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.genusFk"]', - speciesAutocomplete: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.specieFk"]', + botanical: 'vn-item-botanical vn-horizontal:nth-child(1) vn-textfield[ng-model="$ctrl.botanical.botanical"]', + genus: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.genusFk"]', + species: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.specieFk"]', submitBotanicalButton: `vn-item-botanical button[type=submit]` }, itemSummary: { @@ -306,7 +304,7 @@ export default { secondTicketId: 'vn-item-diary vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(2) > span', firstBalance: 'vn-item-diary vn-tbody > vn-tr:nth-child(1) > vn-td.balance', fourthBalance: 'vn-item-diary vn-tbody > vn-tr:nth-child(4) > vn-td.balance', - warehouseAutocomplete: 'vn-item-diary vn-autocomplete[ng-model="$ctrl.warehouseFk"]', + warehouse: 'vn-item-diary vn-autocomplete[ng-model="$ctrl.warehouseFk"]', }, itemLog: { anyLineCreated: 'vn-item-log > vn-log vn-tbody > vn-tr', @@ -330,29 +328,27 @@ export default { }, ticketsIndex: { openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]', - advancedSearchInvoiceOut: 'vn-ticket-search-panel [ng-model="filter.refFk"]', + advancedSearchInvoiceOut: 'vn-ticket-search-panel vn-textfield[ng-model="filter.refFk"]', newTicketButton: 'vn-ticket-index > a', searchResult: 'vn-ticket-index vn-card > vn-table > div > vn-tbody > a.vn-tr', searchWeeklyResult: 'vn-ticket-weekly-index vn-table vn-tbody > vn-tr', searchResultDate: 'vn-ticket-index vn-table vn-tbody > a:nth-child(1) > vn-td:nth-child(5)', - searchTicketInput: 'vn-searchbar', - searchWeeklyClearInput: 'vn-searchbar vn-icon[icon=clear]', + topbarSearch: 'vn-searchbar', advancedSearchButton: 'vn-ticket-search-panel button[type=submit]', searchButton: 'vn-searchbar vn-icon[icon="search"]', searchWeeklyButton: 'vn-searchbar vn-icon[icon="search"]', moreMenu: 'vn-ticket-index vn-icon-menu[icon=more_vert]', - menuWeeklyTickets: 'vn-left-menu [ui-sref="ticket.weekly.index"]', sixthWeeklyTicket: 'vn-ticket-weekly-index vn-table vn-tr:nth-child(6)', weeklyTicket: 'vn-ticket-weekly-index vn-table > div > vn-tbody > vn-tr', firstWeeklyTicketDeleteIcon: 'vn-ticket-weekly-index vn-tr:nth-child(1) vn-icon-button[icon="delete"]', acceptDeleteTurn: '.vn-confirm.shown button[response="accept"]' }, createTicketView: { - clientAutocomplete: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.clientId"]', - addressAutocomplete: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.addressId"]', - deliveryDateInput: 'vn-ticket-create vn-date-picker[ng-model="$ctrl.landed"]', - warehouseAutocomplete: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.warehouseId"]', - agencyAutocomplete: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.agencyModeId"]', + client: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.clientId"]', + address: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.addressId"]', + deliveryDate: 'vn-ticket-create vn-date-picker[ng-model="$ctrl.landed"]', + warehouse: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.warehouseId"]', + agency: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.agencyModeId"]', createButton: `button[type=submit]` }, ticketDescriptor: { @@ -367,7 +363,7 @@ export default { moreMenuMakeInvoice: '.vn-drop-down.shown li[name="Make invoice"]', moreMenuChangeShippedHour: '.vn-drop-down.shown li[name="Change shipped hour"]', changeShippedHourDialog: '.vn-dialog.shown', - changeShippedHourInput: '.vn-dialog.shown [ng-model="$ctrl.newShipped"]', + changeShippedHour: '.vn-dialog.shown vn-input-time[ng-model="$ctrl.newShipped"]', addStowawayDialogFirstTicket: '.vn-dialog.shown vn-table vn-tbody vn-tr', shipButton: 'vn-ticket-descriptor vn-icon[icon="icon-stowaway"]', thursdayButton: '.vn-popup.shown vn-tool-bar > vn-button:nth-child(4)', @@ -381,8 +377,8 @@ export default { ticketNotes: { firstNoteRemoveButton: 'vn-icon[icon="delete"]', addNoteButton: 'vn-icon[icon="add_circle"]', - firstNoteTypeAutocomplete: 'vn-autocomplete[ng-model="observation.observationTypeFk"]', - firstDescriptionInput: 'vn-ticket-observation [ng-model="observation.description"]', + firstNoteType: 'vn-autocomplete[ng-model="observation.observationTypeFk"]', + firstDescription: 'vn-ticket-observation vn-textfield[ng-model="observation.description"]', submitNotesButton: 'button[type=submit]' }, ticketExpedition: { @@ -393,8 +389,8 @@ export default { }, ticketPackages: { packagesButton: 'vn-left-menu a[ui-sref="ticket.card.package"]', - firstPackageAutocomplete: 'vn-autocomplete[label="Package"]', - firstQuantityInput: 'vn-ticket-package vn-horizontal:nth-child(1) [ng-model="package.quantity"]', + firstPackage: 'vn-autocomplete[label="Package"]', + firstQuantity: 'vn-ticket-package vn-horizontal:nth-child(1) vn-input-number[ng-model="package.quantity"]', firstRemovePackageButton: 'vn-icon-button[vn-tooltip="Remove package"]', addPackageButton: 'vn-icon-button[vn-tooltip="Add package"]', clearPackageAutocompleteButton: 'vn-autocomplete[label="Package"] .icons > vn-icon[icon=clear]', @@ -461,21 +457,18 @@ export default { }, ticketTracking: { trackingButton: 'vn-left-menu a[ui-sref="ticket.card.tracking.index"]', - createStateButton: `vn-float-button`, - stateAutocomplete: 'vn-ticket-tracking-edit vn-autocomplete[ng-model="$ctrl.stateFk"]', - saveButton: `button[type=submit]`, + createStateButton: 'vn-float-button', + saveButton: 'button[type=submit]', cancelButton: 'vn-ticket-tracking-edit vn-button[ui-sref="ticket.card.tracking.index"]' }, ticketBasicData: { basicDataButton: 'vn-left-menu a[ui-sref="ticket.card.basicData.stepOne"]', - clientAutocomplete: 'vn-autocomplete[ng-model="$ctrl.clientFk"]', - addressAutocomplete: 'vn-autocomplete[ng-model="$ctrl.ticket.addressFk"]', - agencyAutocomplete: 'vn-autocomplete[ng-model="$ctrl.agencyModeId"]', - zoneAutocomplete: 'vn-autocomplete[ng-model="$ctrl.zoneId"]', + agency: 'vn-autocomplete[ng-model="$ctrl.agencyModeId"]', + zone: 'vn-autocomplete[ng-model="$ctrl.zoneId"]', nextStepButton: 'vn-step-control .buttons > section:last-child vn-button', finalizeButton: 'vn-step-control .buttons > section:last-child button[type=submit]', stepTwoTotalPriceDif: 'vn-ticket-basic-data-step-two vn-tfoot > vn-tr > :nth-child(6)', - chargesReasonAutocomplete: 'vn-autocomplete[ng-model="$ctrl.ticket.option"]', + chargesReason: 'vn-autocomplete[ng-model="$ctrl.ticket.option"]', }, ticketComponents: { base: 'vn-ticket-components [name="base-sum"]' @@ -484,9 +477,9 @@ export default { addRequestButton: 'vn-ticket-request-index > a > vn-float-button > button', request: 'vn-ticket-request-index vn-table vn-tr', descriptionInput: 'vn-ticket-request-create [ng-model="$ctrl.ticketRequest.description"]', - atenderAutocomplete: 'vn-ticket-request-create vn-autocomplete[ng-model="$ctrl.ticketRequest.attenderFk"]', - quantityInput: 'vn-ticket-request-create [ng-model="$ctrl.ticketRequest.quantity"]', - priceInput: 'vn-ticket-request-create [ng-model="$ctrl.ticketRequest.price"]', + atender: 'vn-ticket-request-create vn-autocomplete[ng-model="$ctrl.ticketRequest.attenderFk"]', + quantity: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.quantity"]', + price: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.price"]', firstRemoveRequestButton: 'vn-ticket-request-index vn-icon[icon="delete"]:nth-child(1)', saveButton: 'vn-ticket-request-create button[type=submit]', firstDescription: 'vn-ticket-request-index vn-table vn-tr:nth-child(1) > vn-td:nth-child(2) vn-textfield', @@ -501,20 +494,20 @@ export default { ticketService: { addServiceButton: 'vn-ticket-service vn-icon-button[vn-tooltip="Add service"] > button', firstAddServiceTypeButton: 'vn-ticket-service vn-icon-button[vn-tooltip="New service type"]', - firstServiceTypeAutocomplete: 'vn-ticket-service vn-autocomplete[ng-model="service.ticketServiceTypeFk"]', - firstQuantityInput: 'vn-ticket-service [ng-model="service.quantity"]', - firstPriceInput: 'vn-ticket-service [ng-model="service.price"]', - firstVatTypeAutocomplete: 'vn-ticket-service vn-autocomplete[label="Tax class"]', + firstServiceType: 'vn-ticket-service vn-autocomplete[ng-model="service.ticketServiceTypeFk"]', + firstQuantity: 'vn-ticket-service vn-input-number[ng-model="service.quantity"]', + firstPrice: 'vn-ticket-service vn-input-number[ng-model="service.price"]', + firstVatType: 'vn-ticket-service vn-autocomplete[label="Tax class"]', fistDeleteServiceButton: 'vn-ticket-service form vn-horizontal:nth-child(1) vn-icon-button[icon="delete"]', - newServiceTypeNameInput: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newServiceType.name"]', - newServiceTypeExpenseAutocomplete: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.newServiceType.expenseFk"]', + newServiceTypeName: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newServiceType.name"]', + newServiceTypeExpense: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.newServiceType.expenseFk"]', serviceLine: 'vn-ticket-service > form > vn-card > vn-one:nth-child(2) > vn-horizontal', saveServiceButton: `button[type=submit]`, saveServiceTypeButton: '.vn-dialog.shown tpl-buttons > button' }, createStateView: { - stateAutocomplete: 'vn-autocomplete[ng-model="$ctrl.stateFk"]', - workerAutocomplete: 'vn-autocomplete[ng-model="$ctrl.workerFk"]', + state: 'vn-autocomplete[ng-model="$ctrl.stateFk"]', + worker: 'vn-autocomplete[ng-model="$ctrl.workerFk"]', clearStateInputButton: 'vn-autocomplete[ng-model="$ctrl.stateFk"] .icons > vn-icon[icon=clear]', saveStateButton: `button[type=submit]` }, @@ -531,7 +524,7 @@ export default { claimSummary: { header: 'vn-claim-summary > vn-card > h5', state: 'vn-claim-summary vn-label-value[label="State"] > section > span', - observation: 'vn-claim-summary vn-textarea[ng-model="$ctrl.summary.claim.observation"] textarea', + observation: 'vn-claim-summary vn-textarea[ng-model="$ctrl.summary.claim.observation"]', firstSaleItemId: 'vn-claim-summary vn-horizontal > vn-auto:nth-child(4) vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(1) > span', firstSaleDescriptorImage: '.vn-popover.shown vn-item-descriptor img', itemDescriptorPopover: '.vn-popover.shown vn-item-descriptor', @@ -542,14 +535,14 @@ export default { firstActionTicketDescriptor: '.vn-popover.shown vn-ticket-descriptor' }, claimBasicData: { - claimStateAutocomplete: 'vn-claim-basic-data vn-autocomplete[ng-model="$ctrl.claim.claimStateFk"]', + claimState: 'vn-claim-basic-data vn-autocomplete[ng-model="$ctrl.claim.claimStateFk"]', responsabilityInputRange: 'vn-range', - observationInput: 'vn-textarea[ng-model="$ctrl.claim.observation"]', + observation: 'vn-textarea[ng-model="$ctrl.claim.observation"]', saveButton: `button[type=submit]` }, claimDetail: { secondItemDiscount: 'vn-claim-detail > vn-vertical > vn-card > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(6) > span', - discountInput: '.vn-popover.shown [ng-model="$ctrl.newDiscount"]', + discount: '.vn-popover.shown vn-input-number[ng-model="$ctrl.newDiscount"]', discoutPopoverMana: '.vn-popover.shown .content > div > vn-horizontal > h5', addItemButton: 'vn-claim-detail a vn-float-button', firstClaimableSaleFromTicket: '.vn-dialog.shown vn-tbody > vn-tr', @@ -560,16 +553,16 @@ export default { claimDevelopment: { addDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > vn-vertical > vn-one > vn-icon-button > button > vn-icon', firstDeleteDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > vn-vertical > form > vn-horizontal:nth-child(2) > vn-icon-button > button > vn-icon', - firstClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]', - firstClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]', - firstClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]', - firstClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.workerFk"]', - firstClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]', - secondClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]', - secondClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]', - secondClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]', - secondClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.workerFk"]', - secondClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]', + firstClaimReason: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]', + firstClaimResult: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]', + firstClaimResponsible: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]', + firstClaimWorker: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.workerFk"]', + firstClaimRedelivery: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]', + secondClaimReason: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]', + secondClaimResult: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]', + secondClaimResponsible: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]', + secondClaimWorker: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.workerFk"]', + secondClaimRedelivery: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]', saveDevelopmentButton: 'button[type=submit]' }, claimAction: { @@ -593,31 +586,29 @@ export default { acceptNavigationButton: '.vn-confirm.shown button[response=accept]' }, createOrderView: { - clientAutocomplete: 'vn-autocomplete[label="Client"]', - addressAutocomplete: 'vn-autocomplete[label="Address"]', - agencyAutocomplete: 'vn-autocomplete[label="Agency"]', + client: 'vn-autocomplete[label="Client"]', + agency: 'vn-autocomplete[label="Agency"]', landedDatePicker: 'vn-date-picker[label="Landed"]', createButton: 'button[type=submit]', cancelButton: 'vn-button[href="#!/client/index"]' }, orderCatalog: { - orderByAutocomplete: 'vn-autocomplete[label="Order by"]', plantRealmButton: 'vn-order-catalog > vn-side-menu vn-icon[icon="icon-plant"]', - typeAutocomplete: 'vn-autocomplete[data="$ctrl.itemTypes"]', - itemIdInput: 'vn-catalog-filter vn-textfield[ng-model="$ctrl.itemId"]', - itemTagValueInput: 'vn-catalog-filter vn-textfield[ng-model="$ctrl.value"]', + type: 'vn-autocomplete[data="$ctrl.itemTypes"]', + itemId: 'vn-catalog-filter vn-textfield[ng-model="$ctrl.itemId"]', + itemTagValue: 'vn-catalog-filter vn-textfield[ng-model="$ctrl.value"]', openTagSearch: 'vn-catalog-filter > div > vn-vertical > vn-textfield[ng-model="$ctrl.value"] .append i', - tagAutocomplete: 'vn-order-catalog-search-panel vn-autocomplete[ng-model="filter.tagFk"]', - tagValueInput: 'vn-order-catalog-search-panel [ng-model="filter.value"]', + tag: 'vn-order-catalog-search-panel vn-autocomplete[ng-model="filter.tagFk"]', + tagValue: 'vn-order-catalog-search-panel vn-textfield[ng-model="filter.value"]', searchTagButton: 'vn-order-catalog-search-panel button[type=submit]', thirdFilterRemoveButton: 'vn-catalog-filter .chips > vn-chip:nth-child(3) vn-icon[icon=cancel]', fourthFilterRemoveButton: 'vn-catalog-filter .chips > vn-chip:nth-child(4) vn-icon[icon=cancel]', }, orderBasicData: { - clientAutocomplete: 'vn-autocomplete[label="Client"]', - addressAutocomplete: 'vn-autocomplete[label="Address"]', - agencyAutocomplete: 'vn-autocomplete[label="Agency"]', - observationInput: 'vn-textarea[label="Observation"] textarea', + client: 'vn-autocomplete[label="Client"]', + address: 'vn-autocomplete[label="Address"]', + agency: 'vn-autocomplete[label="Agency"]', + observation: 'vn-textarea[label="Observation"]', saveButton: `button[type=submit]`, acceptButton: '.vn-confirm.shown button[response="accept"]' }, @@ -631,11 +622,11 @@ export default { addNewRouteButton: 'vn-route-index > a[ui-sref="route.create"]' }, createRouteView: { - workerAutocomplete: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.workerFk"]', + worker: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.workerFk"]', createdDatePicker: 'vn-route-create vn-date-picker[ng-model="$ctrl.route.created"]', - vehicleAutoComplete: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]', - agencyAutoComplete: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.agencyModeFk"]', - descriptionInput: 'vn-route-create [ng-model="$ctrl.route.description"]', + vehicleAuto: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]', + agency: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.agencyModeFk"]', + description: 'vn-route-create [ng-model="$ctrl.route.description"]', submitButton: 'vn-route-create button[type=submit]' }, routeDescriptor: { @@ -645,14 +636,13 @@ export default { routeId: 'vn-route-summary > vn-card > vn-horizontal > vn-one:nth-child(1) > vn-label-value:nth-child(1) > section > span' }, routeBasicData: { - workerAutoComplete: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.workerFk"]', - vehicleAutoComplete: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]', - agencyAutoComplete: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.agencyModeFk"]', - kmStartInput: 'vn-route-basic-data [ng-model="$ctrl.route.kmStart"]', - kmEndInput: 'vn-route-basic-data [ng-model="$ctrl.route.kmEnd"]', - createdDateInput: 'vn-route-basic-data vn-date-picker[ng-model="$ctrl.route.created"]', - startedHourInput: 'vn-route-basic-data [ng-model="$ctrl.route.started"]', - finishedHourInput: 'vn-route-basic-data [ng-model="$ctrl.route.finished"]', + worker: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.workerFk"]', + vehicle: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]', + kmStart: 'vn-route-basic-data vn-input-number[ng-model="$ctrl.route.kmStart"]', + kmEnd: 'vn-route-basic-data vn-input-number[ng-model="$ctrl.route.kmEnd"]', + createdDate: 'vn-route-basic-data vn-date-picker[ng-model="$ctrl.route.created"]', + startedHour: 'vn-route-basic-data vn-input-time[ng-model="$ctrl.route.started"]', + finishedHour: 'vn-route-basic-data vn-input-time[ng-model="$ctrl.route.finished"]', saveButton: 'vn-route-basic-data button[type=submit]' }, routeTickets: { @@ -667,11 +657,11 @@ export default { confirmButton: '.vn-confirm.shown button[response="accept"]' }, workerPbx: { - extensionInput: 'vn-worker-pbx [ng-model="$ctrl.worker.sip.extension"]', + extension: 'vn-worker-pbx vn-textfield[ng-model="$ctrl.worker.sip.extension"]', saveButton: 'vn-worker-pbx button[type=submit]' }, workerTimeControl: { - timeDialogInput: '.vn-dialog.shown [ng-model="$ctrl.newTime"]', + timeDialog: '.vn-dialog.shown vn-input-time[ng-model="$ctrl.newTime"]', mondayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(1) > vn-icon-button', tuesdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(2) > vn-icon-button', wednesdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(3) > vn-icon-button', @@ -723,7 +713,7 @@ export default { acceptDeleteDialog: '.vn-confirm.shown button[response="accept"]' }, invoiceOutIndex: { - searchInvoiceOutInput: 'vn-searchbar', + topbarSearch: 'vn-searchbar', searchButton: 'vn-searchbar vn-icon[icon="search"]', searchResult: 'vn-invoice-out-index vn-card > vn-table > div > vn-tbody > a.vn-tr', }, diff --git a/e2e/paths/02-client-module/01_create_client.spec.js b/e2e/paths/02-client-module/01_create_client.spec.js index f09a07265..4fe76c959 100644 --- a/e2e/paths/02-client-module/01_create_client.spec.js +++ b/e2e/paths/02-client-module/01_create_client.spec.js @@ -15,7 +15,7 @@ describe('Client create path', async() => { }); it(`should search for the user Carol Danvers to confirm it isn't created yet`, async() => { - await page.write(selectors.clientsIndex.searchClientInput, 'Carol Danvers'); + await page.write(selectors.clientsIndex.topbarSearch, 'Carol Danvers'); await page.waitToClick(selectors.clientsIndex.searchButton); await page.waitForNumberOfElements(selectors.clientsIndex.searchResult, 0); const result = await page.countElement(selectors.clientsIndex.searchResult); @@ -42,7 +42,7 @@ describe('Client create path', async() => { await page.write(selectors.createClientView.taxNumber, '74451390E'); await page.write(selectors.createClientView.userName, 'CaptainMarvel'); await page.write(selectors.createClientView.email, 'CarolDanvers@verdnatura.es'); - await page.autocompleteSearch(selectors.createClientView.salesPersonAutocomplete, 'replenisher'); + await page.autocompleteSearch(selectors.createClientView.salesPerson, 'replenisher'); await page.waitToClick(selectors.createClientView.createButton); const result = await page.waitForLastSnackbar(); 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 4bf2d0120..6be3f4baa 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 @@ -18,22 +18,22 @@ describe('Client Edit basicData path', () => { describe('as employee', () => { it('should not be able to change the salesPerson', async() => { - await page.wait(selectors.clientBasicData.nameInput); + await page.wait(selectors.clientBasicData.name); const result = await page.evaluate(selector => { return document.querySelector(selector).disabled; - }, `${selectors.clientBasicData.salesPersonAutocomplete} input`); + }, `${selectors.clientBasicData.salesPerson} input`); expect(result).toBeTruthy(); }); it('should edit the client basic data but leave salesPerson untainted', async() => { - await page.clearInput(selectors.clientBasicData.nameInput); - await page.write(selectors.clientBasicData.nameInput, 'Ptonomy Wallace'); - await page.clearInput(selectors.clientBasicData.contactInput); - await page.write(selectors.clientBasicData.contactInput, 'David Haller'); - await page.clearInput(selectors.clientBasicData.emailInput); - await page.write(selectors.clientBasicData.emailInput, 'PWallace@verdnatura.es'); - await page.autocompleteSearch(selectors.clientBasicData.channelAutocomplete, 'Rumors on the streets'); + await page.clearInput(selectors.clientBasicData.name); + await page.write(selectors.clientBasicData.name, 'Ptonomy Wallace'); + await page.clearInput(selectors.clientBasicData.contact); + await page.write(selectors.clientBasicData.contact, 'David Haller'); + await page.clearInput(selectors.clientBasicData.email); + await page.write(selectors.clientBasicData.email, 'PWallace@verdnatura.es'); + await page.autocompleteSearch(selectors.clientBasicData.channel, 'Rumors on the streets'); await page.waitToClick(selectors.clientBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -42,28 +42,28 @@ describe('Client Edit basicData path', () => { it('should confirm the name have been edited', async() => { await page.reloadSection('client.card.basicData'); - const result = await page.waitToGetProperty(selectors.clientBasicData.nameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientBasicData.name, 'value'); expect(result).toEqual('Ptonomy Wallace'); }); it('should confirm the contact name have been edited', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.contactInput, 'value'); + .waitToGetProperty(selectors.clientBasicData.contact, 'value'); expect(result).toEqual('David Haller'); }); it('should confirm the email have been edited', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.emailInput, 'value'); + .waitToGetProperty(selectors.clientBasicData.email, 'value'); expect(result).toEqual('PWallace@verdnatura.es'); }); it('should confirm the channel have been selected', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.channelAutocomplete, 'value'); + .waitToGetProperty(selectors.clientBasicData.channel, 'value'); expect(result).toEqual('Rumors on the streets'); }); @@ -77,23 +77,23 @@ describe('Client Edit basicData path', () => { }); it('should be able to change the salesPerson', async() => { - await page.wait(selectors.clientBasicData.nameInput); + await page.wait(selectors.clientBasicData.name); const result = await page.evaluate(selector => { return document.querySelector(selector).disabled; - }, `${selectors.clientBasicData.salesPersonAutocomplete} input`); + }, `${selectors.clientBasicData.salesPerson} input`); expect(result).toBeFalsy(); }); it('should edit the client basic data including salesPerson', async() => { - await page.clearInput(selectors.clientBasicData.nameInput); - await page.write(selectors.clientBasicData.nameInput, 'Ororo Munroe'); - await page.clearInput(selectors.clientBasicData.contactInput); - await page.write(selectors.clientBasicData.contactInput, 'Black Panther'); - await page.clearInput(selectors.clientBasicData.emailInput); - await page.write(selectors.clientBasicData.emailInput, 'Storm@verdnatura.es'); - await page.autocompleteSearch(selectors.clientBasicData.salesPersonAutocomplete, 'replenisherNick'); - await page.autocompleteSearch(selectors.clientBasicData.channelAutocomplete, 'Metropolis newspaper'); + await page.clearInput(selectors.clientBasicData.name); + await page.write(selectors.clientBasicData.name, 'Ororo Munroe'); + await page.clearInput(selectors.clientBasicData.contact); + 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.autocompleteSearch(selectors.clientBasicData.salesPerson, 'replenisherNick'); + await page.autocompleteSearch(selectors.clientBasicData.channel, 'Metropolis newspaper'); await page.waitToClick(selectors.clientBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -102,35 +102,35 @@ describe('Client Edit basicData path', () => { it('should now confirm the name have been edited', async() => { await page.reloadSection('client.card.basicData'); - const result = await page.waitToGetProperty(selectors.clientBasicData.nameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientBasicData.name, 'value'); expect(result).toEqual('Ororo Munroe'); }); it('should now confirm the contact name have been edited', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.contactInput, 'value'); + .waitToGetProperty(selectors.clientBasicData.contact, 'value'); expect(result).toEqual('Black Panther'); }); it('should now confirm the email have been edited', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.emailInput, 'value'); + .waitToGetProperty(selectors.clientBasicData.email, 'value'); expect(result).toEqual('Storm@verdnatura.es'); }); it('should confirm the sales person have been selected', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.salesPersonAutocomplete, 'value'); + .waitToGetProperty(selectors.clientBasicData.salesPerson, 'value'); expect(result).toEqual('replenisherNick'); }); it('should now confirm the channel have been selected', async() => { const result = await page - .waitToGetProperty(selectors.clientBasicData.channelAutocomplete, 'value'); + .waitToGetProperty(selectors.clientBasicData.channel, 'value'); expect(result).toEqual('Metropolis newspaper'); }); diff --git a/e2e/paths/02-client-module/03_edit_fiscal_data.spec.js b/e2e/paths/02-client-module/03_edit_fiscal_data.spec.js index d9e6e775c..854f41f5b 100644 --- a/e2e/paths/02-client-module/03_edit_fiscal_data.spec.js +++ b/e2e/paths/02-client-module/03_edit_fiscal_data.spec.js @@ -58,26 +58,26 @@ describe('Client Edit fiscalData path', () => { }); it(`should edit the fiscal data but fail as the fiscal id ain't valid`, async() => { - await page.wait(selectors.clientFiscalData.socialNameInput); - await page.clearInput(selectors.clientFiscalData.socialNameInput); - await page.write(selectors.clientFiscalData.socialNameInput, 'SMASH'); - await page.clearInput(selectors.clientFiscalData.fiscalIdInput); - await page.write(selectors.clientFiscalData.fiscalIdInput, 'INVALID!'); - await page.clearInput(selectors.clientFiscalData.addressInput); - await page.write(selectors.clientFiscalData.addressInput, 'Somewhere edited'); - await page.autocompleteSearch(selectors.clientFiscalData.countryAutocomplete, 'España'); - await page.autocompleteSearch(selectors.clientFiscalData.provinceAutocomplete, 'Province one'); - await page.clearInput(selectors.clientFiscalData.cityInput); - await page.write(selectors.clientFiscalData.cityInput, 'Valencia'); - await page.clearInput(selectors.clientFiscalData.postcodeInput); - await page.write(selectors.clientFiscalData.postcodeInput, '46000'); + await page.wait(selectors.clientFiscalData.socialName); + await page.clearInput(selectors.clientFiscalData.socialName); + await page.write(selectors.clientFiscalData.socialName, 'SMASH'); + await page.clearInput(selectors.clientFiscalData.fiscalId); + await page.write(selectors.clientFiscalData.fiscalId, 'INVALID!'); + await page.clearInput(selectors.clientFiscalData.address); + await page.write(selectors.clientFiscalData.address, 'Somewhere edited'); + await page.autocompleteSearch(selectors.clientFiscalData.country, 'España'); + await page.autocompleteSearch(selectors.clientFiscalData.province, 'Province one'); + await page.clearInput(selectors.clientFiscalData.city); + await page.write(selectors.clientFiscalData.city, 'Valencia'); + await page.clearInput(selectors.clientFiscalData.postcode); + await page.write(selectors.clientFiscalData.postcode, '46000'); await page.waitToClick(selectors.clientFiscalData.activeCheckbox); await page.waitToClick(selectors.clientFiscalData.frozenCheckbox); await page.waitToClick(selectors.clientFiscalData.hasToInvoiceCheckbox); await page.waitToClick(selectors.clientFiscalData.viesCheckbox); await page.waitToClick(selectors.clientFiscalData.invoiceByMailCheckbox); await page.waitToClick(selectors.clientFiscalData.invoiceByAddressCheckbox); - await page.waitToClick(selectors.clientFiscalData.equalizationTaxCheckbox); + await page.waitToClick(selectors.clientFiscalData.equalizationTax); await page.waitToClick(selectors.clientFiscalData.verifiedDataCheckbox); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -86,8 +86,8 @@ describe('Client Edit fiscalData path', () => { }, 15000); it(`should edit the fiscal this time with a valid fiscal id`, async() => { - await page.clearInput(selectors.clientFiscalData.fiscalIdInput); - await page.write(selectors.clientFiscalData.fiscalIdInput, '94980061C'); + await page.clearInput(selectors.clientFiscalData.fiscalId); + await page.write(selectors.clientFiscalData.fiscalId, '94980061C'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -103,8 +103,8 @@ describe('Client Edit fiscalData path', () => { it('should receive an error if the fiscal id contains A or B at the beginning', async() => { await page.waitToClick(selectors.clientFiscalData.viesCheckbox); - await page.clearInput(selectors.clientFiscalData.fiscalIdInput); - await page.write(selectors.clientFiscalData.fiscalIdInput, 'A94980061C'); + await page.clearInput(selectors.clientFiscalData.fiscalId); + await page.write(selectors.clientFiscalData.fiscalId, 'A94980061C'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -112,8 +112,8 @@ describe('Client Edit fiscalData path', () => { }); it('should finally edit the fixcal data correctly as VIES isnt checked and fiscal id is valid for EQtax', async() => { - await page.clearInput(selectors.clientFiscalData.fiscalIdInput); - await page.write(selectors.clientFiscalData.fiscalIdInput, '94980061C'); + await page.clearInput(selectors.clientFiscalData.fiscalId); + await page.write(selectors.clientFiscalData.fiscalId, '94980061C'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -151,7 +151,7 @@ describe('Client Edit fiscalData path', () => { it('should navigate back to fiscal data and uncheck EQtax then check VIES', async() => { await page.waitToClick(selectors.clientFiscalData.fiscalDataButton); await page.waitToClick(selectors.clientFiscalData.viesCheckbox); - await page.waitToClick(selectors.clientFiscalData.equalizationTaxCheckbox); + await page.waitToClick(selectors.clientFiscalData.equalizationTax); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -167,44 +167,44 @@ describe('Client Edit fiscalData path', () => { it('should confirm its name have been edited', async() => { await page.waitToClick(selectors.clientFiscalData.fiscalDataButton); - const result = await page.waitToGetProperty(selectors.clientFiscalData.socialNameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.socialName, 'value'); expect(result).toEqual('SMASH'); }); it('should confirm the fiscal id have been edited', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.fiscalIdInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.fiscalId, 'value'); expect(result).toEqual('94980061C'); }); it('should confirm the address have been edited', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.addressInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.address, 'value'); expect(result).toEqual('Somewhere edited'); }); it('should confirm the postcode have been edited', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.postcodeInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.postcode, 'value'); expect(result).toContain('46000'); }); it('should confirm the city have been autocompleted', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.cityInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.city, 'value'); expect(result).toEqual('Valencia'); }); it(`should confirm the province have been autocompleted`, async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.provinceAutocomplete, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.province, 'value'); expect(result).toEqual('Province one'); }); it('should confirm the country have been autocompleted', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.countryAutocomplete, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.country, 'value'); expect(result).toEqual('España'); }); @@ -246,7 +246,7 @@ describe('Client Edit fiscalData path', () => { }); it('should confirm Equalization tax checkbox is unchecked', async() => { - const result = await page.checkboxState(selectors.clientFiscalData.equalizationTaxCheckbox); + const result = await page.checkboxState(selectors.clientFiscalData.equalizationTax); expect(result).toBe('unchecked'); }); @@ -269,7 +269,7 @@ describe('Client Edit fiscalData path', () => { // confirm invoice by address checkbox gets checked if the EQtax differs between addresses step 2 it(`should click on the 1st edit icon to access the address details and uncheck EQtax checkbox`, async() => { await page.waitToClick(selectors.clientAddresses.firstEditAddress); - await page.waitForTextInField(selectors.clientAddresses.cityInput, 'Silla'); + await page.waitForTextInField(selectors.clientAddresses.city, 'Silla'); await page.waitToClick(selectors.clientAddresses.equalizationTaxCheckbox); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/04_edit_billing_data.spec.js b/e2e/paths/02-client-module/04_edit_billing_data.spec.js index 529dd9e35..b757940be 100644 --- a/e2e/paths/02-client-module/04_edit_billing_data.spec.js +++ b/e2e/paths/02-client-module/04_edit_billing_data.spec.js @@ -17,11 +17,11 @@ describe('Client Edit billing data path', () => { }); it(`should attempt to edit the billing data without an IBAN but fail`, async() => { - await page.autocompleteSearch(selectors.clientBillingData.payMethodAutocomplete, 'PayMethod with IBAN'); - await page.autocompleteSearch(selectors.clientBillingData.swiftBicAutocomplete, 'BBKKESMMMMM'); - await page.clearInput(selectors.clientBillingData.dueDayInput); - await page.write(selectors.clientBillingData.dueDayInput, '60'); - await page.waitForTextInField(selectors.clientBillingData.dueDayInput, '60'); + await page.autocompleteSearch(selectors.clientBillingData.payMethod, 'PayMethod with IBAN'); + await page.autocompleteSearch(selectors.clientBillingData.swiftBic, 'BBKKESMMMMM'); + await page.clearInput(selectors.clientBillingData.dueDay); + await page.write(selectors.clientBillingData.dueDay, '60'); + await page.waitForTextInField(selectors.clientBillingData.dueDay, '60'); await page.waitToClick(selectors.clientBillingData.receivedCoreLCRCheckbox); await page.waitToClick(selectors.clientBillingData.receivedCoreVNLCheckbox); await page.waitToClick(selectors.clientBillingData.receivedB2BVNLCheckbox); @@ -37,30 +37,30 @@ describe('Client Edit billing data path', () => { await page.write(selectors.clientBillingData.newBankEntityCode, '9999'); await page.write(selectors.clientBillingData.newBankEntityBIC, 'GTHMCT'); await page.waitToClick(selectors.clientBillingData.acceptBankEntityButton); - await page.waitForTextInField(selectors.clientBillingData.swiftBicAutocomplete, 'Gotham City Bank'); - let newcode = await page.waitToGetProperty(selectors.clientBillingData.swiftBicAutocomplete, 'value'); + await page.waitForTextInField(selectors.clientBillingData.swiftBic, 'Gotham City Bank'); + let newcode = await page.waitToGetProperty(selectors.clientBillingData.swiftBic, 'value'); expect(newcode).toEqual('GTHMCT Gotham City Bank'); }); it(`should confirm the IBAN pay method was sucessfully saved`, async() => { - let payMethod = await page.waitToGetProperty(selectors.clientBillingData.payMethodAutocomplete, 'value'); + let payMethod = await page.waitToGetProperty(selectors.clientBillingData.payMethod, 'value'); expect(payMethod).toEqual('PayMethod with IBAN'); }); it(`should clear the BIC code field, update the IBAN to see how he BIC code autocompletes`, async() => { - await page.write(selectors.clientBillingData.IBANInput, 'ES9121000418450200051332'); + await page.write(selectors.clientBillingData.IBAN, 'ES9121000418450200051332'); await page.keyboard.press('Tab'); await page.keyboard.press('Tab'); - await page.waitForTextInField(selectors.clientBillingData.swiftBicAutocomplete, 'caixesbb'); - let automaticCode = await page.waitToGetProperty(selectors.clientBillingData.swiftBicAutocomplete, 'value'); + await page.waitForTextInField(selectors.clientBillingData.swiftBic, 'caixesbb'); + let automaticCode = await page.waitToGetProperty(selectors.clientBillingData.swiftBic, 'value'); expect(automaticCode).toEqual('CAIXESBB Caixa Bank'); }); it(`should save the form with all its new data`, async() => { - await page.waitForContentLoaded(); + await page.waitFor(3000); await page.waitForWatcherData(selectors.clientBillingData.watcher); await page.waitToClick(selectors.clientBillingData.saveButton); let snackbarMessage = await page.waitForLastSnackbar(); @@ -69,19 +69,19 @@ describe('Client Edit billing data path', () => { }); it('should confirm the due day have been edited', async() => { - let dueDate = await page.waitToGetProperty(selectors.clientBillingData.dueDayInput, 'value'); + let dueDate = await page.waitToGetProperty(selectors.clientBillingData.dueDay, 'value'); expect(dueDate).toEqual('60'); }); it('should confirm the IBAN was saved', async() => { - let IBAN = await page.waitToGetProperty(selectors.clientBillingData.IBANInput, 'value'); + let IBAN = await page.waitToGetProperty(selectors.clientBillingData.IBAN, 'value'); expect(IBAN).toEqual('ES9121000418450200051332'); }); it('should confirm the swift / BIC code was saved', async() => { - let code = await page.waitToGetProperty(selectors.clientBillingData.swiftBicAutocomplete, 'value'); + let code = await page.waitToGetProperty(selectors.clientBillingData.swiftBic, 'value'); expect(code).toEqual('CAIXESBB Caixa Bank'); }); diff --git a/e2e/paths/02-client-module/05_add_address.spec.js b/e2e/paths/02-client-module/05_add_address.spec.js index 8eb4a86bf..43b663ae6 100644 --- a/e2e/paths/02-client-module/05_add_address.spec.js +++ b/e2e/paths/02-client-module/05_add_address.spec.js @@ -25,12 +25,12 @@ describe('Client Add address path', () => { }); it('should receive an error after clicking save button as consignee, street and town fields are empty', async() => { - await page.waitToClick(selectors.clientAddresses.defaultCheckboxInput); - await page.autocompleteSearch(selectors.clientAddresses.provinceAutocomplete, 'Province five'); - await page.write(selectors.clientAddresses.cityInput, 'Valencia'); - await page.write(selectors.clientAddresses.postcodeInput, '46000'); - await page.autocompleteSearch(selectors.clientAddresses.agencyAutocomplete, 'Entanglement'); - await page.write(selectors.clientAddresses.phoneInput, '999887744'); + await page.waitToClick(selectors.clientAddresses.defaultCheckbox); + await page.autocompleteSearch(selectors.clientAddresses.province, 'Province five'); + await page.write(selectors.clientAddresses.city, 'Valencia'); + await page.write(selectors.clientAddresses.postcode, '46000'); + await page.autocompleteSearch(selectors.clientAddresses.agency, 'Entanglement'); + await page.write(selectors.clientAddresses.phone, '999887744'); await page.write(selectors.clientAddresses.mobileInput, '999887744'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -40,8 +40,8 @@ describe('Client Add address path', () => { it(`should receive an error after clicking save button as consignee, incoterms and customsAgent are empty`, async() => { - await page.write(selectors.clientAddresses.consigneeInput, 'Bruce Bunner'); - await page.write(selectors.clientAddresses.streetAddressInput, '320 Park Avenue New York'); + await page.write(selectors.clientAddresses.consignee, 'Bruce Bunner'); + await page.write(selectors.clientAddresses.streetAddress, '320 Park Avenue New York'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); @@ -49,7 +49,7 @@ describe('Client Add address path', () => { }); it(`should receive an error after clicking save button as consignee, incoterms and customsAgent are empty`, async() => { - await page.autocompleteSearch(selectors.clientAddresses.incotermsAutocomplete, 'Free Alongside Ship'); + await page.autocompleteSearch(selectors.clientAddresses.incoterms, 'Free Alongside Ship'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); @@ -57,7 +57,7 @@ describe('Client Add address path', () => { }); it(`should create a new address with all it's data`, async() => { - await page.autocompleteSearch(selectors.clientAddresses.customsAgentAutocomplete, 'Agent one'); + await page.autocompleteSearch(selectors.clientAddresses.customsAgent, 'Agent one'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/06_add_address_notes.spec.js b/e2e/paths/02-client-module/06_add_address_notes.spec.js index c19de91b8..59e2bf5fb 100644 --- a/e2e/paths/02-client-module/06_add_address_notes.spec.js +++ b/e2e/paths/02-client-module/06_add_address_notes.spec.js @@ -27,7 +27,7 @@ describe('Client add address notes path', () => { it('should not save a description without observation type', async() => { await page.waitToClick(selectors.clientAddresses.addObservationButton); - await page.write(selectors.clientAddresses.firstObservationDescriptionInput, 'first description'); + await page.write(selectors.clientAddresses.firstObservationDescription, 'first description'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); @@ -35,8 +35,8 @@ describe('Client add address notes path', () => { }); it('should not save an observation type without description', async() => { - await page.clearInput(selectors.clientAddresses.firstObservationDescriptionInput); - await page.autocompleteSearch(selectors.clientAddresses.firstObservationTypeAutocomplete, 'comercial'); + await page.clearInput(selectors.clientAddresses.firstObservationDescription); + await page.autocompleteSearch(selectors.clientAddresses.firstObservationType, 'comercial'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); @@ -44,10 +44,10 @@ describe('Client add address notes path', () => { }); it('should create two new observations', async() => { - await page.write(selectors.clientAddresses.firstObservationDescriptionInput, 'first description'); + await page.write(selectors.clientAddresses.firstObservationDescription, 'first description'); await page.waitToClick(selectors.clientAddresses.addObservationButton); - await page.autocompleteSearch(selectors.clientAddresses.secondObservationTypeAutocomplete, 'observation one'); - await page.write(selectors.clientAddresses.secondObservationDescriptionInput, 'second description'); + await page.autocompleteSearch(selectors.clientAddresses.secondObservationType, 'observation one'); + await page.write(selectors.clientAddresses.secondObservationDescription, 'second description'); await page.waitToClick(selectors.clientAddresses.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/07_edit_web_access.spec.js b/e2e/paths/02-client-module/07_edit_web_access.spec.js index b01f2a9d4..f9b023716 100644 --- a/e2e/paths/02-client-module/07_edit_web_access.spec.js +++ b/e2e/paths/02-client-module/07_edit_web_access.spec.js @@ -18,8 +18,8 @@ describe('Client Edit web access path', () => { it(`should uncheck the Enable web access checkbox and update the name`, async() => { await page.waitToClick(selectors.clientWebAccess.enableWebAccessCheckbox); - await page.clearInput(selectors.clientWebAccess.userNameInput); - await page.write(selectors.clientWebAccess.userNameInput, 'Hulk'); + await page.clearInput(selectors.clientWebAccess.userName); + await page.write(selectors.clientWebAccess.userName, 'Hulk'); await page.waitToClick(selectors.clientWebAccess.saveButton); const result = await page.waitForLastSnackbar(); @@ -28,7 +28,7 @@ describe('Client Edit web access path', () => { it('should confirm web access is now unchecked', async() => { await page.waitToClick(selectors.clientBasicData.basicDataButton); - await page.wait(selectors.clientBasicData.nameInput); + await page.wait(selectors.clientBasicData.name); await page.waitToClick(selectors.clientsIndex.othersButton); await page.waitToClick(selectors.clientWebAccess.webAccessButton); const result = await page.checkboxState(selectors.clientWebAccess.enableWebAccessCheckbox); @@ -37,7 +37,7 @@ describe('Client Edit web access path', () => { }); it('should confirm web access name have been updated', async() => { - const result = await page.waitToGetProperty(selectors.clientWebAccess.userNameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientWebAccess.userName, 'value'); expect(result).toEqual('Hulk'); }); diff --git a/e2e/paths/02-client-module/08_add_notes.spec.js b/e2e/paths/02-client-module/08_add_notes.spec.js index 6a9ae26f0..44b876cd9 100644 --- a/e2e/paths/02-client-module/08_add_notes.spec.js +++ b/e2e/paths/02-client-module/08_add_notes.spec.js @@ -25,8 +25,8 @@ describe('Client Add notes path', () => { }); it(`should create a note`, async() => { - await page.waitFor(selectors.clientNotes.noteInput); - await page.type(`${selectors.clientNotes.noteInput} textarea`, 'Meeting with Black Widow 21st 9am'); + await page.waitFor(selectors.clientNotes.note); + await page.type(`${selectors.clientNotes.note} textarea`, 'Meeting with Black Widow 21st 9am'); await page.waitToClick(selectors.clientNotes.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/09_add_credit.spec.js b/e2e/paths/02-client-module/09_add_credit.spec.js index 3f8aa0912..b90c629f5 100644 --- a/e2e/paths/02-client-module/09_add_credit.spec.js +++ b/e2e/paths/02-client-module/09_add_credit.spec.js @@ -26,8 +26,8 @@ describe('Client Add credit path', () => { it(`should edit the credit`, async() => { await page.waitForContentLoaded(); - await page.clearInput(selectors.clientCredit.creditInput); - await page.write(selectors.clientCredit.creditInput, '999'); + await page.clearInput(selectors.clientCredit.credit); + await page.write(selectors.clientCredit.credit, '999'); await page.waitToClick(selectors.clientCredit.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/10_add_greuge.spec.js b/e2e/paths/02-client-module/10_add_greuge.spec.js index dcc8b9273..86407f3c6 100644 --- a/e2e/paths/02-client-module/10_add_greuge.spec.js +++ b/e2e/paths/02-client-module/10_add_greuge.spec.js @@ -25,7 +25,7 @@ describe('Client Add greuge path', () => { }); it(`should receive an error if all fields are empty but date and type on submit`, async() => { - await page.autocompleteSearch(selectors.clientGreuge.typeAutocomplete, 'Diff'); + await page.autocompleteSearch(selectors.clientGreuge.type, 'Diff'); await page.waitToClick(selectors.clientGreuge.saveButton); const result = await page.waitForLastSnackbar(); @@ -33,9 +33,9 @@ describe('Client Add greuge path', () => { }); it(`should create a new greuge with all its data`, async() => { - await page.write(selectors.clientGreuge.amountInput, '999'); - await page.waitForTextInField(selectors.clientGreuge.amountInput, '999'); - await page.write(selectors.clientGreuge.descriptionInput, 'new armor for Batman!'); + await page.write(selectors.clientGreuge.amount, '999'); + await page.waitForTextInField(selectors.clientGreuge.amount, '999'); + await page.write(selectors.clientGreuge.description, 'new armor for Batman!'); await page.waitToClick(selectors.clientGreuge.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js b/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js index df4614f24..06db0a672 100644 --- a/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js +++ b/e2e/paths/02-client-module/12_lock_of_verified_data.spec.js @@ -26,9 +26,9 @@ describe('Client lock verified data path', () => { }); it('should edit the social name', async() => { - await page.wait(selectors.clientFiscalData.socialNameInput); - await page.clearInput(selectors.clientFiscalData.socialNameInput); - await page.write(selectors.clientFiscalData.socialNameInput, 'Captain America Civil War'); + await page.wait(selectors.clientFiscalData.socialName); + await page.clearInput(selectors.clientFiscalData.socialName); + await page.write(selectors.clientFiscalData.socialName, 'Captain America Civil War'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -37,7 +37,7 @@ describe('Client lock verified data path', () => { it('should confirm the social name have been edited', async() => { await page.reloadSection('client.card.fiscalData'); - const result = await page.waitToGetProperty(selectors.clientFiscalData.socialNameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.socialName, 'value'); expect(result).toEqual('Captain America Civil War'); }); @@ -72,9 +72,9 @@ describe('Client lock verified data path', () => { }); it('should again edit the social name', async() => { - await page.wait(selectors.clientFiscalData.socialNameInput); - await page.clearInput(selectors.clientFiscalData.socialNameInput); - await page.write(selectors.clientFiscalData.socialNameInput, 'Ant man and the Wasp'); + await page.wait(selectors.clientFiscalData.socialName); + await page.clearInput(selectors.clientFiscalData.socialName); + await page.write(selectors.clientFiscalData.socialName, 'Ant man and the Wasp'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -83,7 +83,7 @@ describe('Client lock verified data path', () => { it('should again confirm the social name have been edited', async() => { await page.reloadSection('client.card.fiscalData'); - const result = await page.waitToGetProperty(selectors.clientFiscalData.socialNameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.socialName, 'value'); expect(result).toEqual('Ant man and the Wasp'); }); @@ -103,8 +103,8 @@ describe('Client lock verified data path', () => { }); it('should not be able to save change throwing a verified data error', async() => { - await page.clearInput(selectors.clientFiscalData.socialNameInput); - await page.write(selectors.clientFiscalData.socialNameInput, 'This wont happen'); + await page.clearInput(selectors.clientFiscalData.socialName); + await page.write(selectors.clientFiscalData.socialName, 'This wont happen'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -127,8 +127,8 @@ describe('Client lock verified data path', () => { }); it('should now edit the social name', async() => { - await page.clearInput(selectors.clientFiscalData.socialNameInput); - await page.write(selectors.clientFiscalData.socialNameInput, 'new social name edition'); + await page.clearInput(selectors.clientFiscalData.socialName); + await page.write(selectors.clientFiscalData.socialName, 'new social name edition'); await page.waitToClick(selectors.clientFiscalData.saveButton); const result = await page.waitForLastSnackbar(); @@ -137,7 +137,7 @@ describe('Client lock verified data path', () => { it('should now confirm the social name have been edited once and for all', async() => { await page.reloadSection('client.card.fiscalData'); - const result = await page.waitToGetProperty(selectors.clientFiscalData.socialNameInput, 'value'); + const result = await page.waitToGetProperty(selectors.clientFiscalData.socialName, 'value'); expect(result).toEqual('new social name edition'); }); @@ -158,7 +158,7 @@ describe('Client lock verified data path', () => { }); it('should confirm the form is enabled for salesPerson', async() => { - await page.wait(selectors.clientFiscalData.socialNameInput); + await page.wait(selectors.clientFiscalData.socialName); const result = await page.evaluate(selector => { return document.querySelector(selector).disabled; }, 'vn-textfield[ng-model="$ctrl.client.socialName"] > div'); diff --git a/e2e/paths/02-client-module/13_log.spec.js b/e2e/paths/02-client-module/13_log.spec.js index 4b09b0500..a24c7cf4e 100644 --- a/e2e/paths/02-client-module/13_log.spec.js +++ b/e2e/paths/02-client-module/13_log.spec.js @@ -17,8 +17,8 @@ describe('Client log path', () => { }); it('should update the clients name', async() => { - await page.clearInput(selectors.clientBasicData.nameInput); - await page.write(selectors.clientBasicData.nameInput, 'this is a test'); + await page.clearInput(selectors.clientBasicData.name); + await page.write(selectors.clientBasicData.name, 'this is a test'); await page.waitToClick(selectors.clientBasicData.saveButton); let result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/02-client-module/14_balance.spec.js b/e2e/paths/02-client-module/14_balance.spec.js index ccbf19057..9d5ff471a 100644 --- a/e2e/paths/02-client-module/14_balance.spec.js +++ b/e2e/paths/02-client-module/14_balance.spec.js @@ -26,7 +26,7 @@ describe('Client balance path', () => { it('should access to the balance section to check the data shown matches the local settings', async() => { await page.accessToSection('client.card.balance.index'); - let result = await page.waitToGetProperty(selectors.clientBalance.companyAutocomplete, 'value'); + let result = await page.waitToGetProperty(selectors.clientBalance.company, 'value'); expect(result).toEqual('CCs'); }); @@ -50,10 +50,9 @@ describe('Client balance path', () => { }); it('should create a new payment that clears the debt', async() => { - await Promise.all([ - page.waitToClick(selectors.clientBalance.newPaymentButton), - page.waitForSelector('.vn-dialog.vn-popup.shown', {visible: true}) - ]); + await page.waitToClick(selectors.clientBalance.newPaymentButton); + await page.waitForContentLoaded(); + await page.waitForSelector('.vn-dialog.vn-popup.shown', {visible: true}); await page.autocompleteSearch(selectors.clientBalance.newPaymentBank, 'Pay on receipt'); await page.waitToClick(selectors.clientBalance.saveButton); let result = await page.waitForLastSnackbar(); @@ -64,7 +63,7 @@ describe('Client balance path', () => { it('should check balance is now 0 and the company is now VNL becouse the user local settings were removed', async() => { await page.waitForSpinnerLoad(); let company = await page - .waitToGetProperty(selectors.clientBalance.companyAutocomplete, 'value'); + .waitToGetProperty(selectors.clientBalance.company, 'value'); let firstBalanceLine = await page .waitToGetProperty(selectors.clientBalance.firstBalanceLine, 'innerText'); @@ -77,8 +76,8 @@ describe('Client balance path', () => { it('should create a new payment that sets the balance to positive value', async() => { await page.waitToClick(selectors.clientBalance.newPaymentButton); await page.waitFor(3000); // didn't manage to make this dynamic to allow clearInput to find the icon clear... :( - await page.clearInput(selectors.clientBalance.newPaymentAmountInput); - await page.write(selectors.clientBalance.newPaymentAmountInput, '100'); + await page.clearInput(selectors.clientBalance.newPaymentAmount); + await page.write(selectors.clientBalance.newPaymentAmount, '100'); await page.waitToClick(selectors.clientBalance.saveButton); let result = await page.waitForLastSnackbar(); @@ -96,8 +95,8 @@ describe('Client balance path', () => { await page.waitToClick(selectors.clientBalance.newPaymentButton); await page.waitFor(3000); // didn't manage to make this dynamic to allow clearInput to find the icon clear... :( await page.waitForSelector('.vn-dialog.vn-popup.shown', {visible: true}); - await page.clearInput(selectors.clientBalance.newPaymentAmountInput); - await page.write(selectors.clientBalance.newPaymentAmountInput, '-150'); + await page.clearInput(selectors.clientBalance.newPaymentAmount); + await page.write(selectors.clientBalance.newPaymentAmount, '-150'); await page.waitToClick(selectors.clientBalance.saveButton); let result = await page.waitForLastSnackbar(); @@ -123,7 +122,7 @@ describe('Client balance path', () => { }); it('should now search for the user Petter Parker', async() => { - await page.write(selectors.clientsIndex.searchClientInput, 'Petter Parker'); + await page.write(selectors.clientsIndex.topbarSearch, 'Petter Parker'); await page.waitToClick(selectors.clientsIndex.searchButton); await page.waitForNumberOfElements(selectors.clientsIndex.searchResult, 1); let resultCount = await page.countElement(selectors.clientsIndex.searchResult); diff --git a/e2e/paths/02-client-module/15_user_config.spec.js b/e2e/paths/02-client-module/15_user_config.spec.js index 48e9b7c9d..6f76c73ca 100644 --- a/e2e/paths/02-client-module/15_user_config.spec.js +++ b/e2e/paths/02-client-module/15_user_config.spec.js @@ -16,20 +16,22 @@ describe('User config', () => { describe('as salesPerson', () => { it('should login', async() => { await page.login('salesPerson'); + await page.waitForContentLoaded(); }); it('should now open the user config form to check the settings', async() => { await page.waitToClick(selectors.globalItems.userMenuButton); + await page.waitFor(1000); - let userLocalWarehouse = await page - .waitToGetProperty(selectors.globalItems.userLocalWarehouse, 'value'); + let expectedLocalWarehouse = await page + .expectPropertyValue(selectors.globalItems.userLocalWarehouse, 'value', ''); - let userLocalBank = await page - .waitToGetProperty(selectors.globalItems.userLocalBank, 'value'); + let expectedLocalBank = await page + .expectPropertyValue(selectors.globalItems.userLocalBank, 'value', ''); - let userLocalCompany = await page - .waitToGetProperty(selectors.globalItems.userLocalCompany, 'value'); + let expectedLocalCompany = await page + .expectPropertyValue(selectors.globalItems.userLocalCompany, 'value', ''); let userWarehouse = await page .waitToGetProperty(selectors.globalItems.userWarehouse, 'value'); @@ -37,9 +39,9 @@ describe('User config', () => { let userCompany = await page .waitToGetProperty(selectors.globalItems.userCompany, 'value'); - expect(userLocalWarehouse).toEqual(''); - expect(userLocalBank).toEqual(''); - expect(userLocalCompany).toEqual(''); + expect(expectedLocalWarehouse).toBeTruthy(); + expect(expectedLocalBank).toBeTruthy(); + expect(expectedLocalCompany).toBeTruthy(); expect(userWarehouse).toEqual('Warehouse Three'); expect(userCompany).toEqual('VNH'); }); @@ -48,18 +50,21 @@ describe('User config', () => { describe('as employee', () => { it('should log in', async() => { await page.login('employee'); + await page.waitForContentLoaded(); }); it('should open the user config form to check the settings', async() => { await page.waitToClick(selectors.globalItems.userMenuButton); - let userLocalWarehouse = await page - .waitToGetProperty(selectors.globalItems.userLocalWarehouse, 'value'); + await page.waitFor(1000); + let expectedLocalWarehouse = await page + .expectPropertyValue(selectors.globalItems.userLocalWarehouse, 'value', ''); - let userLocalBank = await page - .waitToGetProperty(selectors.globalItems.userLocalBank, 'value'); - let userLocalCompany = await page - .waitToGetProperty(selectors.globalItems.userLocalCompany, 'value'); + let expectedLocalBank = await page + .expectPropertyValue(selectors.globalItems.userLocalBank, 'value', ''); + + let expectedLocalCompany = await page + .expectPropertyValue(selectors.globalItems.userLocalCompany, 'value', ''); let userWarehouse = await page .waitToGetProperty(selectors.globalItems.userWarehouse, 'value'); @@ -67,9 +72,9 @@ describe('User config', () => { let userCompany = await page .waitToGetProperty(selectors.globalItems.userCompany, 'value'); - expect(userLocalWarehouse).toEqual(''); - expect(userLocalBank).toEqual(''); - expect(userLocalCompany).toEqual(''); + expect(expectedLocalWarehouse).toBeTruthy(); + expect(expectedLocalBank).toBeTruthy(); + expect(expectedLocalCompany).toBeTruthy(); expect(userWarehouse).toEqual('Warehouse Two'); expect(userCompany).toEqual('CCs'); }); @@ -87,6 +92,7 @@ describe('User config', () => { describe('as salesPerson 2nd run', () => { it('should log in once more', async() => { await page.login('salesPerson'); + await page.waitForContentLoaded(); }); it('should again open the user config form to check the local settings', async() => { diff --git a/e2e/paths/03-worker-module/01_pbx.spec.js b/e2e/paths/03-worker-module/01_pbx.spec.js index 7b0de917c..83849a5dd 100644 --- a/e2e/paths/03-worker-module/01_pbx.spec.js +++ b/e2e/paths/03-worker-module/01_pbx.spec.js @@ -17,8 +17,7 @@ describe('Worker pbx path', () => { }); it('should receive an error when the extension exceeds 4 characters', async() => { - await page.waitForContentLoaded(); - await page.write(selectors.workerPbx.extensionInput, '55555'); + await page.write(selectors.workerPbx.extension, '55555'); await page.waitToClick(selectors.workerPbx.saveButton); const result = await page.waitForLastSnackbar(); @@ -26,8 +25,8 @@ describe('Worker pbx path', () => { }); it('should sucessfully save the changes', async() => { - await page.clearInput(selectors.workerPbx.extensionInput); - await page.write(selectors.workerPbx.extensionInput, '4444'); + await page.clearInput(selectors.workerPbx.extension); + await page.write(selectors.workerPbx.extension, '4444'); await page.waitToClick(selectors.workerPbx.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/03-worker-module/02_time_control.spec.js b/e2e/paths/03-worker-module/02_time_control.spec.js index 6f5815665..6624f25eb 100644 --- a/e2e/paths/03-worker-module/02_time_control.spec.js +++ b/e2e/paths/03-worker-module/02_time_control.spec.js @@ -23,7 +23,7 @@ xdescribe('Worker time control path', () => { const scanTime = '07:00'; await page.waitToClick(selectors.workerTimeControl.mondayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfMonday, 'innerText'); @@ -34,7 +34,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:00'; await page.waitToClick(selectors.workerTimeControl.mondayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfMonday, 'innerText'); @@ -45,7 +45,7 @@ xdescribe('Worker time control path', () => { const scanTime = '18:00'; await page.waitToClick(selectors.workerTimeControl.mondayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfMonday, 'innerText'); @@ -67,7 +67,7 @@ xdescribe('Worker time control path', () => { const scanTime = '14:00'; await page.waitToClick(selectors.workerTimeControl.mondayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfMonday, 'innerText'); @@ -78,7 +78,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:20'; await page.waitToClick(selectors.workerTimeControl.mondayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.fourthEntryOfMonday, 'innerText'); @@ -108,7 +108,7 @@ xdescribe('Worker time control path', () => { const scanTime = '08:00'; await page.waitToClick(selectors.workerTimeControl.tuesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfTuesday, 'innerText'); @@ -119,7 +119,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:00'; await page.waitToClick(selectors.workerTimeControl.tuesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfTuesday, 'innerText'); @@ -130,7 +130,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:20'; await page.waitToClick(selectors.workerTimeControl.tuesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfTuesday, 'innerText'); @@ -141,7 +141,7 @@ xdescribe('Worker time control path', () => { const scanTime = '16:00'; await page.waitToClick(selectors.workerTimeControl.tuesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.fourthEntryOfTuesday, 'innerText'); @@ -161,7 +161,7 @@ xdescribe('Worker time control path', () => { const scanTime = '09:00'; await page.waitToClick(selectors.workerTimeControl.wednesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfWednesday, 'innerText'); @@ -172,7 +172,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:00'; await page.waitToClick(selectors.workerTimeControl.wednesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfWednesday, 'innerText'); @@ -183,7 +183,7 @@ xdescribe('Worker time control path', () => { const scanTime = '10:20'; await page.waitToClick(selectors.workerTimeControl.wednesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfWednesday, 'innerText'); @@ -194,7 +194,7 @@ xdescribe('Worker time control path', () => { const scanTime = '17:00'; await page.waitToClick(selectors.workerTimeControl.wednesdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.fourthEntryOfWednesday, 'innerText'); @@ -214,7 +214,7 @@ xdescribe('Worker time control path', () => { const scanTime = '09:59'; await page.waitToClick(selectors.workerTimeControl.thursdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfThursday, 'innerText'); @@ -224,7 +224,7 @@ xdescribe('Worker time control path', () => { it(`should joyfully scan out Hank Pym for break`, async() => { const scanTime = '10:00'; await page.waitToClick(selectors.workerTimeControl.thursdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfThursday, 'innerText'); @@ -234,7 +234,7 @@ xdescribe('Worker time control path', () => { it(`should joyfully scan in Hank Pym from the break`, async() => { const scanTime = '10:20'; await page.waitToClick(selectors.workerTimeControl.thursdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfThursday, 'innerText'); @@ -244,7 +244,7 @@ xdescribe('Worker time control path', () => { it(`should joyfully scan out Hank Pym for the day`, async() => { const scanTime = '17:59'; await page.waitToClick(selectors.workerTimeControl.thursdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.fourthEntryOfThursday, 'innerText'); @@ -263,7 +263,7 @@ xdescribe('Worker time control path', () => { it('should smilingly scan in Hank Pym', async() => { const scanTime = '07:30'; await page.waitToClick(selectors.workerTimeControl.fridayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfFriday, 'innerText'); @@ -273,7 +273,7 @@ xdescribe('Worker time control path', () => { it(`should smilingly scan out Hank Pym for break`, async() => { const scanTime = '10:00'; await page.waitToClick(selectors.workerTimeControl.fridayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfFriday, 'innerText'); @@ -283,7 +283,7 @@ xdescribe('Worker time control path', () => { it(`should smilingly scan in Hank Pym from the break`, async() => { const scanTime = '10:20'; await page.waitToClick(selectors.workerTimeControl.fridayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.thirdEntryOfFriday, 'innerText'); @@ -293,7 +293,7 @@ xdescribe('Worker time control path', () => { it(`should smilingly scan out Hank Pym for the day`, async() => { const scanTime = '15:30'; await page.waitToClick(selectors.workerTimeControl.fridayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.fourthEntryOfFriday, 'innerText'); @@ -324,7 +324,7 @@ xdescribe('Worker time control path', () => { it('should lovingly scan in Hank Pym', async() => { const scanTime = '06:00'; await page.waitToClick(selectors.workerTimeControl.saturdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfSaturday, 'innerText'); @@ -334,7 +334,7 @@ xdescribe('Worker time control path', () => { it(`should lovingly scan out Hank Pym for the day with no break to leave a bit early`, async() => { const scanTime = '13:40'; await page.waitToClick(selectors.workerTimeControl.saturdayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfSaturday, 'innerText'); @@ -353,7 +353,7 @@ xdescribe('Worker time control path', () => { it('should gladly scan in Hank Pym', async() => { const scanTime = '05:00'; await page.waitToClick(selectors.workerTimeControl.sundayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.firstEntryOfSunday, 'innerText'); @@ -363,7 +363,7 @@ xdescribe('Worker time control path', () => { it(`should gladly scan out Hank Pym for the day with no break to leave a bit early`, async() => { const scanTime = '12:40'; await page.waitToClick(selectors.workerTimeControl.sundayAddTimeButton); - await page.pickTime(selectors.workerTimeControl.timeDialogInput, scanTime); + await page.pickTime(selectors.workerTimeControl.timeDialog, scanTime); await page.waitToClick(selectors.workerTimeControl.confirmButton); const result = await page.waitToGetProperty(selectors.workerTimeControl.secondEntryOfSunday, 'innerText'); diff --git a/e2e/paths/04-item-module/01_summary.spec.js b/e2e/paths/04-item-module/01_summary.spec.js index f08900142..2e32f85e2 100644 --- a/e2e/paths/04-item-module/01_summary.spec.js +++ b/e2e/paths/04-item-module/01_summary.spec.js @@ -15,8 +15,8 @@ describe('Item summary path', () => { }); it('should search for an item', async() => { - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Ranged weapon longbow 2m'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Ranged weapon longbow 2m'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1); const result = await page.countElement(selectors.itemsIndex.searchResult); @@ -76,7 +76,7 @@ describe('Item summary path', () => { it('should search for other item', async() => { await page.clearInput('vn-searchbar'); await page.waitToClick(selectors.itemsIndex.searchButton); - await page.write(selectors.itemsIndex.searchItemInput, 'Melee weapon combat fist 15cm'); + await page.write(selectors.itemsIndex.topbarSearch, 'Melee weapon combat fist 15cm'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1); const result = await page.countElement(selectors.itemsIndex.searchResult); diff --git a/e2e/paths/04-item-module/02_basic_data.spec.js b/e2e/paths/04-item-module/02_basic_data.spec.js index a0ab8dc73..2b3ff9d51 100644 --- a/e2e/paths/04-item-module/02_basic_data.spec.js +++ b/e2e/paths/04-item-module/02_basic_data.spec.js @@ -21,16 +21,16 @@ describe('Item Edit basic data path', () => { }); it(`should edit the item basic data`, async() => { - await page.clearInput(selectors.itemBasicData.nameInput); - await page.write(selectors.itemBasicData.nameInput, 'Rose of Purity'); - await page.autocompleteSearch(selectors.itemBasicData.typeAutocomplete, 'Anthurium'); - await page.autocompleteSearch(selectors.itemBasicData.intrastatAutocomplete, 'Coral y materiales similares'); - await page.clearInput(selectors.itemBasicData.relevancyInput); - await page.write(selectors.itemBasicData.relevancyInput, '1'); - await page.autocompleteSearch(selectors.itemBasicData.originAutocomplete, 'Spain'); - await page.autocompleteSearch(selectors.itemBasicData.expenseAutocomplete, 'Alquiler VNH'); - await page.clearInput(selectors.itemBasicData.longNameInput); - await page.write(selectors.itemBasicData.longNameInput, 'RS Rose of Purity'); + await page.clearInput(selectors.itemBasicData.name); + await page.write(selectors.itemBasicData.name, 'Rose of Purity'); + await page.autocompleteSearch(selectors.itemBasicData.type, 'Anthurium'); + await page.autocompleteSearch(selectors.itemBasicData.intrastat, 'Coral y materiales similares'); + await page.clearInput(selectors.itemBasicData.relevancy); + await page.write(selectors.itemBasicData.relevancy, '1'); + await page.autocompleteSearch(selectors.itemBasicData.origin, 'Spain'); + await page.autocompleteSearch(selectors.itemBasicData.expense, 'Alquiler VNH'); + await page.clearInput(selectors.itemBasicData.longName); + await page.write(selectors.itemBasicData.longName, 'RS Rose of Purity'); await page.waitToClick(selectors.itemBasicData.isActiveCheckbox); await page.waitToClick(selectors.itemBasicData.priceInKgCheckbox); await page.waitToClick(selectors.itemBasicData.submitBasicDataButton); @@ -42,49 +42,49 @@ describe('Item Edit basic data path', () => { it(`should confirm the item name was edited`, async() => { await page.reloadSection('item.card.basicData'); await page.waitForContentLoaded(); - const result = await page.waitToGetProperty(selectors.itemBasicData.nameInput, 'value'); + const result = await page.waitToGetProperty(selectors.itemBasicData.name, 'value'); expect(result).toEqual('Rose of Purity'); }); it(`should confirm the item type was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.typeAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.type, 'value'); expect(result).toEqual('Anthurium'); }); it(`should confirm the item intrastad was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.intrastatAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.intrastat, 'value'); expect(result).toEqual('5080000 Coral y materiales similares'); }); it(`should confirm the item relevancy was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.relevancyInput, 'value'); + .waitToGetProperty(selectors.itemBasicData.relevancy, 'value'); expect(result).toEqual('1'); }); it(`should confirm the item origin was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.originAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.origin, 'value'); expect(result).toEqual('Spain'); }); it(`should confirm the item expence was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.expenseAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.expense, 'value'); expect(result).toEqual('Alquiler VNH'); }); it(`should confirm the item long name was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBasicData.longNameInput, 'value'); + .waitToGetProperty(selectors.itemBasicData.longName, 'value'); expect(result).toEqual('RS Rose of Purity'); }); diff --git a/e2e/paths/04-item-module/03_tax.spec.js b/e2e/paths/04-item-module/03_tax.spec.js index 9892f92e7..ef2d68096 100644 --- a/e2e/paths/04-item-module/03_tax.spec.js +++ b/e2e/paths/04-item-module/03_tax.spec.js @@ -17,9 +17,9 @@ describe('Item edit tax path', () => { }); it(`should add the item tax to all countries`, async() => { - await page.autocompleteSearch(selectors.itemTax.firstClassAutocomplete, 'General VAT'); - await page.autocompleteSearch(selectors.itemTax.secondClassAutocomplete, 'General VAT'); - await page.autocompleteSearch(selectors.itemTax.thirdClassAutocomplete, 'General VAT'); + await page.autocompleteSearch(selectors.itemTax.firstClass, 'General VAT'); + await page.autocompleteSearch(selectors.itemTax.secondClass, 'General VAT'); + await page.autocompleteSearch(selectors.itemTax.thirdClass, 'General VAT'); await page.waitToClick(selectors.itemTax.submitTaxButton); const result = await page.waitForLastSnackbar(); @@ -28,35 +28,35 @@ describe('Item edit tax path', () => { it(`should confirm the first item tax class was edited`, async() => { await page.reloadSection('item.card.tax'); - const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClassAutocomplete, 'value'); + const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClass, 'value'); expect(firstVatType).toEqual('General VAT'); }); it(`should confirm the second item tax class was edited`, async() => { const secondVatType = await page - .waitToGetProperty(selectors.itemTax.secondClassAutocomplete, 'value'); + .waitToGetProperty(selectors.itemTax.secondClass, 'value'); expect(secondVatType).toEqual('General VAT'); }); it(`should confirm the third item tax class was edited`, async() => { const thirdVatType = await page - .waitToGetProperty(selectors.itemTax.thirdClassAutocomplete, 'value'); + .waitToGetProperty(selectors.itemTax.thirdClass, 'value'); expect(thirdVatType).toEqual('General VAT'); }); it(`should edit the first class without saving the form`, async() => { - await page.autocompleteSearch(selectors.itemTax.firstClassAutocomplete, 'Reduced VAT'); - const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClassAutocomplete, 'value'); + await page.autocompleteSearch(selectors.itemTax.firstClass, 'Reduced VAT'); + const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClass, 'value'); expect(firstVatType).toEqual('Reduced VAT'); }); it(`should now click the undo changes button and see the changes works`, async() => { await page.waitToClick(selectors.itemTax.undoChangesButton); - const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClassAutocomplete, 'value'); + const firstVatType = await page.waitToGetProperty(selectors.itemTax.firstClass, 'value'); expect(firstVatType).toEqual('General VAT'); }); diff --git a/e2e/paths/04-item-module/04_tags.spec.js b/e2e/paths/04-item-module/04_tags.spec.js index d25e63903..098ac75eb 100644 --- a/e2e/paths/04-item-module/04_tags.spec.js +++ b/e2e/paths/04-item-module/04_tags.spec.js @@ -19,10 +19,10 @@ describe('Item create tags path', () => { it(`should create a new tag and delete a former one`, async() => { await page.waitToClick(selectors.itemTags.fourthRemoveTagButton); await page.waitToClick(selectors.itemTags.addItemTagButton); - await page.autocompleteSearch(selectors.itemTags.seventhTagAutocomplete, 'Ancho de la base'); - await page.write(selectors.itemTags.seventhValueInput, '50'); - await page.clearInput(selectors.itemTags.seventhRelevancyInput); - await page.write(selectors.itemTags.seventhRelevancyInput, '4'); + await page.autocompleteSearch(selectors.itemTags.seventhTag, 'Ancho de la base'); + await page.write(selectors.itemTags.seventhValue, '50'); + await page.clearInput(selectors.itemTags.seventhRelevancy); + await page.write(selectors.itemTags.seventhRelevancy, '4'); await page.waitToClick(selectors.itemTags.submitItemTagsButton); const result = await page.waitForLastSnackbar(); @@ -32,30 +32,30 @@ describe('Item create tags path', () => { it(`should confirm the fourth row data is the expected one`, async() => { await page.reloadSection('item.card.tags'); await page.wait('vn-item-tags'); - let result = await page.waitToGetProperty(selectors.itemTags.fourthTagAutocomplete, 'value'); + let result = await page.waitToGetProperty(selectors.itemTags.fourthTag, 'value'); expect(result).toEqual('Ancho de la base'); result = await page - .waitToGetProperty(selectors.itemTags.fourthValueInput, 'value'); + .waitToGetProperty(selectors.itemTags.fourthValue, 'value'); expect(result).toEqual('50'); result = await page - .waitToGetProperty(selectors.itemTags.fourthRelevancyInput, 'value'); + .waitToGetProperty(selectors.itemTags.fourthRelevancy, 'value'); expect(result).toEqual('4'); }); it(`should confirm the fifth row data is the expected one`, async() => { let tag = await page - .waitToGetProperty(selectors.itemTags.fifthTagAutocomplete, 'value'); + .waitToGetProperty(selectors.itemTags.fifthTag, 'value'); let value = await page - .waitToGetProperty(selectors.itemTags.fifthValueInput, 'value'); + .waitToGetProperty(selectors.itemTags.fifthValue, 'value'); let relevancy = await page - .waitToGetProperty(selectors.itemTags.fifthRelevancyInput, 'value'); + .waitToGetProperty(selectors.itemTags.fifthRelevancy, 'value'); expect(tag).toEqual('Color'); expect(value).toEqual('Brown'); @@ -64,13 +64,13 @@ describe('Item create tags path', () => { it(`should confirm the sixth row data is the expected one`, async() => { let tag = await page - .waitToGetProperty(selectors.itemTags.sixthTagAutocomplete, 'value'); + .waitToGetProperty(selectors.itemTags.sixthTag, 'value'); let value = await page - .waitToGetProperty(selectors.itemTags.sixthValueInput, 'value'); + .waitToGetProperty(selectors.itemTags.sixthValue, 'value'); let relevancy = await page - .waitToGetProperty(selectors.itemTags.sixthRelevancyInput, 'value'); + .waitToGetProperty(selectors.itemTags.sixthRelevancy, 'value'); expect(tag).toEqual('Categoria'); expect(value).toEqual('+1 precission'); diff --git a/e2e/paths/04-item-module/05_niche.spec.js b/e2e/paths/04-item-module/05_niche.spec.js index 42c0652df..4da8ed5fe 100644 --- a/e2e/paths/04-item-module/05_niche.spec.js +++ b/e2e/paths/04-item-module/05_niche.spec.js @@ -17,11 +17,11 @@ describe('Item create niche path', () => { }); it(`should click create a new niche and delete a former one`, async() => { - await page.waitForTextInField(selectors.itemNiches.firstWarehouseAutocomplete, 'Warehouse One'); + await page.waitForTextInField(selectors.itemNiches.firstWarehouse, 'Warehouse One'); await page.waitToClick(selectors.itemNiches.addNicheButton); await page.waitToClick(selectors.itemNiches.secondNicheRemoveButton); - await page.autocompleteSearch(selectors.itemNiches.thirdWarehouseAutocomplete, 'Warehouse Two'); - await page.write(selectors.itemNiches.thirdCodeInput, 'A4'); + await page.autocompleteSearch(selectors.itemNiches.thirdWarehouse, 'Warehouse Two'); + await page.write(selectors.itemNiches.thirdCode, 'A4'); await page.waitToClick(selectors.itemNiches.submitNichesButton); const result = await page.waitForLastSnackbar(); @@ -30,36 +30,36 @@ describe('Item create niche path', () => { it(`should confirm the first niche is the expected one`, async() => { await page.reloadSection('item.card.niche'); - await page.waitForTextInField(selectors.itemNiches.firstWarehouseAutocomplete, 'Warehouse One'); + await page.waitForTextInField(selectors.itemNiches.firstWarehouse, 'Warehouse One'); let result = await page - .waitToGetProperty(selectors.itemNiches.firstWarehouseAutocomplete, 'value'); + .waitToGetProperty(selectors.itemNiches.firstWarehouse, 'value'); expect(result).toEqual('Warehouse One'); result = await page - .waitToGetProperty(selectors.itemNiches.firstCodeInput, 'value'); + .waitToGetProperty(selectors.itemNiches.firstCode, 'value'); expect(result).toEqual('A1'); }); it(`should confirm the second niche is the expected one`, async() => { let result = await page - .waitToGetProperty(selectors.itemNiches.secondWarehouseAutocomplete, 'value'); + .waitToGetProperty(selectors.itemNiches.secondWarehouse, 'value'); expect(result).toEqual('Warehouse Three'); result = await page - .waitToGetProperty(selectors.itemNiches.secondCodeInput, 'value'); + .waitToGetProperty(selectors.itemNiches.secondCode, 'value'); expect(result).toEqual('A3'); }); it(`should confirm the third niche is the expected one`, async() => { let result = await page - .waitToGetProperty(selectors.itemNiches.thirdWarehouseAutocomplete, 'value'); + .waitToGetProperty(selectors.itemNiches.thirdWarehouse, 'value'); expect(result).toEqual('Warehouse Two'); result = await page - .waitToGetProperty(selectors.itemNiches.thirdCodeInput, 'value'); + .waitToGetProperty(selectors.itemNiches.thirdCode, 'value'); expect(result).toEqual('A4'); }); diff --git a/e2e/paths/04-item-module/06_botanical.spec.js b/e2e/paths/04-item-module/06_botanical.spec.js index c3b1955f7..edcc94f28 100644 --- a/e2e/paths/04-item-module/06_botanical.spec.js +++ b/e2e/paths/04-item-module/06_botanical.spec.js @@ -17,9 +17,9 @@ describe('Item Create botanical path', () => { }); it(`should create a new botanical for the item`, async() => { - await page.write(selectors.itemBotanical.botanicalInput, 'Cicuta maculata'); - await page.autocompleteSearch(selectors.itemBotanical.genusAutocomplete, 'Abelia'); - await page.autocompleteSearch(selectors.itemBotanical.speciesAutocomplete, 'dealbata'); + await page.write(selectors.itemBotanical.botanical, 'Cicuta maculata'); + await page.autocompleteSearch(selectors.itemBotanical.genus, 'Abelia'); + await page.autocompleteSearch(selectors.itemBotanical.species, 'dealbata'); await page.waitToClick(selectors.itemBotanical.submitBotanicalButton); const result = await page.waitForLastSnackbar(); @@ -28,33 +28,33 @@ describe('Item Create botanical path', () => { it(`should confirm the botanical for the item was created`, async() => { await page.reloadSection('item.card.botanical'); - await page.waitForTextInField(selectors.itemBotanical.botanicalInput, 'Cicuta maculata'); + await page.waitForTextInField(selectors.itemBotanical.botanical, 'Cicuta maculata'); const result = await page - .waitToGetProperty(selectors.itemBotanical.botanicalInput, 'value'); + .waitToGetProperty(selectors.itemBotanical.botanical, 'value'); expect(result).toEqual('Cicuta maculata'); }); it(`should confirm the Genus for the item was created`, async() => { - await page.waitForTextInField(selectors.itemBotanical.genusAutocomplete, 'Abelia'); + await page.waitForTextInField(selectors.itemBotanical.genus, 'Abelia'); const result = await page - .waitToGetProperty(selectors.itemBotanical.genusAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBotanical.genus, 'value'); expect(result).toEqual('Abelia'); }); it(`should confirm the Species for the item was created`, async() => { const result = await page - .waitToGetProperty(selectors.itemBotanical.speciesAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBotanical.species, 'value'); expect(result).toEqual('dealbata'); }); it(`should edit botanical for the item`, async() => { - await page.clearInput(selectors.itemBotanical.botanicalInput); - await page.write(selectors.itemBotanical.botanicalInput, 'Herp Derp'); - await page.autocompleteSearch(selectors.itemBotanical.genusAutocomplete, 'Abies'); - await page.autocompleteSearch(selectors.itemBotanical.speciesAutocomplete, 'decurrens'); + await page.clearInput(selectors.itemBotanical.botanical); + await page.write(selectors.itemBotanical.botanical, 'Herp Derp'); + await page.autocompleteSearch(selectors.itemBotanical.genus, 'Abies'); + await page.autocompleteSearch(selectors.itemBotanical.species, 'decurrens'); await page.waitToClick(selectors.itemBotanical.submitBotanicalButton); const result = await page.waitForLastSnackbar(); @@ -63,24 +63,24 @@ describe('Item Create botanical path', () => { it(`should confirm the botanical for the item was edited`, async() => { await page.reloadSection('item.card.botanical'); - await page.waitForTextInField(selectors.itemBotanical.botanicalInput, 'Herp Derp'); + await page.waitForTextInField(selectors.itemBotanical.botanical, 'Herp Derp'); const result = await page - .waitToGetProperty(selectors.itemBotanical.botanicalInput, 'value'); + .waitToGetProperty(selectors.itemBotanical.botanical, 'value'); expect(result).toEqual('Herp Derp'); }); it(`should confirm the Genus for the item was edited`, async() => { - await page.waitForTextInField(selectors.itemBotanical.genusAutocomplete, 'Abies'); + await page.waitForTextInField(selectors.itemBotanical.genus, 'Abies'); const result = await page - .waitToGetProperty(selectors.itemBotanical.genusAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBotanical.genus, 'value'); expect(result).toEqual('Abies'); }); it(`should confirm the Species for the item was edited`, async() => { const result = await page - .waitToGetProperty(selectors.itemBotanical.speciesAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBotanical.species, 'value'); expect(result).toEqual('decurrens'); }); diff --git a/e2e/paths/04-item-module/07_barcode.spec.js b/e2e/paths/04-item-module/07_barcode.spec.js index 5153b5519..7750b4b6d 100644 --- a/e2e/paths/04-item-module/07_barcode.spec.js +++ b/e2e/paths/04-item-module/07_barcode.spec.js @@ -19,7 +19,7 @@ describe('Item Create barcodes path', () => { it(`should click create a new code and delete a former one`, async() => { await page.waitToClick(selectors.itemBarcodes.firstCodeRemoveButton); await page.waitToClick(selectors.itemBarcodes.addBarcodeButton); - await page.write(selectors.itemBarcodes.thirdCodeInput, '5'); + await page.write(selectors.itemBarcodes.thirdCode, '5'); await page.waitToClick(selectors.itemBarcodes.submitBarcodesButton); const result = await page.waitForLastSnackbar(); @@ -28,9 +28,9 @@ describe('Item Create barcodes path', () => { it(`should confirm the barcode 5 is created and it is now the third barcode as the first was deleted`, async() => { await page.reloadSection('item.card.itemBarcode'); - await page.waitForTextInField(selectors.itemBarcodes.thirdCodeInput, '5'); + await page.waitForTextInField(selectors.itemBarcodes.thirdCode, '5'); const result = await page - .waitToGetProperty(selectors.itemBarcodes.thirdCodeInput, 'value'); + .waitToGetProperty(selectors.itemBarcodes.thirdCode, 'value'); expect(result).toEqual('5'); }); diff --git a/e2e/paths/04-item-module/08_create_and_clone.spec.js b/e2e/paths/04-item-module/08_create_and_clone.spec.js index ea2290558..ca70fc47d 100644 --- a/e2e/paths/04-item-module/08_create_and_clone.spec.js +++ b/e2e/paths/04-item-module/08_create_and_clone.spec.js @@ -16,8 +16,8 @@ describe('Item Create/Clone path', () => { describe('create', () => { it(`should search for the item Infinity Gauntlet to confirm it isn't created yet`, async() => { - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Infinity Gauntlet'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Infinity Gauntlet'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 0); const result = await page.countElement(selectors.itemsIndex.searchResult); @@ -52,9 +52,9 @@ describe('Item Create/Clone path', () => { it('should create the Infinity Gauntlet item', async() => { await page.write(selectors.itemCreateView.temporalName, 'Infinity Gauntlet'); - await page.autocompleteSearch(selectors.itemCreateView.typeAutocomplete, 'Crisantemo'); - await page.autocompleteSearch(selectors.itemCreateView.intrastatAutocomplete, 'Coral y materiales similares'); - await page.autocompleteSearch(selectors.itemCreateView.originAutocomplete, 'Holand'); + await page.autocompleteSearch(selectors.itemCreateView.type, 'Crisantemo'); + await page.autocompleteSearch(selectors.itemCreateView.intrastat, 'Coral y materiales similares'); + await page.autocompleteSearch(selectors.itemCreateView.origin, 'Holand'); await page.waitToClick(selectors.itemCreateView.createButton); const result = await page.waitForLastSnackbar(); @@ -63,23 +63,23 @@ describe('Item Create/Clone path', () => { it('should confirm Infinity Gauntlet item was created', async() => { let result = await page - .waitToGetProperty(selectors.itemBasicData.nameInput, 'value'); + .waitToGetProperty(selectors.itemBasicData.name, 'value'); expect(result).toEqual('Infinity Gauntlet'); result = await page - .waitToGetProperty(selectors.itemBasicData.typeAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.type, 'value'); expect(result).toEqual('Crisantemo'); result = await page - .waitToGetProperty(selectors.itemBasicData.intrastatAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.intrastat, 'value'); expect(result).toEqual('5080000 Coral y materiales similares'); result = await page - .waitToGetProperty(selectors.itemBasicData.originAutocomplete, 'value'); + .waitToGetProperty(selectors.itemBasicData.origin, 'value'); expect(result).toEqual('Holand'); }); @@ -96,8 +96,8 @@ describe('Item Create/Clone path', () => { }); it(`should search for the item Infinity Gauntlet`, async() => { - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Infinity Gauntlet'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Infinity Gauntlet'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1); const result = await page.countElement(selectors.itemsIndex.searchResult); @@ -117,8 +117,8 @@ describe('Item Create/Clone path', () => { it('should search for the item Infinity Gauntlet and find two', async() => { await page.waitToClick(selectors.itemTags.goToItemIndexButton); - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Infinity Gauntlet'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Infinity Gauntlet'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 2); const result = await page.countElement(selectors.itemsIndex.searchResult); diff --git a/e2e/paths/04-item-module/09_regularize.spec.js b/e2e/paths/04-item-module/09_regularize.spec.js index 88c09c83c..17c9136ac 100644 --- a/e2e/paths/04-item-module/09_regularize.spec.js +++ b/e2e/paths/04-item-module/09_regularize.spec.js @@ -34,8 +34,8 @@ describe('Item regularize path', () => { }); it('should search for an specific item', async() => { - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Ranged weapon pistol 9mm'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Ranged weapon pistol 9mm'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1); const resultCount = await page.countElement(selectors.itemsIndex.searchResult); @@ -55,14 +55,14 @@ describe('Item regularize path', () => { it('should open the regularize dialog and check the warehouse matches the local user settings', async() => { await page.waitToClick(selectors.itemDescriptor.moreMenu); await page.waitToClick(selectors.itemDescriptor.moreMenuRegularizeButton); - const result = await page.waitToGetProperty(selectors.itemDescriptor.regularizeWarehouseAutocomplete, 'value'); + const result = await page.waitToGetProperty(selectors.itemDescriptor.regularizeWarehouse, 'value'); expect(result).toEqual('Warehouse Four'); }); it('should regularize the item', async() => { - await page.write(selectors.itemDescriptor.regularizeQuantityInput, '100'); - await page.autocompleteSearch(selectors.itemDescriptor.regularizeWarehouseAutocomplete, 'Warehouse One'); + await page.write(selectors.itemDescriptor.regularizeQuantity, '100'); + await page.autocompleteSearch(selectors.itemDescriptor.regularizeWarehouse, 'Warehouse One'); await page.waitToClick(selectors.itemDescriptor.regularizeSaveButton); const result = await page.waitForLastSnackbar(); @@ -92,7 +92,7 @@ describe('Item regularize path', () => { it('should search for the ticket with alias missing', async() => { await page.keyboard.press('Escape'); - await page.write(selectors.ticketsIndex.searchTicketInput, 'missing'); + await page.write(selectors.ticketsIndex.topbarSearch, 'missing'); await page.keyboard.press('Enter'); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); @@ -128,15 +128,15 @@ describe('Item regularize path', () => { await page.waitToClick(selectors.globalItems.applicationsMenuButton); await page.wait(selectors.globalItems.applicationsMenuVisible); await page.waitToClick(selectors.globalItems.itemsButton); - await page.wait(selectors.itemsIndex.searchItemInput); + await page.wait(selectors.itemsIndex.topbarSearch); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/item/index'); }); it('should search for the item once again', async() => { - await page.clearInput(selectors.itemsIndex.searchItemInput); - await page.write(selectors.itemsIndex.searchItemInput, 'Ranged weapon pistol 9mm'); + await page.clearInput(selectors.itemsIndex.topbarSearch); + await page.write(selectors.itemsIndex.topbarSearch, 'Ranged weapon pistol 9mm'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1); const resultCount = await page.countElement(selectors.itemsIndex.searchResult); @@ -156,8 +156,8 @@ describe('Item regularize path', () => { it('should regularize the item once more', async() => { await page.waitToClick(selectors.itemDescriptor.moreMenu); await page.waitToClick(selectors.itemDescriptor.moreMenuRegularizeButton); - await page.write(selectors.itemDescriptor.regularizeQuantityInput, '100'); - await page.autocompleteSearch(selectors.itemDescriptor.regularizeWarehouseAutocomplete, 'Warehouse One'); + await page.write(selectors.itemDescriptor.regularizeQuantity, '100'); + await page.autocompleteSearch(selectors.itemDescriptor.regularizeWarehouse, 'Warehouse One'); await page.waitToClick(selectors.itemDescriptor.regularizeSaveButton); const result = await page.waitForLastSnackbar(); @@ -178,7 +178,7 @@ describe('Item regularize path', () => { }); it('should search for the ticket with id 25 once again', async() => { - await page.write(selectors.ticketsIndex.searchTicketInput, '25'); + await page.write(selectors.ticketsIndex.topbarSearch, '25'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); diff --git a/e2e/paths/04-item-module/11_item_log.spec.js b/e2e/paths/04-item-module/11_item_log.spec.js index 8c75ed0c1..0de362565 100644 --- a/e2e/paths/04-item-module/11_item_log.spec.js +++ b/e2e/paths/04-item-module/11_item_log.spec.js @@ -15,7 +15,7 @@ describe('Item log path', () => { }); it(`should search for the Knowledge artifact to confirm it isn't created yet`, async() => { - await page.write(selectors.itemsIndex.searchItemInput, 'Knowledge artifact'); + await page.write(selectors.itemsIndex.topbarSearch, 'Knowledge artifact'); await page.waitToClick(selectors.itemsIndex.searchButton); await page.waitForNumberOfElements(selectors.itemsIndex.searchResult, 0); const result = await page.countElement(selectors.itemsIndex.searchResult); @@ -33,9 +33,9 @@ describe('Item log path', () => { it('should create the Knowledge artifact item', async() => { await page.write(selectors.itemCreateView.temporalName, 'Knowledge artifact'); - await page.autocompleteSearch(selectors.itemCreateView.typeAutocomplete, 'Crisantemo'); - await page.autocompleteSearch(selectors.itemCreateView.intrastatAutocomplete, 'Coral y materiales similares'); - await page.autocompleteSearch(selectors.itemCreateView.originAutocomplete, 'Holand'); + await page.autocompleteSearch(selectors.itemCreateView.type, 'Crisantemo'); + await page.autocompleteSearch(selectors.itemCreateView.intrastat, 'Coral y materiales similares'); + await page.autocompleteSearch(selectors.itemCreateView.origin, 'Holand'); await page.waitToClick(selectors.itemCreateView.createButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/05-ticket-module/01-sale/01_list_sales.spec.js b/e2e/paths/05-ticket-module/01-sale/01_list_sales.spec.js index aefdaa4cb..766ca1a18 100644 --- a/e2e/paths/05-ticket-module/01-sale/01_list_sales.spec.js +++ b/e2e/paths/05-ticket-module/01-sale/01_list_sales.spec.js @@ -18,7 +18,6 @@ describe('Ticket List sale path', () => { }); it('should confirm the first ticket sale contains the colour tag', async() => { - await page.waitForContentLoaded(); const value = await page .waitToGetProperty(selectors.ticketSales.firstSaleColour, 'innerText'); diff --git a/e2e/paths/05-ticket-module/01-sale/02_edit_sale.spec.js b/e2e/paths/05-ticket-module/01-sale/02_edit_sale.spec.js index 3ef2b1c3d..f2265797c 100644 --- a/e2e/paths/05-ticket-module/01-sale/02_edit_sale.spec.js +++ b/e2e/paths/05-ticket-module/01-sale/02_edit_sale.spec.js @@ -21,7 +21,7 @@ xdescribe('Ticket Edit sale path', () => { it(`should click on the first sale claim icon to navigate over there`, async() => { const url = await nightmare .waitToClick(selectors.ticketSales.firstSaleClaimIcon) - .wait(selectors.claimBasicData.claimStateAutocomplete) + .wait(selectors.claimBasicData.claimState) .parsedUrl(); expect(url.hash).toEqual('#!/claim/2/basic-data'); @@ -32,7 +32,7 @@ xdescribe('Ticket Edit sale path', () => { .waitToClick(selectors.globalItems.applicationsMenuButton) .wait(selectors.globalItems.applicationsMenuVisible) .waitToClick(selectors.globalItems.ticketsButton) - .wait(selectors.ticketsIndex.searchTicketInput) + .wait(selectors.ticketsIndex.topbarSearch) .parsedUrl(); expect(url.hash).toEqual('#!/ticket/index'); @@ -196,7 +196,7 @@ xdescribe('Ticket Edit sale path', () => { .waitToClick(selectors.ticketSales.thirdSaleCheckbox) .waitToClick(selectors.ticketSales.moreMenu) .waitToClick(selectors.ticketSales.moreMenuCreateClaim) - .wait(selectors.claimBasicData.claimStateAutocomplete) + .wait(selectors.claimBasicData.claimState) .parsedUrl(); expect(url.hash).toContain('basic-data'); @@ -228,7 +228,7 @@ xdescribe('Ticket Edit sale path', () => { .waitToClick(selectors.globalItems.applicationsMenuButton) .wait(selectors.globalItems.applicationsMenuVisible) .waitToClick(selectors.globalItems.ticketsButton) - .wait(selectors.ticketsIndex.searchTicketInput) + .wait(selectors.ticketsIndex.topbarSearch) .parsedUrl(); expect(url.hash).toEqual('#!/ticket/index'); diff --git a/e2e/paths/05-ticket-module/01_observations.spec.js b/e2e/paths/05-ticket-module/01_observations.spec.js index 6aa5d845e..b343bcfeb 100644 --- a/e2e/paths/05-ticket-module/01_observations.spec.js +++ b/e2e/paths/05-ticket-module/01_observations.spec.js @@ -18,10 +18,9 @@ describe('Ticket Create notes path', () => { }); it('should create a new note', async() => { - await page.waitForContentLoaded(); await page.waitToClick(selectors.ticketNotes.addNoteButton); - await page.autocompleteSearch(selectors.ticketNotes.firstNoteTypeAutocomplete, 'observation one'); - await page.write(selectors.ticketNotes.firstDescriptionInput, 'description'); + await page.autocompleteSearch(selectors.ticketNotes.firstNoteType, 'observation one'); + await page.write(selectors.ticketNotes.firstDescription, 'description'); await page.waitToClick(selectors.ticketNotes.submitNotesButton); const result = await page.waitForLastSnackbar(); @@ -31,12 +30,12 @@ describe('Ticket Create notes path', () => { it('should confirm the note is the expected one', async() => { await page.reloadSection('ticket.card.observation'); const result = await page - .waitToGetProperty(selectors.ticketNotes.firstNoteTypeAutocomplete, 'value'); + .waitToGetProperty(selectors.ticketNotes.firstNoteType, 'value'); expect(result).toEqual('observation one'); const firstDescription = await page - .waitToGetProperty(selectors.ticketNotes.firstDescriptionInput, 'value'); + .waitToGetProperty(selectors.ticketNotes.firstDescription, 'value'); expect(firstDescription).toEqual('description'); }); diff --git a/e2e/paths/05-ticket-module/04_packages.spec.js b/e2e/paths/05-ticket-module/04_packages.spec.js index 668317b53..fd2945877 100644 --- a/e2e/paths/05-ticket-module/04_packages.spec.js +++ b/e2e/paths/05-ticket-module/04_packages.spec.js @@ -20,7 +20,7 @@ describe('Ticket Create packages path', () => { it(`should attempt create a new package but receive an error if package is blank`, async() => { await page.waitToClick(selectors.ticketPackages.firstRemovePackageButton); await page.waitToClick(selectors.ticketPackages.addPackageButton); - await page.write(selectors.ticketPackages.firstQuantityInput, '99'); + await page.write(selectors.ticketPackages.firstQuantity, '99'); await page.waitToClick(selectors.ticketPackages.savePackagesButton); const result = await page.waitForLastSnackbar(); @@ -28,8 +28,8 @@ describe('Ticket Create packages path', () => { }); it(`should delete the first package and receive and error to save a new one with blank quantity`, async() => { - await page.clearInput(selectors.ticketPackages.firstQuantityInput); - await page.autocompleteSearch(selectors.ticketPackages.firstPackageAutocomplete, 'Container medical box 1m'); + await page.clearInput(selectors.ticketPackages.firstQuantity); + await page.autocompleteSearch(selectors.ticketPackages.firstPackage, 'Container medical box 1m'); await page.waitToClick(selectors.ticketPackages.savePackagesButton); const result = await page.waitForLastSnackbar(); @@ -40,14 +40,14 @@ describe('Ticket Create packages path', () => { const result = await page .evaluate(selector => { return document.querySelector(`${selector} input`).checkValidity(); - }, selectors.ticketPackages.firstQuantityInput); + }, selectors.ticketPackages.firstQuantity); expect(result).toBeTruthy(); }); it(`should create a new package with correct data`, async() => { - await page.clearInput(selectors.ticketPackages.firstQuantityInput); - await page.write(selectors.ticketPackages.firstQuantityInput, '-99'); + await page.clearInput(selectors.ticketPackages.firstQuantity); + await page.write(selectors.ticketPackages.firstQuantity, '-99'); await page.waitToClick(selectors.ticketPackages.savePackagesButton); const result = await page.waitForLastSnackbar(); @@ -56,15 +56,15 @@ describe('Ticket Create packages path', () => { it(`should confirm the first select is the expected one`, async() => { await page.reloadSection('ticket.card.package'); - await page.waitForTextInField(selectors.ticketPackages.firstPackageAutocomplete, 'Container medical box 1m'); - const result = await page.waitToGetProperty(selectors.ticketPackages.firstPackageAutocomplete, 'value'); + await page.waitForTextInField(selectors.ticketPackages.firstPackage, 'Container medical box 1m'); + const result = await page.waitToGetProperty(selectors.ticketPackages.firstPackage, 'value'); expect(result).toEqual('7 : Container medical box 1m'); }); it(`should confirm the first quantity is just a number and the string part was ignored by the imput number`, async() => { - await page.waitForTextInField(selectors.ticketPackages.firstQuantityInput, '-99'); - const result = await page.waitToGetProperty(selectors.ticketPackages.firstQuantityInput, 'value'); + await page.waitForTextInField(selectors.ticketPackages.firstQuantity, '-99'); + const result = await page.waitToGetProperty(selectors.ticketPackages.firstQuantity, 'value'); expect(result).toEqual('-99'); }); diff --git a/e2e/paths/05-ticket-module/05_tracking_state.spec.js b/e2e/paths/05-ticket-module/05_tracking_state.spec.js index 74ca980d5..b6f39bf31 100644 --- a/e2e/paths/05-ticket-module/05_tracking_state.spec.js +++ b/e2e/paths/05-ticket-module/05_tracking_state.spec.js @@ -19,9 +19,8 @@ describe('Ticket Create new tracking state path', () => { }); it('should access to the create state view by clicking the create floating button', async() => { - await page.waitForContentLoaded(); await page.waitToClick(selectors.ticketTracking.createStateButton); - await page.waitForSelector(selectors.createStateView.stateAutocomplete, {visible: true}); + await page.waitForSelector(selectors.createStateView.state, {visible: true}); let url = await page.parsedUrl(); expect(url.hash).toContain('tracking/edit'); @@ -35,7 +34,7 @@ describe('Ticket Create new tracking state path', () => { }); it(`should create a new state`, async() => { - await page.autocompleteSearch(selectors.createStateView.stateAutocomplete, '¿Fecha?'); + await page.autocompleteSearch(selectors.createStateView.state, '¿Fecha?'); await page.waitToClick(selectors.createStateView.saveStateButton); let result = await page.waitForLastSnackbar(); @@ -60,7 +59,7 @@ describe('Ticket Create new tracking state path', () => { it(`should attemp to create an state for which salesPerson doesn't have permissions`, async() => { await page.waitFor(1500); - await page.autocompleteSearch(selectors.createStateView.stateAutocomplete, 'Encajado'); + await page.autocompleteSearch(selectors.createStateView.state, 'Encajado'); await page.waitToClick(selectors.createStateView.saveStateButton); let result = await page.waitForLastSnackbar(); @@ -68,9 +67,9 @@ describe('Ticket Create new tracking state path', () => { }); it(`should make sure the worker gets autocomplete uppon selecting the assigned state`, async() => { - await page.autocompleteSearch(selectors.createStateView.stateAutocomplete, 'asignado'); + await page.autocompleteSearch(selectors.createStateView.state, 'asignado'); let result = await page - .waitToGetProperty(selectors.createStateView.workerAutocomplete, 'value'); + .waitToGetProperty(selectors.createStateView.worker, 'value'); expect(result).toEqual('salesPersonNick'); }); diff --git a/e2e/paths/05-ticket-module/06_basic_data_steps.spec.js b/e2e/paths/05-ticket-module/06_basic_data_steps.spec.js index f8b8d7a3d..670d42627 100644 --- a/e2e/paths/05-ticket-module/06_basic_data_steps.spec.js +++ b/e2e/paths/05-ticket-module/06_basic_data_steps.spec.js @@ -18,10 +18,10 @@ describe('Ticket Edit basic data path', () => { }); it(`should confirm the zone autocomplete is disabled unless your role is productionBoss`, async() => { - await page.waitForSelector(selectors.ticketBasicData.zoneAutocomplete, {}); + await page.waitForSelector(selectors.ticketBasicData.zone, {}); const disabled = await page.evaluate(selector => { return document.querySelector(selector).disabled; - }, `${selectors.ticketBasicData.zoneAutocomplete} input`); + }, `${selectors.ticketBasicData.zone} input`); expect(disabled).toBeTruthy(); }); @@ -34,33 +34,34 @@ describe('Ticket Edit basic data path', () => { it(`should confirm the zone autocomplete is enabled for the role productionBoss`, async() => { await page.waitForSpinnerLoad(); - await page.wait(selectors.ticketBasicData.zoneAutocomplete); + await page.wait(selectors.ticketBasicData.zone); const disabled = await page.evaluate(selector => { return document.querySelector(selector).disabled; - }, `${selectors.ticketBasicData.zoneAutocomplete} input`); + }, `${selectors.ticketBasicData.zone} input`); expect(disabled).toBeFalsy(); }); it(`should check the zone is for Silla247`, async() => { let zone = await page - .waitToGetProperty(selectors.ticketBasicData.zoneAutocomplete, 'value'); + .waitToGetProperty(selectors.ticketBasicData.zone, 'value'); expect(zone).toContain('Zone 247 A'); }); it(`should edit the ticket agency then check there are no zones for it`, async() => { - await page.autocompleteSearch(selectors.ticketBasicData.agencyAutocomplete, 'Entanglement'); - let zone = await page - .waitToGetProperty(selectors.ticketBasicData.zoneAutocomplete, 'value'); + await page.autocompleteSearch(selectors.ticketBasicData.agency, 'Entanglement'); + await page.waitFor(1000); + let emptyZone = await page + .expectPropertyValue(selectors.ticketBasicData.zone, 'value', ''); - expect(zone.length).toEqual(0); + expect(emptyZone).toBeTruthy(); }); it(`should edit the ticket zone then check the agency is for the new zone`, async() => { - await page.autocompleteSearch(selectors.ticketBasicData.zoneAutocomplete, 'Zone expensive A'); + await page.autocompleteSearch(selectors.ticketBasicData.zone, 'Zone expensive A'); let zone = await page - .waitToGetProperty(selectors.ticketBasicData.agencyAutocomplete, 'value'); + .waitToGetProperty(selectors.ticketBasicData.agency, 'value'); expect(zone).toContain('Silla247Expensive'); }); @@ -89,7 +90,7 @@ describe('Ticket Edit basic data path', () => { }); it(`should select a new reason for the changes made then click on finalize`, async() => { - await page.autocompleteSearch(selectors.ticketBasicData.chargesReasonAutocomplete, 'Cambiar los precios en el ticket'); + await page.autocompleteSearch(selectors.ticketBasicData.chargesReason, 'Cambiar los precios en el ticket'); await page.waitToClick(selectors.ticketBasicData.finalizeButton); await page.waitForURL('summary'); let url = await page.parsedUrl(); diff --git a/e2e/paths/05-ticket-module/09_weekly.spec.js b/e2e/paths/05-ticket-module/09_weekly.spec.js index 717d971f2..d41398bdd 100644 --- a/e2e/paths/05-ticket-module/09_weekly.spec.js +++ b/e2e/paths/05-ticket-module/09_weekly.spec.js @@ -69,7 +69,7 @@ describe('Ticket descriptor path', () => { it('should now search for the ticket 11', async() => { await page.waitForContentLoaded(); - await page.write(selectors.ticketsIndex.searchTicketInput, '11'); + await page.write(selectors.ticketsIndex.topbarSearch, '11'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); @@ -99,7 +99,7 @@ describe('Ticket descriptor path', () => { await page.waitToClick(selectors.globalItems.applicationsMenuButton); await page.wait(selectors.globalItems.applicationsMenuVisible); await page.waitToClick(selectors.globalItems.ticketsButton); - await page.wait(selectors.ticketsIndex.searchTicketInput); + await page.wait(selectors.ticketsIndex.topbarSearch); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/ticket/index'); @@ -113,7 +113,7 @@ describe('Ticket descriptor path', () => { }); it('should now search for the weekly ticket 11', async() => { - await page.write(selectors.ticketsIndex.searchTicketInput, '11'); + await page.write(selectors.ticketsIndex.topbarSearch, '11'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchWeeklyResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchWeeklyResult); diff --git a/e2e/paths/05-ticket-module/10_request.spec.js b/e2e/paths/05-ticket-module/10_request.spec.js index f4fea9c2b..e3f1f59e4 100644 --- a/e2e/paths/05-ticket-module/10_request.spec.js +++ b/e2e/paths/05-ticket-module/10_request.spec.js @@ -20,9 +20,9 @@ describe('Ticket purchase request path', () => { it(`should add a new request`, async() => { await page.waitToClick(selectors.ticketRequests.addRequestButton); await page.write(selectors.ticketRequests.descriptionInput, 'New stuff'); - await page.write(selectors.ticketRequests.quantityInput, '99'); - await page.autocompleteSearch(selectors.ticketRequests.atenderAutocomplete, 'buyerNick'); - await page.write(selectors.ticketRequests.priceInput, '999'); + await page.write(selectors.ticketRequests.quantity, '99'); + await page.autocompleteSearch(selectors.ticketRequests.atender, 'buyerNick'); + await page.write(selectors.ticketRequests.price, '999'); await page.waitToClick(selectors.ticketRequests.saveButton); const result = await page.waitForLastSnackbar(); @@ -38,7 +38,7 @@ describe('Ticket purchase request path', () => { it(`should confirm the new request was added`, async() => { await page.reloadSection('ticket.card.request.index'); - const result = await page.waitToGetProperty(`${selectors.ticketRequests.firstDescription} input`, 'value'); + const result = await page.waitToGetProperty(selectors.ticketRequests.firstDescription, 'value'); expect(result).toEqual('New stuff'); }); diff --git a/e2e/paths/05-ticket-module/11_diary.spec.js b/e2e/paths/05-ticket-module/11_diary.spec.js index 363901050..6f470e07f 100644 --- a/e2e/paths/05-ticket-module/11_diary.spec.js +++ b/e2e/paths/05-ticket-module/11_diary.spec.js @@ -17,7 +17,7 @@ xdescribe('Ticket diary path', () => { }); it('should search for a specific ticket', async() => { - await page.write(selectors.ticketsIndex.searchTicketInput, '1'); + await page.write(selectors.ticketsIndex.topbarSearch, '1'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); @@ -59,7 +59,7 @@ xdescribe('Ticket diary path', () => { }); it(`should change to the warehouse two and check there are sales marked as negative balance`, async() => { - await page.autocompleteSearch(selectors.itemDiary.warehouseAutocomplete, 'Warehouse Two'); + await page.autocompleteSearch(selectors.itemDiary.warehouse, 'Warehouse Two'); const result = await page .waitToGetProperty(selectors.itemDiary.firstBalance, 'className'); diff --git a/e2e/paths/05-ticket-module/12_descriptor.spec.js b/e2e/paths/05-ticket-module/12_descriptor.spec.js index dec11dfa2..c01785165 100644 --- a/e2e/paths/05-ticket-module/12_descriptor.spec.js +++ b/e2e/paths/05-ticket-module/12_descriptor.spec.js @@ -17,7 +17,7 @@ describe('Ticket descriptor path', () => { describe('Delete ticket', () => { it('should search for an specific ticket', async() => { - await page.write(selectors.ticketsIndex.searchTicketInput, '18'); + await page.write(selectors.ticketsIndex.topbarSearch, '18'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); @@ -38,7 +38,7 @@ describe('Ticket descriptor path', () => { await page.waitForContentLoaded(); await page.waitToClick(selectors.ticketDescriptor.moreMenu); await page.waitToClick(selectors.ticketDescriptor.moreMenuChangeShippedHour); - await page.pickTime(selectors.ticketDescriptor.changeShippedHourInput, '08:15'); + await page.pickTime(selectors.ticketDescriptor.changeShippedHour, '08:15'); await page.waitToClick(selectors.ticketDescriptor.acceptChangeHourButton); const result = await page.waitForLastSnackbar(); @@ -68,7 +68,7 @@ describe('Ticket descriptor path', () => { }); it(`should search for the deleted ticket and check it's date`, async() => { - await page.write(selectors.ticketsIndex.searchTicketInput, '18'); + await page.write(selectors.ticketsIndex.topbarSearch, '18'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); await page.wait(selectors.ticketsIndex.searchResultDate); @@ -80,8 +80,8 @@ describe('Ticket descriptor path', () => { describe('add stowaway', () => { it('should search for a ticket', async() => { - await page.clearInput(selectors.ticketsIndex.searchTicketInput); - await page.write(selectors.ticketsIndex.searchTicketInput, '16'); + await page.clearInput(selectors.ticketsIndex.topbarSearch); + await page.write(selectors.ticketsIndex.topbarSearch, '16'); await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); const result = await page.countElement(selectors.ticketsIndex.searchResult); diff --git a/e2e/paths/05-ticket-module/13_services.spec.js b/e2e/paths/05-ticket-module/13_services.spec.js index 70cc55e43..4a1e12505 100644 --- a/e2e/paths/05-ticket-module/13_services.spec.js +++ b/e2e/paths/05-ticket-module/13_services.spec.js @@ -29,8 +29,8 @@ describe('Ticket services path', () => { }, 15000); it('should receive an error if you attempt to save a service without access rights', async() => { - await page.clearInput(selectors.ticketService.firstPriceInput); - await page.write(selectors.ticketService.firstPriceInput, '999'); + await page.clearInput(selectors.ticketService.firstPrice); + await page.write(selectors.ticketService.firstPrice, '999'); await page.waitToClick(selectors.ticketService.saveServiceButton); const result = await page.waitForLastSnackbar(); @@ -54,7 +54,7 @@ describe('Ticket services path', () => { await page.waitForContentLoaded(); await page.waitToClick(selectors.ticketService.addServiceButton); const result = await page - .isVisible(selectors.ticketService.firstServiceTypeAutocomplete); + .isVisible(selectors.ticketService.firstServiceType); expect(result).toBeTruthy(); }); @@ -69,7 +69,7 @@ describe('Ticket services path', () => { it('should click on the add new service type to open the dialog', async() => { await page.waitToClick(selectors.ticketService.firstAddServiceTypeButton); await page.wait('.vn-dialog.shown'); - const result = await page.isVisible(selectors.ticketService.newServiceTypeNameInput); + const result = await page.isVisible(selectors.ticketService.newServiceTypeName); expect(result).toBeTruthy(); }); @@ -82,10 +82,10 @@ describe('Ticket services path', () => { }); it('should create a new service type then add price then create the service', async() => { - await page.write(selectors.ticketService.newServiceTypeNameInput, 'Documentos'); - await page.autocompleteSearch(selectors.ticketService.newServiceTypeExpenseAutocomplete, 'Retencion'); + await page.write(selectors.ticketService.newServiceTypeName, 'Documentos'); + await page.autocompleteSearch(selectors.ticketService.newServiceTypeExpense, 'Retencion'); await page.waitToClick(selectors.ticketService.saveServiceTypeButton); - await page.write(selectors.ticketService.firstPriceInput, '999'); + await page.write(selectors.ticketService.firstPrice, '999'); await page.waitToClick(selectors.ticketService.saveServiceButton); const result = await page.waitForLastSnackbar(); @@ -95,28 +95,28 @@ describe('Ticket services path', () => { it('should confirm the service description was created correctly', async() => { await page.reloadSection('ticket.card.service'); const result = await page - .waitToGetProperty(selectors.ticketService.firstServiceTypeAutocomplete, 'value'); + .waitToGetProperty(selectors.ticketService.firstServiceType, 'value'); expect(result).toEqual('Documentos'); }); it('should confirm the service quantity was created correctly', async() => { const result = await page - .waitToGetProperty(selectors.ticketService.firstQuantityInput, 'value'); + .waitToGetProperty(selectors.ticketService.firstQuantity, 'value'); expect(result).toEqual('1'); }); it('should confirm the service price was created correctly', async() => { const result = await page - .waitToGetProperty(selectors.ticketService.firstPriceInput, 'value'); + .waitToGetProperty(selectors.ticketService.firstPrice, 'value'); expect(result).toEqual('999'); }); it('should confirm the service VAT was created correctly', async() => { const result = await page - .waitToGetProperty(selectors.ticketService.firstVatTypeAutocomplete, 'value'); + .waitToGetProperty(selectors.ticketService.firstVatType, 'value'); expect(result).toEqual('General VAT'); }); diff --git a/e2e/paths/05-ticket-module/14_create_ticket.spec.js b/e2e/paths/05-ticket-module/14_create_ticket.spec.js index 843658c94..9e68db9fd 100644 --- a/e2e/paths/05-ticket-module/14_create_ticket.spec.js +++ b/e2e/paths/05-ticket-module/14_create_ticket.spec.js @@ -17,18 +17,18 @@ describe('Ticket create path', () => { it('should open the new ticket form', async() => { await page.waitToClick(selectors.ticketsIndex.newTicketButton); - await page.wait(selectors.createTicketView.clientAutocomplete); + await page.wait(selectors.createTicketView.client); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/ticket/create'); }); it('should succeed to create a ticket', async() => { - await page.autocompleteSearch(selectors.createTicketView.clientAutocomplete, 'Tony Stark'); - await page.autocompleteSearch(selectors.createTicketView.addressAutocomplete, 'Tony Stark'); - await page.datePicker(selectors.createTicketView.deliveryDateInput, 1, null); - await page.autocompleteSearch(selectors.createTicketView.warehouseAutocomplete, 'Warehouse One'); - await page.autocompleteSearch(selectors.createTicketView.agencyAutocomplete, 'Silla247'); + await page.autocompleteSearch(selectors.createTicketView.client, 'Tony Stark'); + await page.autocompleteSearch(selectors.createTicketView.address, 'Tony Stark'); + await page.datePicker(selectors.createTicketView.deliveryDate, 1, null); + await page.autocompleteSearch(selectors.createTicketView.warehouse, 'Warehouse One'); + await page.autocompleteSearch(selectors.createTicketView.agency, 'Silla247'); await page.waitToClick(selectors.createTicketView.createButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/05-ticket-module/15_create_ticket_from_client.spec.js b/e2e/paths/05-ticket-module/15_create_ticket_from_client.spec.js index 1fe5a8228..4f7090bd3 100644 --- a/e2e/paths/05-ticket-module/15_create_ticket_from_client.spec.js +++ b/e2e/paths/05-ticket-module/15_create_ticket_from_client.spec.js @@ -17,6 +17,7 @@ describe('Ticket create from client path', () => { }); it('should click the create simple ticket on the descriptor menu', async() => { + await page.waitForContentLoaded(); await page.waitToClick(selectors.clientDescriptor.moreMenu); await page.waitToClick(selectors.clientDescriptor.simpleTicketButton); await page.waitForURL('#!/ticket/create?clientFk=102'); @@ -27,10 +28,10 @@ describe('Ticket create from client path', () => { it('should check if the client details are the expected ones', async() => { const client = await page - .waitToGetProperty(selectors.createTicketView.clientAutocomplete, 'value'); + .waitToGetProperty(selectors.createTicketView.client, 'value'); const address = await page - .waitToGetProperty(selectors.createTicketView.addressAutocomplete, 'value'); + .waitToGetProperty(selectors.createTicketView.address, 'value'); expect(client).toContain('Petter Parker'); diff --git a/e2e/paths/06-claim-module/01_basic_data.spec.js b/e2e/paths/06-claim-module/01_basic_data.spec.js index d256e2039..e2116b2ee 100644 --- a/e2e/paths/06-claim-module/01_basic_data.spec.js +++ b/e2e/paths/06-claim-module/01_basic_data.spec.js @@ -21,9 +21,9 @@ describe('Claim edit basic data path', () => { }); it(`should edit claim state and observation fields`, async() => { - await page.autocompleteSearch(selectors.claimBasicData.claimStateAutocomplete, 'Gestionado'); - await page.clearTextarea(selectors.claimBasicData.observationInput); - await page.write(selectors.claimBasicData.observationInput, 'edited observation'); + await page.autocompleteSearch(selectors.claimBasicData.claimState, 'Gestionado'); + await page.clearTextarea(selectors.claimBasicData.observation); + await page.write(selectors.claimBasicData.observation, 'edited observation'); await page.waitToClick(selectors.claimBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -39,23 +39,23 @@ describe('Claim edit basic data path', () => { it('should confirm the claim state was edited', async() => { await page.reloadSection('claim.card.basicData'); - await page.wait(selectors.claimBasicData.claimStateAutocomplete); - const result = await page.waitToGetProperty(selectors.claimBasicData.claimStateAutocomplete, 'value'); + await page.wait(selectors.claimBasicData.claimState); + const result = await page.waitToGetProperty(selectors.claimBasicData.claimState, 'value'); expect(result).toEqual('Gestionado'); }); it('should confirm the claim observation was edited', async() => { const result = await page - .waitToGetProperty(selectors.claimBasicData.observationInput, 'value'); + .waitToGetProperty(selectors.claimBasicData.observation, 'value'); expect(result).toEqual('edited observation'); }); it(`should edit the claim to leave it untainted`, async() => { - await page.autocompleteSearch(selectors.claimBasicData.claimStateAutocomplete, 'Pendiente'); - await page.clearTextarea(selectors.claimBasicData.observationInput); - await page.write(selectors.claimBasicData.observationInput, 'Observation one'); + await page.autocompleteSearch(selectors.claimBasicData.claimState, 'Pendiente'); + await page.clearTextarea(selectors.claimBasicData.observation); + await page.write(selectors.claimBasicData.observation, 'Observation one'); await page.waitToClick(selectors.claimBasicData.saveButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/06-claim-module/02_development.spec.js b/e2e/paths/06-claim-module/02_development.spec.js index 388d198aa..8f8f98b16 100644 --- a/e2e/paths/06-claim-module/02_development.spec.js +++ b/e2e/paths/06-claim-module/02_development.spec.js @@ -20,11 +20,11 @@ describe('Claim development', () => { it('should delete a development and create a new one', async() => { await page.waitToClick(selectors.claimDevelopment.firstDeleteDevelopmentButton); await page.waitToClick(selectors.claimDevelopment.addDevelopmentButton); - await page.autocompleteSearch(selectors.claimDevelopment.secondClaimReasonAutocomplete, 'Baja calidad'); - await page.autocompleteSearch(selectors.claimDevelopment.secondClaimResultAutocomplete, 'Deshidratacion'); - await page.autocompleteSearch(selectors.claimDevelopment.secondClaimResponsibleAutocomplete, 'Calidad general'); - await page.autocompleteSearch(selectors.claimDevelopment.secondClaimWorkerAutocomplete, 'deliveryNick'); - await page.autocompleteSearch(selectors.claimDevelopment.secondClaimRedeliveryAutocomplete, 'Reparto'); + await page.autocompleteSearch(selectors.claimDevelopment.secondClaimReason, 'Baja calidad'); + await page.autocompleteSearch(selectors.claimDevelopment.secondClaimResult, 'Deshidratacion'); + await page.autocompleteSearch(selectors.claimDevelopment.secondClaimResponsible, 'Calidad general'); + await page.autocompleteSearch(selectors.claimDevelopment.secondClaimWorker, 'deliveryNick'); + await page.autocompleteSearch(selectors.claimDevelopment.secondClaimRedelivery, 'Reparto'); await page.waitToClick(selectors.claimDevelopment.saveDevelopmentButton); const result = await page.waitForLastSnackbar(); @@ -40,11 +40,11 @@ describe('Claim development', () => { it('should edit a development', async() => { await page.reloadSection('claim.card.development'); - await page.autocompleteSearch(selectors.claimDevelopment.firstClaimReasonAutocomplete, 'Calor'); - await page.autocompleteSearch(selectors.claimDevelopment.firstClaimResultAutocomplete, 'Cocido'); - await page.autocompleteSearch(selectors.claimDevelopment.firstClaimResponsibleAutocomplete, 'Calidad general'); - await page.autocompleteSearch(selectors.claimDevelopment.firstClaimWorkerAutocomplete, 'adminAssistantNick'); - await page.autocompleteSearch(selectors.claimDevelopment.firstClaimRedeliveryAutocomplete, 'Cliente'); + await page.autocompleteSearch(selectors.claimDevelopment.firstClaimReason, 'Calor'); + await page.autocompleteSearch(selectors.claimDevelopment.firstClaimResult, 'Cocido'); + await page.autocompleteSearch(selectors.claimDevelopment.firstClaimResponsible, 'Calidad general'); + await page.autocompleteSearch(selectors.claimDevelopment.firstClaimWorker, 'adminAssistantNick'); + await page.autocompleteSearch(selectors.claimDevelopment.firstClaimRedelivery, 'Cliente'); await page.waitToClick(selectors.claimDevelopment.saveDevelopmentButton); const result = await page.waitForLastSnackbar(); @@ -54,19 +54,19 @@ describe('Claim development', () => { it('should confirm the first development is the expected one', async() => { await page.reloadSection('claim.card.development'); const reason = await page - .waitToGetProperty(selectors.claimDevelopment.firstClaimReasonAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.firstClaimReason, 'value'); const result = await page - .waitToGetProperty(selectors.claimDevelopment.firstClaimResultAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.firstClaimResult, 'value'); const responsible = await page - .waitToGetProperty(selectors.claimDevelopment.firstClaimResponsibleAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.firstClaimResponsible, 'value'); const worker = await page - .waitToGetProperty(selectors.claimDevelopment.firstClaimWorkerAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.firstClaimWorker, 'value'); const redelivery = await page - .waitToGetProperty(selectors.claimDevelopment.firstClaimRedeliveryAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.firstClaimRedelivery, 'value'); expect(reason).toEqual('Calor'); expect(result).toEqual('Cocido'); @@ -77,19 +77,19 @@ describe('Claim development', () => { it('should confirm the second development is the expected one', async() => { const reason = await page - .waitToGetProperty(selectors.claimDevelopment.secondClaimReasonAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.secondClaimReason, 'value'); const result = await page - .waitToGetProperty(selectors.claimDevelopment.secondClaimResultAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.secondClaimResult, 'value'); const responsible = await page - .waitToGetProperty(selectors.claimDevelopment.secondClaimResponsibleAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.secondClaimResponsible, 'value'); const worker = await page - .waitToGetProperty(selectors.claimDevelopment.secondClaimWorkerAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.secondClaimWorker, 'value'); const redelivery = await page - .waitToGetProperty(selectors.claimDevelopment.secondClaimRedeliveryAutocomplete, 'value'); + .waitToGetProperty(selectors.claimDevelopment.secondClaimRedelivery, 'value'); expect(reason).toEqual('Baja calidad'); expect(result).toEqual('Deshidratacion'); diff --git a/e2e/paths/06-claim-module/03_detail.spec.js b/e2e/paths/06-claim-module/03_detail.spec.js index e62a2981f..71b09e29b 100644 --- a/e2e/paths/06-claim-module/03_detail.spec.js +++ b/e2e/paths/06-claim-module/03_detail.spec.js @@ -64,7 +64,7 @@ xdescribe('Claim detail', () => { it('should edit de second item claimed discount', async() => { await page.waitToClick(selectors.claimDetail.secondItemDiscount); - await page.write(selectors.claimDetail.discountInput, '100'); + await page.write(selectors.claimDetail.discount, '100'); await page.keyboard.press('Enter'); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/07-order-module/01_edit_basic_data.spec.js b/e2e/paths/07-order-module/01_edit_basic_data.spec.js index eae49d802..e4c20cbe2 100644 --- a/e2e/paths/07-order-module/01_edit_basic_data.spec.js +++ b/e2e/paths/07-order-module/01_edit_basic_data.spec.js @@ -21,8 +21,8 @@ describe('Order edit basic data path', () => { describe('when confirmed order', () => { it('should not be able to change the client', async() => { - await page.autocompleteSearch(selectors.orderBasicData.clientAutocomplete, 'Tony Stark'); - await page.autocompleteSearch(selectors.orderBasicData.addressAutocomplete, 'Tony Stark'); + await page.autocompleteSearch(selectors.orderBasicData.client, 'Tony Stark'); + await page.autocompleteSearch(selectors.orderBasicData.address, 'Tony Stark'); await page.waitToClick(selectors.orderBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -40,7 +40,7 @@ describe('Order edit basic data path', () => { await page.accessToSearchResult(orderId); await page.accessToSection('order.card.basicData'); await page.waitForContentLoaded(); - await page.waitForSelector(selectors.orderBasicData.observationInput, {visible: true}); + await page.waitForSelector(selectors.orderBasicData.observation, {visible: true}); await page.waitForURL('basic-data'); const url = await page.parsedUrl(); @@ -48,7 +48,8 @@ describe('Order edit basic data path', () => { }); it('should not be able to change anything', async() => { - await page.type(selectors.orderBasicData.observationInput, 'observation'); + await page.waitForContentLoaded(); + await page.write(selectors.orderBasicData.observation, 'observation'); await page.waitToClick(selectors.orderBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -69,9 +70,9 @@ describe('Order edit basic data path', () => { }); it('should now create a new one', async() => { - await page.autocompleteSearch(selectors.createOrderView.clientAutocomplete, 'Jessica Jones'); + await page.autocompleteSearch(selectors.createOrderView.client, 'Jessica Jones'); await page.datePicker(selectors.createOrderView.landedDatePicker, 0, today); - await page.autocompleteSearch(selectors.createOrderView.agencyAutocomplete, 'Other agency'); + await page.autocompleteSearch(selectors.createOrderView.agency, 'Other agency'); await page.waitToClick(selectors.createOrderView.createButton); await page.waitForURL('/catalog'); const url = await page.parsedUrl(); @@ -81,17 +82,17 @@ describe('Order edit basic data path', () => { it('should navigate to the basic data section of the new order', async() => { await page.accessToSection('order.card.basicData'); - await page.wait(selectors.orderBasicData.observationInput); + await page.wait(selectors.orderBasicData.observation); const url = await page.parsedUrl(); expect(url.hash).toContain('/basic-data'); }); it('should be able to modify all the properties', async() => { - await page.autocompleteSearch(selectors.orderBasicData.clientAutocomplete, 'Tony Stark'); - await page.autocompleteSearch(selectors.orderBasicData.addressAutocomplete, 'Tony Stark'); - await page.autocompleteSearch(selectors.orderBasicData.agencyAutocomplete, 'Silla247'); - await page.type(selectors.orderBasicData.observationInput, 'my observation'); + await page.autocompleteSearch(selectors.orderBasicData.client, 'Tony Stark'); + await page.autocompleteSearch(selectors.orderBasicData.address, 'Tony Stark'); + await page.autocompleteSearch(selectors.orderBasicData.agency, 'Silla247'); + await page.write(selectors.orderBasicData.observation, 'my observation'); await page.waitToClick(selectors.orderBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -101,21 +102,21 @@ describe('Order edit basic data path', () => { it('should now confirm the client have been edited', async() => { await page.reloadSection('order.card.basicData'); const result = await page - .waitToGetProperty(selectors.orderBasicData.clientAutocomplete, 'value'); + .waitToGetProperty(selectors.orderBasicData.client, 'value'); expect(result).toEqual('104: Tony Stark'); }); it('should now confirm the agency have been edited', async() => { const result = await page - .waitToGetProperty(selectors.orderBasicData.agencyAutocomplete, 'value'); + .waitToGetProperty(selectors.orderBasicData.agency, 'value'); expect(result).toEqual('7: Silla247'); }); it('should now confirm the observations have been edited', async() => { const result = await page - .waitToGetProperty(selectors.orderBasicData.observationInput, 'value'); + .waitToGetProperty(selectors.orderBasicData.observation, 'value'); expect(result).toEqual('my observation'); }); diff --git a/e2e/paths/07-order-module/02_catalog.spec.js b/e2e/paths/07-order-module/02_catalog.spec.js index 430eba007..cbd8585b0 100644 --- a/e2e/paths/07-order-module/02_catalog.spec.js +++ b/e2e/paths/07-order-module/02_catalog.spec.js @@ -26,9 +26,9 @@ describe('Order catalog', () => { it('should create a new order', async() => { let today = new Date().getDate(); - await page.autocompleteSearch(selectors.createOrderView.clientAutocomplete, 'Tony Stark'); + await page.autocompleteSearch(selectors.createOrderView.client, 'Tony Stark'); await page.datePicker(selectors.createOrderView.landedDatePicker, 0, today); - await page.autocompleteSearch(selectors.createOrderView.agencyAutocomplete, 'Other agency'); + await page.autocompleteSearch(selectors.createOrderView.agency, 'Other agency'); await page.waitToClick(selectors.createOrderView.createButton); await page.waitForURL('/catalog'); const url = await page.parsedUrl(); @@ -40,7 +40,7 @@ describe('Order catalog', () => { it('should add the realm and type filters and obtain results', async() => { await page.waitForContentLoaded(); await page.waitToClick(selectors.orderCatalog.plantRealmButton); - await page.autocompleteSearch(selectors.orderCatalog.typeAutocomplete, 'Anthurium'); + await page.autocompleteSearch(selectors.orderCatalog.type, 'Anthurium'); await page.waitForNumberOfElements('section.product', 4); const result = await page.countElement('section.product'); @@ -48,7 +48,7 @@ describe('Order catalog', () => { }); it('should search for the item tag value +1 and find two results', async() => { - await page.write(selectors.orderCatalog.itemTagValueInput, '+1'); + await page.write(selectors.orderCatalog.itemTagValue, '+1'); await page.keyboard.press('Enter'); await page.waitForNumberOfElements('section.product', 2); const result = await page.countElement('section.product'); @@ -58,8 +58,8 @@ describe('Order catalog', () => { it('should search for the item tag categoria +1 and find two results', async() => { await page.waitToClick(selectors.orderCatalog.openTagSearch); - await page.autocompleteSearch(selectors.orderCatalog.tagAutocomplete, 'categoria'); - await page.write(selectors.orderCatalog.tagValueInput, '+1'); + await page.autocompleteSearch(selectors.orderCatalog.tag, 'categoria'); + await page.write(selectors.orderCatalog.tagValue, '+1'); await page.waitToClick(selectors.orderCatalog.searchTagButton); await page.waitForNumberOfElements('section.product', 1); const result = await page.countElement('section.product'); @@ -78,7 +78,7 @@ describe('Order catalog', () => { }); it('should search for an item by id', async() => { - await page.write(selectors.orderCatalog.itemIdInput, '2'); + await page.write(selectors.orderCatalog.itemId, '2'); await page.keyboard.press('Enter'); await page.waitForNumberOfElements('section.product', 1); const result = await page.countElement('section.product'); diff --git a/e2e/paths/08-route-module/01_create.spec.js b/e2e/paths/08-route-module/01_create.spec.js index 74b5d9173..656cc0bc3 100644 --- a/e2e/paths/08-route-module/01_create.spec.js +++ b/e2e/paths/08-route-module/01_create.spec.js @@ -19,14 +19,14 @@ describe('Route create path', () => { it('should click on the add new route button and open the creation form', async() => { await page.waitForContentLoaded(); await page.waitToClick(selectors.routeIndex.addNewRouteButton); - await page.wait(selectors.createRouteView.workerAutocomplete); + await page.wait(selectors.createRouteView.worker); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/route/create'); }); it(`should attempt to create a new route but fail since employee has no access rights`, async() => { - await page.write(selectors.createRouteView.descriptionInput, 'faster faster!!'); + await page.write(selectors.createRouteView.description, 'faster faster!!'); await page.waitToClick(selectors.createRouteView.submitButton); const result = await page.waitForLastSnackbar(); @@ -43,18 +43,18 @@ describe('Route create path', () => { it('should again click on the add new route button and open the creation form', async() => { await page.waitToClick(selectors.routeIndex.addNewRouteButton); - await page.wait(selectors.createRouteView.workerAutocomplete); + await page.wait(selectors.createRouteView.worker); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/route/create'); }); it(`should create a new route`, async() => { - await page.autocompleteSearch(selectors.createRouteView.workerAutocomplete, 'teamManagerNick'); + await page.autocompleteSearch(selectors.createRouteView.worker, 'teamManagerNick'); await page.datePicker(selectors.createRouteView.createdDatePicker, 0, null); - await page.autocompleteSearch(selectors.createRouteView.vehicleAutoComplete, '4444-IMK'); - await page.autocompleteSearch(selectors.createRouteView.agencyAutoComplete, 'Teleportation device'); - await page.write(selectors.createRouteView.descriptionInput, 'faster faster!!'); + await page.autocompleteSearch(selectors.createRouteView.vehicleAuto, '4444-IMK'); + await page.autocompleteSearch(selectors.createRouteView.agency, 'Teleportation device'); + await page.write(selectors.createRouteView.description, 'faster faster!!'); await page.waitToClick(selectors.createRouteView.submitButton); const result = await page.waitForLastSnackbar(); diff --git a/e2e/paths/08-route-module/02_basic_data.spec.js b/e2e/paths/08-route-module/02_basic_data.spec.js index 5f329f4eb..7828b3827 100644 --- a/e2e/paths/08-route-module/02_basic_data.spec.js +++ b/e2e/paths/08-route-module/02_basic_data.spec.js @@ -18,15 +18,15 @@ describe('Route basic Data path', () => { }); it('should edit the route basic data', async() => { - await page.autocompleteSearch(selectors.routeBasicData.workerAutoComplete, 'adminBossNick'); - await page.autocompleteSearch(selectors.routeBasicData.vehicleAutoComplete, '1111-IMK'); - await page.datePicker(selectors.routeBasicData.createdDateInput, 1, null); - await page.clearInput(selectors.routeBasicData.kmStartInput); - await page.write(selectors.routeBasicData.kmStartInput, '1'); - await page.clearInput(selectors.routeBasicData.kmEndInput); - await page.write(selectors.routeBasicData.kmEndInput, '2'); - await page.type(`${selectors.routeBasicData.startedHourInput} input`, '0800'); - await page.type(`${selectors.routeBasicData.finishedHourInput} input`, '1230'); + await page.autocompleteSearch(selectors.routeBasicData.worker, 'adminBossNick'); + await page.autocompleteSearch(selectors.routeBasicData.vehicle, '1111-IMK'); + await page.datePicker(selectors.routeBasicData.createdDate, 1, null); + await page.clearInput(selectors.routeBasicData.kmStart); + await page.write(selectors.routeBasicData.kmStart, '1'); + await page.clearInput(selectors.routeBasicData.kmEnd); + await page.write(selectors.routeBasicData.kmEnd, '2'); + await page.type(`${selectors.routeBasicData.startedHour} input`, '0800'); + await page.type(`${selectors.routeBasicData.finishedHour} input`, '1230'); await page.waitToClick(selectors.routeBasicData.saveButton); const result = await page.waitForLastSnackbar(); @@ -35,26 +35,26 @@ describe('Route basic Data path', () => { it('should confirm the worker was edited', async() => { await page.reloadSection('route.card.basicData'); - const worker = await page.waitToGetProperty(selectors.routeBasicData.workerAutoComplete, 'value'); + const worker = await page.waitToGetProperty(selectors.routeBasicData.worker, 'value'); expect(worker).toEqual('adminBoss - adminBossNick'); }); it('should confirm the vehicle was edited', async() => { - const vehicle = await page.waitToGetProperty(selectors.routeBasicData.vehicleAutoComplete, 'value'); + const vehicle = await page.waitToGetProperty(selectors.routeBasicData.vehicle, 'value'); expect(vehicle).toEqual('1111-IMK'); }); it('should confirm the km start was edited', async() => { - const kmStart = await page.waitToGetProperty(selectors.routeBasicData.kmStartInput, 'value'); + const kmStart = await page.waitToGetProperty(selectors.routeBasicData.kmStart, 'value'); expect(kmStart).toEqual('1'); }); it('should confirm the km end was edited', async() => { - const kmEnd = await page.waitToGetProperty(selectors.routeBasicData.kmEndInput, 'value'); + const kmEnd = await page.waitToGetProperty(selectors.routeBasicData.kmEnd, 'value'); expect(kmEnd).toEqual('2'); }); diff --git a/e2e/paths/09-invoice-out-module/01_descriptor.spec.js b/e2e/paths/09-invoice-out-module/01_descriptor.spec.js index a98d2eb02..f26eaa47a 100644 --- a/e2e/paths/09-invoice-out-module/01_descriptor.spec.js +++ b/e2e/paths/09-invoice-out-module/01_descriptor.spec.js @@ -30,7 +30,7 @@ describe('InvoiceOut descriptor path', () => { await page.waitToClick(selectors.globalItems.applicationsMenuButton); await page.wait(selectors.globalItems.applicationsMenuVisible); await page.waitToClick(selectors.globalItems.invoiceOutButton); - await page.wait(selectors.invoiceOutIndex.searchInvoiceOutInput); + await page.wait(selectors.invoiceOutIndex.topbarSearch); await page.waitForURL('#!/invoice-out/index'); const url = await page.parsedUrl(); @@ -39,7 +39,7 @@ describe('InvoiceOut descriptor path', () => { it('should search for the target invoiceOut', async() => { await page.waitForContentLoaded(); - await page.write(selectors.invoiceOutIndex.searchInvoiceOutInput, 'T2222222'); + await page.write(selectors.invoiceOutIndex.topbarSearch, 'T2222222'); await page.waitToClick(selectors.invoiceOutIndex.searchButton); await page.waitForNumberOfElements(selectors.invoiceOutIndex.searchResult, 1); const result = await page.countElement(selectors.invoiceOutIndex.searchResult); @@ -71,7 +71,7 @@ describe('InvoiceOut descriptor path', () => { }); it(`should search for the deleted invouceOut to find no results`, async() => { - await page.write(selectors.invoiceOutIndex.searchInvoiceOutInput, 'T2222222'); + await page.write(selectors.invoiceOutIndex.topbarSearch, 'T2222222'); await page.waitToClick(selectors.invoiceOutIndex.searchButton); await page.waitForNumberOfElements(selectors.invoiceOutIndex.searchResult, 0); const result = await page.countElement(selectors.invoiceOutIndex.searchResult); @@ -83,7 +83,7 @@ describe('InvoiceOut descriptor path', () => { await page.waitToClick(selectors.globalItems.applicationsMenuButton); await page.wait(selectors.globalItems.applicationsMenuVisible); await page.waitToClick(selectors.globalItems.ticketsButton); - await page.wait(selectors.ticketsIndex.searchTicketInput); + await page.wait(selectors.ticketsIndex.topbarSearch); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/ticket/index'); @@ -105,7 +105,7 @@ describe('InvoiceOut descriptor path', () => { await page.waitToClick(selectors.globalItems.applicationsMenuButton); await page.wait(selectors.globalItems.applicationsMenuVisible); await page.waitToClick(selectors.globalItems.invoiceOutButton); - await page.wait(selectors.invoiceOutIndex.searchInvoiceOutInput); + await page.wait(selectors.invoiceOutIndex.topbarSearch); const url = await page.parsedUrl(); expect(url.hash).toEqual('#!/invoice-out/index');