diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bf27945..8a3a79bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,24 +7,32 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Fixed + +- Postal code autocompletion on paste. + ## [3.6.10] - 2019-10-29 ### Changed + - Update Ecuador rules, including some parishes for Pichincha province. ## [3.6.9] - 2019-10-28 ### Added + - Add German translations. ## [3.6.8] - 2019-10-21 ### Changed + - Add address examples in geolocation mode for some countries ## [3.6.7] - 2019-10-17 ### Fixed + - Update Chile postal code for some regions. ## [3.6.6] - 2019-10-14 diff --git a/react/AddressContainer.js b/react/AddressContainer.js index da346dae..c56377a7 100644 --- a/react/AddressContainer.js +++ b/react/AddressContainer.js @@ -53,11 +53,15 @@ class AddressContainer extends Component { changedAddressFields.postalCode && !changedAddressFields.postalCode.geolocationAutoCompleted ) { - const postalCodeIsNowValid = - address.postalCode.valid !== true && - validatedAddress.postalCode.valid === true + const diffFromPrev = + address.postalCode.value !== validatedAddress.postalCode.value + const isValidPostalCode = validatedAddress.postalCode.valid === true + const shouldAutoComplete = + rules.postalCodeFrom === POSTAL_CODE && + diffFromPrev && + isValidPostalCode - if (rules.postalCodeFrom === POSTAL_CODE && postalCodeIsNowValid) { + if (shouldAutoComplete) { return onChangeAddress( postalCodeAutoCompleteAddress({ cors, diff --git a/react/AutoCompletedFields.test.js b/react/AutoCompletedFields.test.js index 59c28c08..a83ac057 100644 --- a/react/AutoCompletedFields.test.js +++ b/react/AutoCompletedFields.test.js @@ -15,7 +15,7 @@ describe('AutoCompletedFields', () => { onChangeAddress={jest.fn()} > {children} - + , ) }) @@ -27,9 +27,9 @@ describe('AutoCompletedFields', () => { onChangeAddress={jest.fn()} > {children} - + , ) - expect(wrapper.html()).toBe('') + expect(wrapper.html()).toBe(null) }) it('should display nothing if there are autocompleted fields with no value', () => { @@ -47,9 +47,9 @@ describe('AutoCompletedFields', () => { onChangeAddress={jest.fn()} > {children} - + , ) - expect(wrapper.html()).toBe('') + expect(wrapper.html()).toBe(null) }) describe('', () => { @@ -73,7 +73,7 @@ describe('AutoCompletedFields', () => { onChangeAddress={onChangeAddress} > {children} - + , ) }) @@ -104,12 +104,12 @@ describe('AutoCompletedFields', () => { expect(onChangeAddressArgument.state).toHaveProperty('value', state) expect(onChangeAddressArgument.state).toHaveProperty( 'geolocationAutoCompleted', - undefined + undefined, ) expect(onChangeAddressArgument.city).toHaveProperty('value', city) expect(onChangeAddressArgument.state).toHaveProperty( 'postalCodeAutoCompleted', - undefined + undefined, ) }) @@ -137,7 +137,7 @@ describe('AutoCompletedFields', () => { onChangeAddress={onChangeAddress} > {children} - + , ) const AddressSummary = wrapper.find('AddressSummary') @@ -165,7 +165,7 @@ describe('AutoCompletedFields', () => { onChangeAddress={onChangeAddress} > {children} - + , ) const AddressSummary = wrapper.find('AddressSummary')