Merge branch 'dev' of https://git.verdnatura.es/salix into dev

This commit is contained in:
SAMBA\bernat 2018-02-16 07:45:29 +01:00
commit 63718d4d86
33 changed files with 673 additions and 408 deletions

View File

@ -136,10 +136,8 @@
"menu": {
"description": "Credit",
"icon": "credit_card"
},
"acl": ["manager", "salesAssistant", "teamBoss", "teamManager"]
},
{
}
}, {
"url": "/create",
"state": "clientCard.credit.create",
"component": "vn-client-credit-create",

View File

@ -18,7 +18,7 @@
<vn-textfield vn-one label="Street address" field="$ctrl.address.street"></vn-textfield>
</vn-horizontal>
<vn-horizontal>
<vn-textfield vn-one label="Postcode" field="$ctrl.address.postcode"></vn-textfield>
<vn-textfield vn-one label="Postcode" field="$ctrl.address.postalCode"></vn-textfield>
<vn-textfield vn-one label="Town/City" field="$ctrl.address.city"></vn-textfield>
<vn-autocomplete vn-one
field="$ctrl.address.provinceFk"

View File

@ -23,7 +23,7 @@
<vn-textfield vn-one label="Street" field="$ctrl.address.street"></vn-textfield>
</vn-horizontal>
<vn-horizontal>
<vn-textfield vn-one label="Postcode" field="$ctrl.address.postcode"></vn-textfield>
<vn-textfield vn-one label="Postcode" field="$ctrl.address.postalCode"></vn-textfield>
<vn-textfield vn-one label="City" field="$ctrl.address.city"></vn-textfield>
<vn-autocomplete vn-one
initial-data="$ctrl.address.province"

View File

@ -66,8 +66,8 @@ export default class Controller {
submit() {
this._unsetDirtyForm();
let submitWatcher = this.$scope.watcher.dataChanged();
let submitObservations;
let canWatcherSubmit = this.$scope.watcher.dataChanged();
let canObservationsSubmit;
let repeatedTypes = false;
let types = [];
let observationsObj = {
@ -95,21 +95,21 @@ export default class Controller {
}
}
submitObservations = observationsObj.update.length > 0 || observationsObj.create.length > 0 || observationsObj.delete.length > 0;
canObservationsSubmit = observationsObj.update.length > 0 || observationsObj.create.length > 0 || observationsObj.delete.length > 0;
if (repeatedTypes) {
this.vnApp.showMessage(
this.$translate.instant('The observation type must be unique')
);
} else if (submitWatcher && !submitObservations) {
} else if (canWatcherSubmit && !canObservationsSubmit) {
this.$scope.watcher.submit().then(() => {
this.$state.go('clientCard.addresses.list', {id: this.$state.params.id});
});
} else if (!submitWatcher && submitObservations) {
} else if (!canWatcherSubmit && canObservationsSubmit) {
this._submitObservations(observationsObj).then(() => {
this.$state.go('clientCard.addresses.list', {id: this.$state.params.id});
});
} else if (submitWatcher && submitObservations) {
} else if (canWatcherSubmit && canObservationsSubmit) {
this.$q.all([this.$scope.watcher.submit(), this._submitObservations(observationsObj)]).then(() => {
this.$state.go('clientCard.addresses.list', {id: this.$state.params.id});
});

View File

@ -41,9 +41,8 @@ describe('Directive zoomImage', () => {
it('should detroy zoom container when click outside zoomed image', () => {
let image = getCompiledImage(`<img src="${srcDefault}" zoom-image>`);
image[0].click();
findContainer = document.getElementById(idContainer);
let findOutsideImage = findContainer.querySelector('.zoomImage-background');
let findOutsideImage = document.querySelector('.zoomImage-background');
findOutsideImage.click();
findContainer = document.getElementById(idContainer);

View File

@ -12,6 +12,7 @@ export default {
vnModuleContainer: 'vn-module-container > a',
vnSearchBar: 'vn-searchbar > form > vn-horizontal',
vnItemClient: 'vn-item-client',
vnItemProduct: 'vn-item-product',
vnFloatButton: 'vn-float-button > button',
vnMenuItem: 'vn-menu-item > li > a',
vnAutocomplete: 'vn-autocomplete',

View File

@ -121,8 +121,15 @@ Nightmare.action('waitForNumberOfElements', function(selector, count, done) {
});
Nightmare.action('waitForTextInElement', function(selector, name, done) {
this.wait((resultSelector, expectedName) => {
return document.querySelector(resultSelector).innerText.toLowerCase().includes(expectedName.toLowerCase());
this.wait((resultSelector, expectedText) => {
return document.querySelector(resultSelector).innerText.toLowerCase().includes(expectedText.toLowerCase());
}, selector, name)
.then(done);
});
Nightmare.action('waitForTextInInput', function(selector, name, done) {
this.wait((resultSelector, expectedText) => {
return document.querySelector(resultSelector).value.toLowerCase().includes(expectedText.toLowerCase());
}, selector, name)
.then(done);
});

View File

@ -16,7 +16,8 @@ export default {
clientsButton: `${components.vnMainMenu} > div > ul > li:nth-child(1)`
},
moduleAccessView: {
clientsSectionButton: `${components.vnModuleContainer}[ui-sref="clients"]`
clientsSectionButton: `${components.vnModuleContainer}[ui-sref="clients"]`,
itemsSectionButton: `${components.vnModuleContainer}[ui-sref="item.index"]`
},
clientsIndex: {
searchClientInput: `${components.vnTextfield}`,
@ -34,7 +35,7 @@ export default {
salesBruceBannerOption: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(1)`,
createButton: `${components.vnSubmit}`
},
basicData: {
clientBasicData: {
basicDataButton: `${components.vnMenuItem}[ui-sref="clientCard.basicData"]`,
nameInput: `${components.vnTextfield}[name="name"]`,
contactInput: `${components.vnTextfield}[name="contact"]`,
@ -48,7 +49,7 @@ export default {
channelMetropolisOption: `${components.vnAutocomplete}[field="$ctrl.client.contactChannelFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(3)`,
saveButton: `${components.vnSubmit}`
},
fiscalData: {
clientFiscalData: {
fiscalDataButton: `${components.vnMenuItem}[ui-sref="clientCard.fiscalData"]`,
socialNameInput: `${components.vnTextfield}[name="socialName"]`,
fiscalIdInput: `${components.vnTextfield}[name="fi"]`,
@ -69,7 +70,7 @@ export default {
viesCheckboxInput: `${components.vnCheck}[label='Vies'] > label > input`,
saveButton: `${components.vnSubmit}`
},
payMethod: {
clientPayMethod: {
payMethodButton: `${components.vnMenuItem}[ui-sref="clientCard.billingData"]`,
payMethodInput: `${components.vnAutocomplete}[field="$ctrl.client.payMethodFk"] > vn-vertical > ${components.vnTextfield}`,
payMethodIBANOption: `${components.vnAutocomplete}[field="$ctrl.client.payMethodFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(5)`,
@ -82,13 +83,13 @@ export default {
receivedB2BVNLCheckbox: `${components.vnCheck}[label='Received B2B VNL'] > label > input`,
saveButton: `${components.vnSubmit}`
},
addresses: {
clientAddresses: {
addressesButton: `${components.vnMenuItem}[ui-sref="clientCard.addresses.list"]`,
createAddress: `${components.vnFloatButton}`,
defaultCheckboxInput: `${components.vnCheck}[label='Default'] > label > input`,
consigneeInput: `${components.vnTextfield}[name="nickname"]`,
streetAddressInput: `${components.vnTextfield}[name="street"]`,
postcodeInput: `${components.vnTextfield}[name="postcode"]`,
postcodeInput: `${components.vnTextfield}[name="postalCode"]`,
cityInput: `${components.vnTextfield}[name="city"]`,
provinceInput: `${components.vnAutocomplete}[field="$ctrl.address.provinceFk"] > vn-vertical > ${components.vnTextfield}`,
provinceSecondOption: `${components.vnAutocomplete}[field="$ctrl.address.provinceFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(2)`,
@ -104,27 +105,27 @@ export default {
equalizationTaxCheckboxLabel: `${components.vnCheck}[label='Is equalizated'] > label > input`,
saveButton: `${components.vnSubmit}`
},
webAccess: {
clientWebAccess: {
webAccessButton: `${components.vnMenuItem}[ui-sref="clientCard.webAccess"]`,
enableWebAccessCheckbox: `${components.vnCheck}[label='Enable web access'] > label > input`,
userNameInput: `${components.vnTextfield}[name="name"]`,
saveButton: `${components.vnSubmit}`
},
notes: {
clientNotes: {
notesButton: `${components.vnMenuItem}[ui-sref="clientCard.notes.list"]`,
addNoteFloatButton: `${components.vnFloatButton}`,
noteInput: `${components.vnTextarea}[label="Note"]`,
saveButton: `${components.vnSubmit}`,
firstNoteText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-notes > vn-card > div > vn-vertical > vn-one:nth-child(2) > vn-horizontal.ng-binding'
},
credit: {
clientCredit: {
creditButton: `${components.vnMenuItem}[ui-sref="clientCard.credit.list"]`,
addCreditFloatButton: `${components.vnFloatButton}`,
creditInput: `${components.vnTextfield}[name="credit"]`,
saveButton: `${components.vnSubmit}`,
firstCreditText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-credit-list > vn-card > div > vn-vertical > vn-one > vn-horizontal:nth-child(1) > vn-one'
},
greuge: {
clientGreuge: {
greugeButton: `${components.vnMenuItem}[ui-sref="clientCard.greuge.list"]`,
addGreugeFloatButton: `${components.vnFloatButton}`,
amountInput: `${components.vnTextfield}[name="amount"]`,
@ -134,8 +135,18 @@ export default {
saveButton: `${components.vnSubmit}`,
firstGreugeText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-greuge-list > vn-card > div > vn-vertical > vn-one > vn-horizontal'
},
mandate: {
clientMandate: {
mandateButton: `${components.vnMenuItem}[ui-sref="clientCard.mandate"]`,
firstMandateText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > vn-client-mandate > vn-card > div > vn-vertical > vn-one > vn-horizontal'
},
itemsIndex: {
createItemButton: `${components.vnFloatButton}`,
searchResult: `${components.vnItemProduct} > vn-horizontal`,
searchItemInput: `${components.vnTextfield}`,
searchButton: `${components.vnSearchBar} > vn-icon-button > button`
},
itemBarcodes: {
barcodeButton: `${components.vnMenuItem}[ui-sref="item.card.itemBarcode"]`
}
};

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -72,10 +72,10 @@ describe('Edit basicData path', () => {
it('should edit the name', done => {
nightmare
.wait(selectors.basicData.nameInput)
.clearInput(selectors.basicData.nameInput)
.type(selectors.basicData.nameInput, 'Ororo Munroe')
.click(selectors.basicData.saveButton)
.wait(selectors.clientBasicData.nameInput)
.clearInput(selectors.clientBasicData.nameInput)
.type(selectors.clientBasicData.nameInput, 'Ororo Munroe')
.click(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -88,11 +88,11 @@ describe('Edit basicData path', () => {
it('should confirm the name have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.getInputValue(selectors.basicData.nameInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.getInputValue(selectors.clientBasicData.nameInput)
.then(result => {
expect(result).toEqual('Ororo Munroe');
done();
@ -102,10 +102,10 @@ describe('Edit basicData path', () => {
it('should edit the contact name', done => {
nightmare
.wait(selectors.basicData.contactInput)
.clearInput(selectors.basicData.contactInput)
.type(selectors.basicData.contactInput, 'Black Panther')
.click(selectors.basicData.saveButton)
.wait(selectors.clientBasicData.contactInput)
.clearInput(selectors.clientBasicData.contactInput)
.type(selectors.clientBasicData.contactInput, 'Black Panther')
.click(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -118,11 +118,11 @@ describe('Edit basicData path', () => {
it('should confirm the contact name have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.contactInput)
.getInputValue(selectors.basicData.contactInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.contactInput)
.getInputValue(selectors.clientBasicData.contactInput)
.then(result => {
expect(result).toEqual('Black Panther');
done();
@ -132,10 +132,10 @@ describe('Edit basicData path', () => {
it('should add the landline phone number', done => {
nightmare
.wait(selectors.basicData.phoneInput)
.clearInput(selectors.basicData.phoneInput)
.type(selectors.basicData.phoneInput, '123456789')
.click(selectors.basicData.saveButton)
.wait(selectors.clientBasicData.phoneInput)
.clearInput(selectors.clientBasicData.phoneInput)
.type(selectors.clientBasicData.phoneInput, '123456789')
.click(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -148,11 +148,11 @@ describe('Edit basicData path', () => {
it('should confirm the landline phone number have been added', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.phoneInput)
.getInputValue(selectors.basicData.phoneInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.phoneInput)
.getInputValue(selectors.clientBasicData.phoneInput)
.then(result => {
expect(result).toEqual('123456789');
done();
@ -162,10 +162,10 @@ describe('Edit basicData path', () => {
it('should add the mobile phone number', done => {
nightmare
.wait(selectors.basicData.mobileInput)
.clearInput(selectors.basicData.mobileInput)
.type(selectors.basicData.mobileInput, '987654321')
.click(selectors.basicData.saveButton)
.wait(selectors.clientBasicData.mobileInput)
.clearInput(selectors.clientBasicData.mobileInput)
.type(selectors.clientBasicData.mobileInput, '987654321')
.click(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -178,11 +178,11 @@ describe('Edit basicData path', () => {
it('should confirm the mobile phone number have been added', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.mobileInput)
.getInputValue(selectors.basicData.mobileInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.mobileInput)
.getInputValue(selectors.clientBasicData.mobileInput)
.then(result => {
expect(result).toEqual('987654321');
done();
@ -192,10 +192,10 @@ describe('Edit basicData path', () => {
it('should edit the email', done => {
nightmare
.wait(selectors.basicData.emailInput)
.clearInput(selectors.basicData.emailInput)
.type(selectors.basicData.emailInput, 'Storm@verdnatura.es')
.click(selectors.basicData.saveButton)
.wait(selectors.clientBasicData.emailInput)
.clearInput(selectors.clientBasicData.emailInput)
.type(selectors.clientBasicData.emailInput, 'Storm@verdnatura.es')
.click(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -208,11 +208,11 @@ describe('Edit basicData path', () => {
it('should confirm the email have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.emailInput)
.getInputValue(selectors.basicData.emailInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.emailInput)
.getInputValue(selectors.clientBasicData.emailInput)
.then(result => {
expect(result).toEqual('Storm@verdnatura.es');
done();
@ -222,10 +222,10 @@ describe('Edit basicData path', () => {
it('should select the sales person', done => {
nightmare
.waitToClick(selectors.basicData.salesPersonInput)
.waitToClick(selectors.basicData.salesBruceBannerOption)
.waitToClick(selectors.clientBasicData.salesPersonInput)
.waitToClick(selectors.clientBasicData.salesBruceBannerOption)
.wait(200)
.waitToClick(selectors.basicData.saveButton)
.waitToClick(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -238,11 +238,11 @@ describe('Edit basicData path', () => {
it('should confirm the sales person have been selected', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.waitToClick(selectors.basicData.basicDataButton)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(200)
.getInputValue(selectors.basicData.salesPersonInput)
.getInputValue(selectors.clientBasicData.salesPersonInput)
.then(result => {
expect(result).toEqual('Bruce Banner');
done();
@ -252,10 +252,10 @@ describe('Edit basicData path', () => {
it('should select the channel', done => {
nightmare
.waitToClick(selectors.basicData.channelInput)
.waitToClick(selectors.basicData.channelMetropolisOption)
.waitToClick(selectors.clientBasicData.channelInput)
.waitToClick(selectors.clientBasicData.channelMetropolisOption)
.wait(400)
.waitToClick(selectors.basicData.saveButton)
.waitToClick(selectors.clientBasicData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -268,11 +268,11 @@ describe('Edit basicData path', () => {
it('should confirm the channel have been selected', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.waitToClick(selectors.basicData.basicDataButton)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(400)
.getInputValue(selectors.basicData.channelInput)
.getInputValue(selectors.clientBasicData.channelInput)
.then(result => {
expect(result).toEqual('Metropolis newspaper');
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -62,7 +62,7 @@ describe('Edit fiscalData path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitForURL('/addresses/list')
.url()
.then(url => {
@ -74,12 +74,12 @@ describe('Edit fiscalData path', () => {
it(`should click on the 1st edit icon to check EQtax is checked`, done => {
nightmare
.waitToClick(selectors.addresses.firstEditButton)
.wait(selectors.addresses.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientAddresses.firstEditButton)
.wait(selectors.clientAddresses.equalizationTaxCheckboxLabel)
.wait(200)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.addresses.equalizationTaxCheckboxLabel)
}, selectors.clientAddresses.equalizationTaxCheckboxLabel)
.then(value => {
expect(value).toBeFalsy();
done();
@ -89,13 +89,13 @@ describe('Edit fiscalData path', () => {
it(`should go back to addresses then select the second one and confirm the EQtax is checked`, done => {
nightmare
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.addresses.secondEditButton)
.wait(selectors.addresses.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitToClick(selectors.clientAddresses.secondEditButton)
.wait(selectors.clientAddresses.equalizationTaxCheckboxLabel)
.wait(200)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.addresses.equalizationTaxCheckboxLabel)
}, selectors.clientAddresses.equalizationTaxCheckboxLabel)
.then(value => {
expect(value).toBeFalsy();
done();
@ -106,7 +106,7 @@ describe('Edit fiscalData path', () => {
it(`should click on the fiscal data button to start editing`, done => {
nightmare
.waitToClick(selectors.fiscalData.fiscalDataButton)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.waitForURL('fiscal-data')
.url()
.then(url => {
@ -118,10 +118,10 @@ describe('Edit fiscalData path', () => {
it('should edit the social name', done => {
nightmare
.wait(selectors.fiscalData.socialNameInput)
.clearInput(selectors.fiscalData.socialNameInput)
.type(selectors.fiscalData.socialNameInput, 'Hulk edited')
.click(selectors.fiscalData.saveButton)
.wait(selectors.clientFiscalData.socialNameInput)
.clearInput(selectors.clientFiscalData.socialNameInput)
.type(selectors.clientFiscalData.socialNameInput, 'Hulk edited')
.click(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -134,11 +134,11 @@ describe('Edit fiscalData path', () => {
it('should confirm the social name have been edited', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.socialNameInput)
.getInputValue(selectors.fiscalData.socialNameInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.socialNameInput)
.getInputValue(selectors.clientFiscalData.socialNameInput)
.then(result => {
expect(result).toEqual('Hulk edited');
done();
@ -148,10 +148,10 @@ describe('Edit fiscalData path', () => {
it('should edit the fiscal id', done => {
nightmare
.wait(selectors.fiscalData.fiscalIdInput)
.clearInput(selectors.fiscalData.fiscalIdInput)
.type(selectors.fiscalData.fiscalIdInput, '94980061C')
.click(selectors.fiscalData.saveButton)
.wait(selectors.clientFiscalData.fiscalIdInput)
.clearInput(selectors.clientFiscalData.fiscalIdInput)
.type(selectors.clientFiscalData.fiscalIdInput, '94980061C')
.click(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -164,11 +164,11 @@ describe('Edit fiscalData path', () => {
it('should confirm the fiscal id have been edited', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.fiscalIdInput)
.getInputValue(selectors.fiscalData.fiscalIdInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.fiscalIdInput)
.getInputValue(selectors.clientFiscalData.fiscalIdInput)
.then(result => {
expect(result).toEqual('94980061C');
done();
@ -178,8 +178,8 @@ describe('Edit fiscalData path', () => {
it('should check the Equalization tax checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.equalizationTaxCheckboxLabel)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -191,7 +191,7 @@ describe('Edit fiscalData path', () => {
it('should propagate the Equalization tax', done => {
nightmare
.waitToClick(selectors.fiscalData.acceptPropagationButton)
.waitToClick(selectors.clientFiscalData.acceptPropagationButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -204,13 +204,13 @@ describe('Edit fiscalData path', () => {
it('should confirm Equalization tax checkbox is checked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.equalizationTaxCheckboxLabel)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.equalizationTaxCheckboxLabel)
}, selectors.clientFiscalData.equalizationTaxCheckboxLabel)
.then(value => {
expect(value).toBeTruthy();
done();
@ -221,7 +221,7 @@ describe('Edit fiscalData path', () => {
describe('Confirm all addresses have now EQtax checked', () => {
it(`should click on the addresses button to access to the client's addresses`, done => {
nightmare
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitForURL('/addresses/list')
.url()
.then(url => {
@ -233,12 +233,12 @@ describe('Edit fiscalData path', () => {
it(`should click on the 1st edit icon to confirm EQtax is checked`, done => {
nightmare
.waitToClick(selectors.addresses.firstEditButton)
.wait(selectors.addresses.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientAddresses.firstEditButton)
.wait(selectors.clientAddresses.equalizationTaxCheckboxLabel)
.wait(200)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.addresses.equalizationTaxCheckboxLabel)
}, selectors.clientAddresses.equalizationTaxCheckboxLabel)
.then(value => {
expect(value).toBeTruthy();
done();
@ -248,13 +248,13 @@ describe('Edit fiscalData path', () => {
it(`should go back to addresses then select the second one and confirm the EQtax is checked`, done => {
nightmare
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.addresses.secondEditButton)
.wait(selectors.addresses.equalizationTaxCheckboxLabel)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitToClick(selectors.clientAddresses.secondEditButton)
.wait(selectors.clientAddresses.equalizationTaxCheckboxLabel)
.wait(200)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.addresses.equalizationTaxCheckboxLabel)
}, selectors.clientAddresses.equalizationTaxCheckboxLabel)
.then(value => {
expect(value).toBeTruthy();
done();
@ -265,11 +265,11 @@ describe('Edit fiscalData path', () => {
it('should go to fiscal data then edit the address', done => {
nightmare
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.clearInput(selectors.fiscalData.addressInput)
.type(selectors.fiscalData.addressInput, 'Somewhere edited')
.click(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.clearInput(selectors.clientFiscalData.addressInput)
.type(selectors.clientFiscalData.addressInput, 'Somewhere edited')
.click(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -282,11 +282,11 @@ describe('Edit fiscalData path', () => {
it('should confirm the address have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.addressInput)
.getInputValue(selectors.fiscalData.addressInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.addressInput)
.getInputValue(selectors.clientFiscalData.addressInput)
.then(result => {
expect(result).toEqual('Somewhere edited');
done();
@ -296,10 +296,10 @@ describe('Edit fiscalData path', () => {
it('should edit the city', done => {
nightmare
.wait(selectors.fiscalData.cityInput)
.clearInput(selectors.fiscalData.cityInput)
.type(selectors.fiscalData.cityInput, 'N/A')
.click(selectors.fiscalData.saveButton)
.wait(selectors.clientFiscalData.cityInput)
.clearInput(selectors.clientFiscalData.cityInput)
.type(selectors.clientFiscalData.cityInput, 'N/A')
.click(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -312,11 +312,11 @@ describe('Edit fiscalData path', () => {
it('should confirm the city have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.cityInput)
.getInputValue(selectors.fiscalData.cityInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.cityInput)
.getInputValue(selectors.clientFiscalData.cityInput)
.then(result => {
expect(result).toEqual('N/A');
done();
@ -326,10 +326,10 @@ describe('Edit fiscalData path', () => {
it('should edit the postcode', done => {
nightmare
.wait(selectors.fiscalData.postcodeInput)
.clearInput(selectors.fiscalData.postcodeInput)
.type(selectors.fiscalData.postcodeInput, '12345')
.click(selectors.fiscalData.saveButton)
.wait(selectors.clientFiscalData.postcodeInput)
.clearInput(selectors.clientFiscalData.postcodeInput)
.type(selectors.clientFiscalData.postcodeInput, '12345')
.click(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -342,11 +342,11 @@ describe('Edit fiscalData path', () => {
it('should confirm the postcode have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.postcodeInput)
.getInputValue(selectors.fiscalData.postcodeInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.postcodeInput)
.getInputValue(selectors.clientFiscalData.postcodeInput)
.then(result => {
expect(result).toEqual('12345');
done();
@ -356,10 +356,10 @@ describe('Edit fiscalData path', () => {
it(`should edit the province`, done => {
nightmare
.waitToClick(selectors.fiscalData.provinceInput)
.waitToClick(selectors.fiscalData.provinceFifthOption)
.waitToClick(selectors.clientFiscalData.provinceInput)
.waitToClick(selectors.clientFiscalData.provinceFifthOption)
.wait(200)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -372,11 +372,11 @@ describe('Edit fiscalData path', () => {
it(`should confirm the province have been selected`, done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.fiscalData.fiscalDataButton)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientFiscalData.fiscalDataButton)
.wait(200)
.getInputValue(selectors.fiscalData.provinceInput)
.getInputValue(selectors.clientFiscalData.provinceInput)
.then(result => {
expect(result).toEqual('Province two');
done();
@ -386,8 +386,8 @@ describe('Edit fiscalData path', () => {
it('should uncheck the active checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.activeCheckboxLabel)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.activeCheckboxLabel)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -400,13 +400,13 @@ describe('Edit fiscalData path', () => {
it('should confirm active checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.activeCheckboxLabel)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.activeCheckboxLabel)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.activeCheckboxLabel)
}, selectors.clientFiscalData.activeCheckboxLabel)
.then(value => {
expect(value).toBeFalsy();
done();
@ -416,8 +416,8 @@ describe('Edit fiscalData path', () => {
it('should uncheck the invoice by address checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.invoiceByAddressCheckboxInput)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.invoiceByAddressCheckboxInput)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -430,13 +430,13 @@ describe('Edit fiscalData path', () => {
it('should confirm invoice by address checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.invoiceByAddressCheckboxInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.invoiceByAddressCheckboxInput)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.invoiceByAddressCheckboxInput)
}, selectors.clientFiscalData.invoiceByAddressCheckboxInput)
.then(value => {
expect(value).toBeFalsy();
done();
@ -446,8 +446,8 @@ describe('Edit fiscalData path', () => {
it('should check the Verified data checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.verifiedDataCheckboxInput)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.verifiedDataCheckboxInput)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -460,13 +460,13 @@ describe('Edit fiscalData path', () => {
it('should confirm Verified data checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.verifiedDataCheckboxInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.verifiedDataCheckboxInput)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.verifiedDataCheckboxInput)
}, selectors.clientFiscalData.verifiedDataCheckboxInput)
.then(value => {
expect(value).toBeFalsy();
done();
@ -476,8 +476,8 @@ describe('Edit fiscalData path', () => {
it('should uncheck the Has to invoice checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.hasToInvoiceCheckboxLabel)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.hasToInvoiceCheckboxLabel)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -490,13 +490,13 @@ describe('Edit fiscalData path', () => {
it('should confirm Has to invoice checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.hasToInvoiceCheckboxLabel)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.hasToInvoiceCheckboxLabel)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.hasToInvoiceCheckboxLabel)
}, selectors.clientFiscalData.hasToInvoiceCheckboxLabel)
.then(value => {
expect(value).toBeFalsy();
done();
@ -506,8 +506,8 @@ describe('Edit fiscalData path', () => {
it('should uncheck the Invoice by mail checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.invoiceByMailCheckboxLabel)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.invoiceByMailCheckboxLabel)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -520,13 +520,13 @@ describe('Edit fiscalData path', () => {
it('should confirm Invoice by mail checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.invoiceByMailCheckboxLabel)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.invoiceByMailCheckboxLabel)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.invoiceByMailCheckboxLabel)
}, selectors.clientFiscalData.invoiceByMailCheckboxLabel)
.then(value => {
expect(value).toBeFalsy();
done();
@ -536,8 +536,8 @@ describe('Edit fiscalData path', () => {
it('should check the Vies checkbox', done => {
nightmare
.waitToClick(selectors.fiscalData.viesCheckboxInput)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientFiscalData.viesCheckboxInput)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -550,13 +550,13 @@ describe('Edit fiscalData path', () => {
it('should confirm Vies checkbox is checked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.fiscalData.fiscalDataButton)
.wait(selectors.fiscalData.viesCheckboxInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientFiscalData.fiscalDataButton)
.wait(selectors.clientFiscalData.viesCheckboxInput)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.fiscalData.viesCheckboxInput)
}, selectors.clientFiscalData.viesCheckboxInput)
.then(value => {
expect(value).toBeTruthy();
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Edit pay method path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.payMethod.payMethodButton)
.waitToClick(selectors.clientPayMethod.payMethodButton)
.waitForURL('billing-data')
.url()
.then(url => {
@ -73,11 +73,11 @@ describe('Edit pay method path', () => {
it(`should edit the Pay method to any without IBAN`, done => {
nightmare
.waitToClick(selectors.payMethod.payMethodInput)
.waitToClick(selectors.payMethod.payMethodOptionOne)
.waitToClick(selectors.clientPayMethod.payMethodInput)
.waitToClick(selectors.clientPayMethod.payMethodOptionOne)
.wait(200)
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.payMethod.cancelNotificationButton)
.waitToClick(selectors.clientPayMethod.saveButton)
.waitToClick(selectors.clientPayMethod.cancelNotificationButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -90,11 +90,11 @@ describe('Edit pay method path', () => {
it(`should confirm the Pay method have been selected`, done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.payMethod.payMethodButton)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientPayMethod.payMethodButton)
.wait(200)
.getInputValue(selectors.payMethod.payMethodInput)
.getInputValue(selectors.clientPayMethod.payMethodInput)
.then(result => {
expect(result).toEqual('PayMethod one');
done();
@ -104,11 +104,11 @@ describe('Edit pay method path', () => {
it(`should receive an error when changing payMethod to IBAN without an IBAN entered`, done => {
nightmare
.waitToClick(selectors.payMethod.payMethodInput)
.waitToClick(selectors.payMethod.payMethodIBANOption)
.waitToClick(selectors.clientPayMethod.payMethodInput)
.waitToClick(selectors.clientPayMethod.payMethodIBANOption)
.wait(200)
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.payMethod.cancelNotificationButton)
.waitToClick(selectors.clientPayMethod.saveButton)
.waitToClick(selectors.clientPayMethod.cancelNotificationButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -120,10 +120,10 @@ describe('Edit pay method path', () => {
it(`should add the IBAN`, done => {
nightmare
.clearInput(selectors.payMethod.IBANInput)
.type(selectors.payMethod.IBANInput, 'ES91 2100 0418 4502 0005 1332')
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.payMethod.cancelNotificationButton)
.clearInput(selectors.clientPayMethod.IBANInput)
.type(selectors.clientPayMethod.IBANInput, 'ES91 2100 0418 4502 0005 1332')
.waitToClick(selectors.clientPayMethod.saveButton)
.waitToClick(selectors.clientPayMethod.cancelNotificationButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -136,11 +136,11 @@ describe('Edit pay method path', () => {
it(`should confirm the IBAN pay method is sucessfully saved`, done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.payMethod.payMethodButton)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientPayMethod.payMethodButton)
.wait(200)
.getInputValue(selectors.payMethod.payMethodInput)
.getInputValue(selectors.clientPayMethod.payMethodInput)
.then(result => {
expect(result).toEqual('PayMethod with IBAN');
done();
@ -150,10 +150,10 @@ describe('Edit pay method path', () => {
it(`should edit the due day`, done => {
nightmare
.clearInput(selectors.payMethod.dueDayInput)
.type(selectors.payMethod.dueDayInput, '60')
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.payMethod.cancelNotificationButton)
.clearInput(selectors.clientPayMethod.dueDayInput)
.type(selectors.clientPayMethod.dueDayInput, '60')
.waitToClick(selectors.clientPayMethod.saveButton)
.waitToClick(selectors.clientPayMethod.cancelNotificationButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -166,11 +166,11 @@ describe('Edit pay method path', () => {
it('should confirm the due day have been edited', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.payMethod.payMethodButton)
.wait(selectors.payMethod.dueDayInput)
.getInputValue(selectors.payMethod.dueDayInput)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientPayMethod.payMethodButton)
.wait(selectors.clientPayMethod.dueDayInput)
.getInputValue(selectors.clientPayMethod.dueDayInput)
.then(result => {
expect(result).toEqual('60');
done();
@ -180,8 +180,8 @@ describe('Edit pay method path', () => {
it('should uncheck the Received core VNH checkbox', done => {
nightmare
.waitToClick(selectors.payMethod.receivedCoreVNHCheckbox)
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.clientPayMethod.receivedCoreVNHCheckbox)
.waitToClick(selectors.clientPayMethod.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -194,13 +194,13 @@ describe('Edit pay method path', () => {
it('should confirm Received core VNH checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.payMethod.payMethodButton)
.wait(selectors.payMethod.receivedCoreVNHCheckbox)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientPayMethod.payMethodButton)
.wait(selectors.clientPayMethod.receivedCoreVNHCheckbox)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.payMethod.receivedCoreVNHCheckbox)
}, selectors.clientPayMethod.receivedCoreVNHCheckbox)
.then(value => {
expect(value).toBeFalsy();
done();
@ -210,8 +210,8 @@ describe('Edit pay method path', () => {
it('should uncheck the Received core VNL checkbox', done => {
nightmare
.waitToClick(selectors.payMethod.receivedCoreVNLCheckbox)
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.clientPayMethod.receivedCoreVNLCheckbox)
.waitToClick(selectors.clientPayMethod.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -224,13 +224,13 @@ describe('Edit pay method path', () => {
it('should confirm Received core VNL checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.payMethod.payMethodButton)
.wait(selectors.payMethod.receivedCoreVNLCheckbox)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientPayMethod.payMethodButton)
.wait(selectors.clientPayMethod.receivedCoreVNLCheckbox)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.payMethod.receivedCoreVNLCheckbox)
}, selectors.clientPayMethod.receivedCoreVNLCheckbox)
.then(value => {
expect(value).toBeFalsy();
done();
@ -240,8 +240,8 @@ describe('Edit pay method path', () => {
it('should uncheck the Received B2B VNL checkbox', done => {
nightmare
.waitToClick(selectors.payMethod.receivedB2BVNLCheckbox)
.waitToClick(selectors.payMethod.saveButton)
.waitToClick(selectors.clientPayMethod.receivedB2BVNLCheckbox)
.waitToClick(selectors.clientPayMethod.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -254,13 +254,13 @@ describe('Edit pay method path', () => {
it('should confirm Received B2B VNL checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.payMethod.payMethodButton)
.wait(selectors.payMethod.receivedB2BVNLCheckbox)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientPayMethod.payMethodButton)
.wait(selectors.clientPayMethod.receivedB2BVNLCheckbox)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.payMethod.receivedB2BVNLCheckbox)
}, selectors.clientPayMethod.receivedB2BVNLCheckbox)
.then(value => {
expect(value).toBeFalsy();
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Add address path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitForURL('addresses/list')
.url()
.then(url => {
@ -73,7 +73,7 @@ describe('Add address path', () => {
it(`should click on the add new address button to access to the new address form`, done => {
nightmare
.waitToClick(selectors.addresses.createAddress)
.waitToClick(selectors.clientAddresses.createAddress)
.waitForURL('addresses/create')
.url()
.then(url => {
@ -85,8 +85,8 @@ describe('Add address path', () => {
it('should check the default checkbox then receive an error after clicking save button as the form is empty', done => {
nightmare
.waitToClick(selectors.addresses.defaultCheckboxInput)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientAddresses.defaultCheckboxInput)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -99,7 +99,7 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but consignee', done => {
nightmare
.waitForSnackbarReset()
.type(selectors.addresses.consigneeInput, 'Bruce Bunner')
.type(selectors.clientAddresses.consigneeInput, 'Bruce Bunner')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -113,8 +113,8 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but Street', done => {
nightmare
.waitForSnackbarReset()
.clearInput(selectors.addresses.consigneeInput)
.type(selectors.addresses.streetAddressInput, '320 Park Avenue New York')
.clearInput(selectors.clientAddresses.consigneeInput)
.type(selectors.clientAddresses.streetAddressInput, '320 Park Avenue New York')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -128,8 +128,8 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but postcode', done => {
nightmare
.waitForSnackbarReset()
.clearInput(selectors.addresses.streetAddressInput)
.type(selectors.addresses.postcodeInput, '10022')
.clearInput(selectors.clientAddresses.streetAddressInput)
.type(selectors.clientAddresses.postcodeInput, '10022')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -143,8 +143,8 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but city', done => {
nightmare
.waitForSnackbarReset()
.clearInput(selectors.addresses.postcodeInput)
.type(selectors.addresses.cityInput, 'New York')
.clearInput(selectors.clientAddresses.postcodeInput)
.type(selectors.clientAddresses.cityInput, 'New York')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -158,9 +158,9 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but province', done => {
nightmare
.waitForSnackbarReset()
.clearInput(selectors.addresses.cityInput)
.waitToClick(selectors.addresses.provinceInput)
.waitToClick(selectors.addresses.provinceSecondOption)
.clearInput(selectors.clientAddresses.cityInput)
.waitToClick(selectors.clientAddresses.provinceInput)
.waitToClick(selectors.clientAddresses.provinceSecondOption)
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -174,8 +174,8 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but province and agency', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.addresses.agencyInput)
.waitToClick(selectors.addresses.agenctySecondOption)
.waitToClick(selectors.clientAddresses.agencyInput)
.waitToClick(selectors.clientAddresses.agenctySecondOption)
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -189,7 +189,7 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but province, agency and phone', done => {
nightmare
.waitForSnackbarReset()
.type(selectors.addresses.phoneInput, '999887744')
.type(selectors.clientAddresses.phoneInput, '999887744')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -203,8 +203,8 @@ describe('Add address path', () => {
it('should receive an error when clicking the save button having all the form fields empty but province, agency and mobile', done => {
nightmare
.waitForSnackbarReset()
.clearInput(selectors.addresses.phoneInput)
.type(selectors.addresses.mobileInput, '999887744')
.clearInput(selectors.clientAddresses.phoneInput)
.type(selectors.clientAddresses.mobileInput, '999887744')
.click(selectors.createClientView.createButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
@ -218,12 +218,12 @@ describe('Add address path', () => {
it(`should create a new address with all it's data`, done => {
nightmare
.waitForSnackbarReset()
.type(selectors.addresses.consigneeInput, 'Bruce Bunner')
.type(selectors.addresses.streetAddressInput, '320 Park Avenue New York')
.type(selectors.addresses.postcodeInput, '10022')
.type(selectors.addresses.cityInput, 'New York')
.type(selectors.addresses.phoneInput, '999887744')
.click(selectors.addresses.saveButton)
.type(selectors.clientAddresses.consigneeInput, 'Bruce Bunner')
.type(selectors.clientAddresses.streetAddressInput, '320 Park Avenue New York')
.type(selectors.clientAddresses.postcodeInput, '10022')
.type(selectors.clientAddresses.cityInput, 'New York')
.type(selectors.clientAddresses.phoneInput, '999887744')
.click(selectors.clientAddresses.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -236,9 +236,9 @@ describe('Add address path', () => {
it(`should click on the addresses button confirm the new address exists and it's the default one`, done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.addresses.addressesButton)
.wait(selectors.addresses.defaultAddress)
.getInnerText(selectors.addresses.defaultAddress)
.waitToClick(selectors.clientAddresses.addressesButton)
.wait(selectors.clientAddresses.defaultAddress)
.getInnerText(selectors.clientAddresses.defaultAddress)
.then(result => {
expect(result).toContain('320 Park Avenue New York');
done();
@ -249,9 +249,9 @@ describe('Add address path', () => {
it(`should click on the make default icon of the second address then confirm it is the default one now`, done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.addresses.secondMakeDefaultStar)
.waitForTextInElement(selectors.addresses.defaultAddress, 'Somewhere in Thailand')
.getInnerText(selectors.addresses.defaultAddress)
.waitToClick(selectors.clientAddresses.secondMakeDefaultStar)
.waitForTextInElement(selectors.clientAddresses.defaultAddress, 'Somewhere in Thailand')
.getInnerText(selectors.clientAddresses.defaultAddress)
.then(result => {
expect(result).toContain('Somewhere in Thailand');
done();
@ -261,8 +261,8 @@ describe('Add address path', () => {
it(`should click on the edit icon of the default address`, done => {
nightmare
.waitForTextInElement(selectors.addresses.defaultAddress, 'Somewhere in Thailand')
.waitToClick(selectors.addresses.firstEditButton)
.waitForTextInElement(selectors.clientAddresses.defaultAddress, 'Somewhere in Thailand')
.waitToClick(selectors.clientAddresses.firstEditButton)
.waitForURL('/edit')
.url()
.then(result => {
@ -275,8 +275,8 @@ describe('Add address path', () => {
it(`should click on the active checkbox and receive an error to save it becouse it is the default address`, done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.addresses.activeCheckbox)
.waitToClick(selectors.addresses.saveButton)
.waitToClick(selectors.clientAddresses.activeCheckbox)
.waitToClick(selectors.clientAddresses.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Add address notes path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.addresses.addressesButton)
.waitToClick(selectors.clientAddresses.addressesButton)
.waitForURL('addresses/list')
.url()
.then(url => {
@ -73,8 +73,8 @@ describe('Add address notes path', () => {
it(`should click on the edit icon of the default address`, done => {
nightmare
.waitForTextInElement(selectors.addresses.defaultAddress, 'Somewhere in Thailand')
.waitToClick(selectors.addresses.firstEditButton)
.waitForTextInElement(selectors.clientAddresses.defaultAddress, 'Somewhere in Thailand')
.waitToClick(selectors.clientAddresses.firstEditButton)
.waitForURL('/edit')
.url()
.then(result => {
@ -86,8 +86,8 @@ describe('Add address notes path', () => {
// it('should add as many notes as observation types', done => {
// nightmare
// .waitToClick(selectors.addresses.defaultCheckboxInput)
// .waitToClick(selectors.fiscalData.saveButton)
// .waitToClick(selectors.clientAddresses.defaultCheckboxInput)
// .waitToClick(selectors.clientFiscalData.saveButton)
// .wait(selectors.globalItems.snackbarIsActive)
// .getInnerText(selectors.globalItems.snackbarIsActive)
// .then(result => {

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Edit web access path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.webAccess.webAccessButton)
.waitToClick(selectors.clientWebAccess.webAccessButton)
.waitForURL('web-access')
.url()
.then(url => {
@ -73,8 +73,8 @@ describe('Edit web access path', () => {
it(`should click on the Enable web access checkbox to uncheck it`, done => {
nightmare
.waitToClick(selectors.webAccess.enableWebAccessCheckbox)
.waitToClick(selectors.fiscalData.saveButton)
.waitToClick(selectors.clientWebAccess.enableWebAccessCheckbox)
.waitToClick(selectors.clientFiscalData.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -87,13 +87,13 @@ describe('Edit web access path', () => {
it('should confirm Enable web access checkbox is unchecked', done => {
nightmare
.waitForSnackbarReset()
.waitToClick(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.waitToClick(selectors.webAccess.webAccessButton)
.wait(selectors.webAccess.enableWebAccessCheckbox)
.waitToClick(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.waitToClick(selectors.clientWebAccess.webAccessButton)
.wait(selectors.clientWebAccess.enableWebAccessCheckbox)
.evaluate(selector => {
return document.querySelector(selector).checked;
}, selectors.webAccess.enableWebAccessCheckbox)
}, selectors.clientWebAccess.enableWebAccessCheckbox)
.then(value => {
expect(value).toBeFalsy();
done();
@ -103,10 +103,10 @@ describe('Edit web access path', () => {
it('should edit the User name', done => {
nightmare
.wait(selectors.webAccess.userNameInput)
.clearInput(selectors.webAccess.userNameInput)
.type(selectors.webAccess.userNameInput, 'Hulk')
.click(selectors.webAccess.saveButton)
.wait(selectors.clientWebAccess.userNameInput)
.clearInput(selectors.clientWebAccess.userNameInput)
.type(selectors.clientWebAccess.userNameInput, 'Hulk')
.click(selectors.clientWebAccess.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -119,11 +119,12 @@ describe('Edit web access path', () => {
it('should confirm the User name have been edited', done => {
nightmare
.waitForSnackbarReset()
.click(selectors.basicData.basicDataButton)
.wait(selectors.basicData.nameInput)
.click(selectors.webAccess.webAccessButton)
.wait(selectors.webAccess.userNameInput)
.getInputValue(selectors.webAccess.userNameInput)
.click(selectors.clientBasicData.basicDataButton)
.wait(selectors.clientBasicData.nameInput)
.click(selectors.clientWebAccess.webAccessButton)
.wait(selectors.clientWebAccess.userNameInput)
.waitForTextInInput(selectors.clientWebAccess.userNameInput, 'Hulk')
.getInputValue(selectors.clientWebAccess.userNameInput)
.then(result => {
expect(result).toEqual('Hulk');
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Add notes path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.notes.notesButton)
.waitToClick(selectors.clientNotes.notesButton)
.waitForURL('notes/list')
.url()
.then(url => {
@ -73,7 +73,7 @@ describe('Add notes path', () => {
it(`should click on the add note button`, done => {
nightmare
.waitToClick(selectors.notes.addNoteFloatButton)
.waitToClick(selectors.clientNotes.addNoteFloatButton)
.waitForURL('/notes/create')
.url()
.then(url => {
@ -85,8 +85,8 @@ describe('Add notes path', () => {
it(`should create a note`, done => {
nightmare
.type(selectors.notes.noteInput, 'Meeting with Black Widow 21st 9am')
.click(selectors.notes.saveButton)
.type(selectors.clientNotes.noteInput, 'Meeting with Black Widow 21st 9am')
.click(selectors.clientNotes.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -99,8 +99,8 @@ describe('Add notes path', () => {
it('should confirm the note was created', done => {
nightmare
.waitForSnackbarReset()
.wait(selectors.notes.firstNoteText)
.getInnerText(selectors.notes.firstNoteText)
.wait(selectors.clientNotes.firstNoteText)
.getInnerText(selectors.clientNotes.firstNoteText)
.then(value => {
expect(value).toEqual('Meeting with Black Widow 21st 9am');
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Add credit path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter Parker')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.credit.creditButton)
.waitToClick(selectors.clientCredit.creditButton)
.waitForURL('credit/list')
.url()
.then(url => {
@ -73,7 +73,7 @@ describe('Add credit path', () => {
it(`should click on the add credit button`, done => {
nightmare
.waitToClick(selectors.credit.addCreditFloatButton)
.waitToClick(selectors.clientCredit.addCreditFloatButton)
.waitForURL('/credit/create')
.url()
.then(url => {
@ -85,9 +85,9 @@ describe('Add credit path', () => {
it(`should edit the credit`, done => {
nightmare
.clearInput(selectors.credit.creditInput)
.type(selectors.credit.creditInput, 999)
.click(selectors.credit.saveButton)
.clearInput(selectors.clientCredit.creditInput)
.type(selectors.clientCredit.creditInput, 999)
.click(selectors.clientCredit.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -100,8 +100,8 @@ describe('Add credit path', () => {
it('should confirm the credit was updated', done => {
nightmare
.waitForSnackbarReset()
.wait(selectors.credit.firstCreditText)
.getInnerText(selectors.credit.firstCreditText)
.wait(selectors.clientCredit.firstCreditText)
.getInnerText(selectors.clientCredit.firstCreditText)
.then(value => {
expect(value).toContain(999);
done();

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('Add greuge path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter Parker')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.greuge.greugeButton)
.waitToClick(selectors.clientGreuge.greugeButton)
.waitForURL('greuge/list')
.url()
.then(url => {
@ -73,7 +73,7 @@ describe('Add greuge path', () => {
it(`should click on the add greuge button`, done => {
nightmare
.waitToClick(selectors.greuge.addGreugeFloatButton)
.waitToClick(selectors.clientGreuge.addGreugeFloatButton)
.waitForURL('greuge/create')
.url()
.then(url => {
@ -85,7 +85,7 @@ describe('Add greuge path', () => {
it(`should receive an error if all fields are empty but date on submit`, done => {
nightmare
.click(selectors.credit.saveButton)
.click(selectors.clientCredit.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -97,8 +97,8 @@ describe('Add greuge path', () => {
it(`should receive an error if all fields are empty but date and amount on submit`, done => {
nightmare
.type(selectors.greuge.amountInput, 999)
.click(selectors.greuge.saveButton)
.type(selectors.clientGreuge.amountInput, 999)
.click(selectors.clientGreuge.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -110,9 +110,9 @@ describe('Add greuge path', () => {
it(`should receive an error if all fields are empty but date and description on submit`, done => {
nightmare
.clearInput(selectors.greuge.amountInput)
.type(selectors.greuge.descriptionInput, 'new armor for Batman!')
.click(selectors.greuge.saveButton)
.clearInput(selectors.clientGreuge.amountInput)
.type(selectors.clientGreuge.descriptionInput, 'new armor for Batman!')
.click(selectors.clientGreuge.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -124,10 +124,10 @@ describe('Add greuge path', () => {
it(`should receive an error if all fields are empty but date and type on submit`, done => {
nightmare
.clearInput(selectors.greuge.descriptionInput)
.waitToClick(selectors.greuge.typeInput)
.waitToClick(selectors.greuge.typeSecondOption)
.click(selectors.greuge.saveButton)
.clearInput(selectors.clientGreuge.descriptionInput)
.waitToClick(selectors.clientGreuge.typeInput)
.waitToClick(selectors.clientGreuge.typeSecondOption)
.click(selectors.clientGreuge.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -139,10 +139,10 @@ describe('Add greuge path', () => {
it(`should create a new greuge with all its data`, done => {
nightmare
.clearInput(selectors.greuge.amountInput)
.type(selectors.greuge.amountInput, 999)
.type(selectors.greuge.descriptionInput, 'new armor for Batman!')
.click(selectors.greuge.saveButton)
.clearInput(selectors.clientGreuge.amountInput)
.type(selectors.clientGreuge.amountInput, 999)
.type(selectors.clientGreuge.descriptionInput, 'new armor for Batman!')
.click(selectors.clientGreuge.saveButton)
.wait(selectors.globalItems.snackbarIsActive)
.getInnerText(selectors.globalItems.snackbarIsActive)
.then(result => {
@ -155,8 +155,8 @@ describe('Add greuge path', () => {
it('should confirm the greuge was added to the list', done => {
nightmare
.waitForSnackbarReset()
.wait(selectors.greuge.firstGreugeText)
.getInnerText(selectors.greuge.firstGreugeText)
.wait(selectors.clientGreuge.firstGreugeText)
.getInnerText(selectors.clientGreuge.firstGreugeText)
.then(value => {
expect(value).toContain(999);
expect(value).toContain('new armor for Batman!');

View File

@ -1,7 +1,7 @@
import config from '../helpers/config.js';
import createNightmare from '../helpers/nightmare';
import selectors from '../helpers/selectors.js';
import {catchErrors} from '../../services/utils/jasmineHelpers';
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
@ -61,7 +61,7 @@ describe('mandate path', () => {
nightmare
.waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter')
.waitToClick(selectors.clientsIndex.searchResult)
.waitToClick(selectors.mandate.mandateButton)
.waitToClick(selectors.clientMandate.mandateButton)
.waitForURL('mandate')
.url()
.then(url => {
@ -73,8 +73,8 @@ describe('mandate path', () => {
it('should confirm the client has a mandate of the CORE type', done => {
nightmare
.wait(selectors.mandate.firstMandateText)
.getInnerText(selectors.mandate.firstMandateText)
.wait(selectors.clientMandate.firstMandateText)
.getInnerText(selectors.clientMandate.firstMandateText)
.then(value => {
expect(value).toContain('1');
expect(value).toContain('WAY');

View File

@ -0,0 +1,71 @@
import config from '../../helpers/config.js';
import createNightmare from '../../helpers/nightmare';
import selectors from '../../helpers/selectors.js';
import {catchErrors} from '../../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
describe('create item barcodes path', () => {
it('should log in', done => {
nightmare
.login()
.waitForURL(moduleAccessViewHashURL)
.url()
.then(url => {
expect(url).toEqual(config.url + moduleAccessViewHashURL);
done();
})
.catch(catchErrors(done));
});
it('should make sure the language is English', done => {
nightmare
.changeLanguageToEnglish()
.then(() => {
done();
})
.catch(catchErrors(done));
});
it('should access to the items index by clicking the items button', done => {
nightmare
.click(selectors.moduleAccessView.itemsSectionButton)
.wait(selectors.itemsIndex.createItemButton)
.url()
.then(url => {
expect(url).toEqual(config.url + '#!/item/list');
done();
})
.catch(catchErrors(done));
});
it('should search for the item Gem of Time', done => {
nightmare
.wait(selectors.itemsIndex.searchResult)
.type(selectors.itemsIndex.searchItemInput, 'Gem of Time')
.click(selectors.itemsIndex.searchButton)
.waitForNumberOfElements(selectors.itemsIndex.searchResult, 1)
.countSearchResults(selectors.itemsIndex.searchResult)
.then(result => {
expect(result).toEqual(1);
done();
})
.catch(catchErrors(done));
});
// it(`should click on the search result to access to the item barcodes`, done => {
// nightmare
// .waitForTextInElement(selectors.itemsIndex.searchResult, 'Gem of Time')
// .waitToClick(selectors.itemsIndex.searchResult)
// .waitToClick(selectors.itemBarcodes.barcodeButton)
// .waitForURL('barcode')
// .url()
// .then(url => {
// expect(url).toContain('barcode');
// done();
// })
// .catch(catchErrors(done));
// });
});

12
package-lock.json generated
View File

@ -118,7 +118,7 @@
"angular": {
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/angular/-/angular-1.6.8.tgz",
"integrity": "sha512-9WErZIOw1Cu1V5Yxdvxz/6YpND8ntdP71fdPpufPFJvZodZXqCjQBYrHqEoMZreO5i84O3D/Jw/vepoFt68Azw=="
"integrity": "sha1-W+N4pYvpGlSJ54tZxFGM2f0nP/s="
},
"angular-cookies": {
"version": "1.6.4",
@ -5049,12 +5049,6 @@
"integrity": "sha1-Hn1Khr9JF5gFxGIugyp7G+606IE=",
"dev": true
},
"eslint-plugin-angular": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-1.4.1.tgz",
"integrity": "sha1-ekJ55yLUXg5Bm9Nik3PvXQZqoOM=",
"dev": true
},
"eslint-plugin-html": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.2.tgz",
@ -11104,7 +11098,7 @@
"karma-firefox-launcher": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
"integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==",
"integrity": "sha1-LEcDBFLwRTHrfRPU/HZpYwu5Mzk=",
"dev": true
},
"karma-jasmine": {
@ -11125,7 +11119,7 @@
"karma-webpack": {
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.9.tgz",
"integrity": "sha512-F1j3IG/XhiMzcunAXbWXH95uizjzr3WdTzmVWlta8xqxcCtAu9FByCb4sccIMxaVFAefpgnUW9KlCo0oLvIX6A==",
"integrity": "sha1-YciAkffdkQY1E0wDKyZqRlr/tX8=",
"dev": true,
"requires": {
"async": "0.9.2",

View File

@ -39,7 +39,6 @@
"eslint-config-google": "^0.6.0",
"eslint-config-loopback": "^4.0.0",
"eslint-config-xo": "^0.17.0",
"eslint-plugin-angular": "^1.4.1",
"eslint-plugin-jasmine": "^2.8.4",
"fancy-log": "^1.3.2",
"file-loader": "^1.1.6",

View File

@ -19,12 +19,37 @@ module.exports = Self => {
delete params.size;
delete params.order;
if (params.search) {
filter.where.and = [
{
or: [
{id: params.search},
{name: {regexp: params.search}}
]
}
];
delete params.search;
}
if (params.itemSize) {
filter.where.size = params.itemSize;
params.size = params.itemSize;
delete params.itemSize;
}
Object.assign(filter.where, params);
let keys = Object.keys(params);
if (keys.length) {
keys.forEach(
key => {
if (filter.where.and) {
let filter = {};
filter[key] = (key === 'description') ? {regexp: params[key]} : params[key];
filter.where.and.push(filter);
} else {
filter.where[key] = (key === 'description') ? {regexp: params[key]} : params[key];
}
}
);
}
return filter;
}

View File

@ -0,0 +1,28 @@
{
"name": "Genus",
"base": "VnModel",
"options": {
"mysql": {
"table": "genus"
}
},
"properties": {
"genus_id": {
"type": "Number",
"id": true,
"description": "Identifier"
},
"latin_genus_name": {
"type": "String"
},
"entry_date": {
"type": "date"
},
"expiry_date": {
"type": "date"
},
"change_date_time": {
"type": "date"
}
}
}

View File

@ -0,0 +1,36 @@
{
"name": "ItemBotanical",
"base": "VnModel",
"options": {
"mysql": {
"table": "itemBotanical"
}
},
"properties": {
"itemFk": {
"type": "Number",
"id": true,
"description": "Identifier"
},
"botanical": {
"type": "String"
}
},
"relations": {
"item": {
"type": "belongsTo",
"model": "Item",
"foreignKey": "itemFk"
},
"genus": {
"type": "belongsTo",
"model": "Genus",
"foreignKey": "genusFk"
},
"specie": {
"type": "belongsTo",
"model": "Specie",
"foreignKey": "specieFk"
}
}
}

View File

@ -0,0 +1,26 @@
{
"name": "ItemPlacement",
"base": "VnModel",
"options": {
"mysql": {
"table": "itemPlacement"
}
},
"properties": {
"code": {
"type": "String"
}
},
"relations": {
"item": {
"type": "belongsTo",
"model": "Item",
"foreignKey": "itemFk"
},
"warehouse": {
"type": "belongsTo",
"model": "Warehouse",
"foreignKey": "warehouseFk"
}
}
}

View File

@ -0,0 +1,35 @@
{
"name": "Specie",
"base": "VnModel",
"options": {
"mysql": {
"table": "specie"
}
},
"properties": {
"specie_id": {
"type": "Number",
"id": true,
"description": "Identifier"
},
"latin_species_name": {
"type": "String"
},
"entry_date": {
"type": "date"
},
"expiry_date": {
"type": "date"
},
"change_date_time": {
"type": "date"
}
},
"relations": {
"genus": {
"type": "belongsTo",
"model": "Genus",
"foreignKey": "genus_id"
}
}
}

View File

@ -40,5 +40,17 @@
},
"ItemBarcode": {
"dataSource": "vn"
},
"ItemBotanical": {
"dataSource": "vn"
},
"ItemPlacement": {
"dataSource": "vn"
},
"Specie": {
"dataSource": "edi"
},
"Genus": {
"dataSource": "edi"
}
}

View File

@ -30,7 +30,7 @@ module.exports = Client => {
FROM worker em
JOIN account.user ac ON em.userFk = ac.id
JOIN account.role r ON r.id = ac.role
WHERE ac.active AND r.\`name\` = 'salesPerson' ${where.sql}
WHERE ac.active ${where.sql}
ORDER BY em.name ASC
LIMIT ? OFFSET ?`;

View File

@ -38,7 +38,7 @@ module.exports = function(Client) {
},
skip: (params.page - 1) * params.size,
limit: params.size,
order: ['isDefaultAddress DESC', 'isActive DESC'],
order: ['isDefaultAddress DESC', 'isActive DESC', 'nickname DESC'],
include: {observations: 'observationType'}
};
@ -67,5 +67,4 @@ module.exports = function(Client) {
response('total', total);
});
};
};

View File

@ -1,7 +1,16 @@
const md5 = require('md5');
module.exports = function(Self) {
// Validations
Self.validatesUniquenessOf('name', {
message: 'Ya existe un usuario con ese nombre'
});
Self.observe('before save', (ctx, next) => {
if (ctx.currentInstance && ctx.currentInstance.id && ctx.data && ctx.data.password) {
ctx.data.password = md5(ctx.data.password);
}
next();
});
};

View File

@ -69,6 +69,9 @@ module.exports = fi => {
const dniLetterAscii = parseInt(dniLetterCountry.charCodeAt(0));
let dniValue = false;
switch (true) {
case (dni.length === 9 && !isNaN(dni)): // dni Portugal (9 digitos)
dniValue = true;
break;
case (dniLetterAscii >= 88 && dniLetterAscii <= 90): // X-Z
dniValue = getDniForeign(dniNumeric, dniLetter);
break;
@ -81,7 +84,7 @@ module.exports = fi => {
case (dniLetterAscii === 73): // I
dniValue = getDniItaly(dniLetterCountry);
break;
case (dniLetterAscii >= 48 && dniLetterAscii <= 57): // 0- 9
case (dni.length === 9 && dniLetterAscii >= 48 && dniLetterAscii <= 57): // 0- 9
dniValue = getDniSpain(dniNumeric, dniLetter);
break;
default:

View File

@ -34,5 +34,16 @@
"password": "",
"connectTimeout": 20000,
"acquireTimeout": 20000
},
"edi": {
"connector": "mysql",
"database": "edi",
"debug": false,
"host": "localhost",
"port": 3306,
"username": "root",
"password": "",
"connectTimeout": 20000,
"acquireTimeout": 20000
}
}