Skip to content

Commit be3e966

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-66627' into NORD-FIXES
2 parents 1a4aa5b + 0c777de commit be3e966

File tree

4 files changed

+73
-6
lines changed

4 files changed

+73
-6
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
define([], function () {
6+
'use strict';
7+
8+
/**
9+
* Define necessity of using default post code value
10+
*/
11+
var useDefaultPostCode;
12+
13+
return {
14+
/**
15+
* Resolve default post code
16+
*
17+
* @returns {String|null}
18+
*/
19+
resolve: function () {
20+
return useDefaultPostCode ? window.checkoutConfig.defaultPostcode : null;
21+
},
22+
23+
/**
24+
* Set state to useDefaultPostCode variable
25+
*
26+
* @param {Boolean} shouldUseDefaultPostCode
27+
* @returns {underscore}
28+
*/
29+
setUseDefaultPostCode: function (shouldUseDefaultPostCode) {
30+
useDefaultPostCode = shouldUseDefaultPostCode;
31+
32+
return this;
33+
}
34+
};
35+
});

app/code/Magento/Checkout/view/frontend/web/js/model/new-customer-address.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
* @api
77
*/
88
define([
9-
'underscore'
10-
], function (_) {
9+
'underscore',
10+
'Magento_Checkout/js/model/default-post-code-resolver'
11+
], function (_, DefaultPostCodeResolver) {
1112
'use strict';
1213

1314
/**
@@ -35,7 +36,7 @@ define([
3536
company: addressData.company,
3637
telephone: addressData.telephone,
3738
fax: addressData.fax,
38-
postcode: addressData.postcode ? addressData.postcode : window.checkoutConfig.defaultPostcode || undefined,
39+
postcode: addressData.postcode ? addressData.postcode : DefaultPostCodeResolver.resolve(),
3940
city: addressData.city,
4041
firstname: addressData.firstname,
4142
lastname: addressData.lastname,

app/code/Magento/Ui/view/base/web/js/form/element/region.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
define([
1010
'underscore',
1111
'uiRegistry',
12-
'./select'
13-
], function (_, registry, Select) {
12+
'./select',
13+
'Magento_Checkout/js/model/default-post-code-resolver'
14+
], function (_, registry, Select, defaultPostCodeResolver) {
1415
'use strict';
1516

1617
return Select.extend({
@@ -33,8 +34,8 @@ define([
3334
if (!value) {
3435
return;
3536
}
36-
3737
option = options[value];
38+
defaultPostCodeResolver.setUseDefaultPostCode(!option['is_zipcode_optional']);
3839

3940
if (this.skipValidation) {
4041
this.validation['required-entry'] = false;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
define([
6+
'underscore',
7+
'Magento_Checkout/js/model/default-post-code-resolver'
8+
], function (_, DefaultPostCodeResolver) {
9+
'use strict';
10+
11+
describe('checkout/js/model/default-post-code-resolver', function () {
12+
var defaultPostCodeResolver;
13+
14+
beforeEach(function () {
15+
defaultPostCodeResolver = DefaultPostCodeResolver;
16+
window.checkoutConfig = {
17+
defaultPostcode: '19800'
18+
};
19+
});
20+
21+
it('resolve', function () {
22+
expect(defaultPostCodeResolver.resolve()).toBeNull();
23+
});
24+
it('resolve with using default code', function () {
25+
defaultPostCodeResolver.setUseDefaultPostCode(true);
26+
expect(defaultPostCodeResolver.resolve()).toEqual('19800');
27+
});
28+
});
29+
30+
});

0 commit comments

Comments
 (0)