diff --git a/front/core/filters/specs/percentage.spec.js b/front/core/filters/specs/percentage.spec.js index 0936c50ae..62f1a28b5 100644 --- a/front/core/filters/specs/percentage.spec.js +++ b/front/core/filters/specs/percentage.spec.js @@ -3,8 +3,9 @@ describe('Percentage filter', () => { beforeEach(ngModule('vnCore')); - beforeEach(inject(_percentageFilter_ => { + beforeEach(inject((_percentageFilter_, $translate) => { percentageFilter = _percentageFilter_; + jest.spyOn($translate, 'use').mockReturnValue('en-US'); })); it('should return null for input null', () => { diff --git a/modules/client/front/address/create/index.js b/modules/client/front/address/create/index.js index 69087f154..b1629073d 100644 --- a/modules/client/front/address/create/index.js +++ b/modules/client/front/address/create/index.js @@ -45,7 +45,8 @@ export default class Controller extends Section { const province = selection.province; const postcodes = selection.postcodes; - this.address.provinceId = province.id; + if (!this.address.provinceI) + this.address.provinceId = province.id; if (postcodes.length === 1) this.address.postalCode = postcodes[0].code; @@ -64,8 +65,11 @@ export default class Controller extends Section { const town = selection.town; const province = town.province; - this.address.city = town.name; - this.address.provinceId = province.id; + if (!this.address.city) + this.address.city = town.name; + + if (!this.address.provinceId) + this.address.provinceId = province.id; } onResponse(response) { diff --git a/modules/client/front/address/edit/index.js b/modules/client/front/address/edit/index.js index f2d660334..58bca6322 100644 --- a/modules/client/front/address/edit/index.js +++ b/modules/client/front/address/edit/index.js @@ -42,15 +42,15 @@ export default class Controller extends Section { // Town auto complete set town(selection) { - const oldValue = this._town; this._town = selection; - if (!oldValue) return; + if (!selection) return; const province = selection.province; const postcodes = selection.postcodes; - this.address.provinceFk = province.id; + if (!this.address.provinceFk) + this.address.provinceFk = province.id; if (postcodes.length === 1) this.address.postalCode = postcodes[0].code; @@ -62,16 +62,18 @@ export default class Controller extends Section { // Postcode auto complete set postcode(selection) { - const oldValue = this._postcode; this._postcode = selection; - if (!oldValue) return; + if (!selection) return; const town = selection.town; const province = town.province; - this.address.city = town.name; - this.address.provinceFk = province.id; + if (!this.address.city) + this.address.city = town.name; + + if (!this.address.provinceFk) + this.address.provinceFk = province.id; } onResponse(response) { diff --git a/modules/client/front/create/index.js b/modules/client/front/create/index.js index cce41b3bc..4f7ce4104 100644 --- a/modules/client/front/create/index.js +++ b/modules/client/front/create/index.js @@ -27,7 +27,8 @@ export default class Controller extends Section { const country = selection.country; - this.client.countryFk = country.id; + if (!this.client.countryFk) + this.client.countryFk = country.id; } get town() { @@ -44,8 +45,11 @@ export default class Controller extends Section { const country = province.country; const postcodes = selection.postcodes; - this.client.provinceFk = province.id; - this.client.countryFk = country.id; + if (!this.client.provinceFk) + this.client.provinceFk = province.id; + + if (!this.client.countryFk) + this.client.countryFk = country.id; if (postcodes.length === 1) this.client.postcode = postcodes[0].code; @@ -65,9 +69,14 @@ export default class Controller extends Section { const province = town.province; const country = province.country; - this.client.city = town.name; - this.client.provinceFk = province.id; - this.client.countryFk = country.id; + if (!this.client.city) + this.client.city = town.name; + + if (!this.client.provinceFk) + this.client.provinceFk = province.id; + + if (!this.client.countryFk) + this.client.countryFk = country.id; } onResponse(response) { diff --git a/modules/client/front/create/index.spec.js b/modules/client/front/create/index.spec.js index 804c0b961..c6c31c084 100644 --- a/modules/client/front/create/index.spec.js +++ b/modules/client/front/create/index.spec.js @@ -41,6 +41,7 @@ describe('Client', () => { describe('province() setter', () => { it(`should set countryFk property`, () => { + controller.client.countryFk = null; controller.province = { id: 1, name: 'New york', diff --git a/modules/client/front/fiscal-data/index.js b/modules/client/front/fiscal-data/index.js index fdbb0fafc..92e27e54f 100644 --- a/modules/client/front/fiscal-data/index.js +++ b/modules/client/front/fiscal-data/index.js @@ -98,14 +98,14 @@ export default class Controller extends Section { // Province auto complete set province(selection) { - const oldValue = this._province; this._province = selection; - if (!selection || !oldValue) return; + if (!selection) return; const country = selection.country; - this.client.countryFk = country.id; + if (!this.client.countryFk) + this.client.countryFk = country.id; } get town() { @@ -114,17 +114,19 @@ export default class Controller extends Section { // Town auto complete set town(selection) { - const oldValue = this._town; this._town = selection; - if (!selection || !oldValue) return; + if (!selection) return; const province = selection.province; const country = province.country; const postcodes = selection.postcodes; - this.client.provinceFk = province.id; - this.client.countryFk = country.id; + if (!this.client.provinceFk) + this.client.provinceFk = province.id; + + if (!this.client.countryFk) + this.client.countryFk = country.id; if (postcodes.length === 1) this.client.postcode = postcodes[0].code; @@ -145,9 +147,14 @@ export default class Controller extends Section { const province = town.province; const country = province.country; - this.client.city = town.name; - this.client.provinceFk = province.id; - this.client.countryFk = country.id; + if (!this.client.city) + this.client.city = town.name; + + if (!this.client.provinceFk) + this.client.provinceFk = province.id; + + if (!this.client.countryFk) + this.client.countryFk = country.id; } onResponse(response) { diff --git a/modules/client/front/fiscal-data/index.spec.js b/modules/client/front/fiscal-data/index.spec.js index a884f3e97..29608303c 100644 --- a/modules/client/front/fiscal-data/index.spec.js +++ b/modules/client/front/fiscal-data/index.spec.js @@ -26,9 +26,9 @@ describe('Client', () => { isTaxDataChecked: false }; - controller.province = {}; - controller.town = {}; - controller.postcode = {}; + controller._province = {}; + controller._town = {}; + controller._postcode = {}; })); describe('onSubmit()', () => { @@ -135,6 +135,7 @@ describe('Client', () => { describe('province() setter', () => { it(`should set countryFk property`, () => { + controller.client.countryFk = null; controller.province = { id: 1, name: 'New york',