Skip to content

Commit d2f3104

Browse files
committed
ACP2E-3402: Checkout shipping address form get update with wrong address
1 parent 381cdc3 commit d2f3104

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

dev/tests/js/jasmine/tests/app/code/Magento/Checkout/frontend/js/view/checkout-data.test.js

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,55 @@
44
*/
55

66
define([
7-
'Magento_Checkout/js/checkout-data',
8-
'Magento_Customer/js/customer-data'
9-
], function (checkoutData, storage) {
7+
'squire'
8+
], function (Squire) {
109
'use strict';
1110

1211
describe('Magento_Checkout/js/checkout-data', function () {
13-
let cacheKey = 'checkout-data',
12+
let checkoutData,
13+
cacheKey = 'checkout-data',
1414
testData = {
1515
shippingAddressFromData: {base: {address1: 'address1'}}
1616
},
1717

1818
/** Stub */
1919
getStorageData = function () {
20-
return testData;
20+
return function () {
21+
return testData;
22+
};
23+
},
24+
injector = new Squire(),
25+
mocks = {
26+
'Magento_Customer/js/customer-data': {
27+
/** Method stub. */
28+
set: jasmine.createSpy(),
29+
get: jasmine.createSpy().and.callFake(getStorageData)
30+
},
31+
'jquery/jquery-storageapi': jasmine.createSpy(),
32+
'mageUtils': jasmine.createSpy()
2133
};
2234

2335
window.checkoutConfig = {
2436
websiteCode: 'base'
2537
};
2638

27-
beforeEach(function () {
28-
spyOn(storage, 'set');
39+
beforeEach(function (done) {
40+
injector.mock(mocks);
41+
injector.require([
42+
'Magento_Checkout/js/checkout-data'
43+
], function (Constructor) {
44+
checkoutData = Constructor;
45+
done();
46+
});
2947
});
3048

3149
it('should save selected shipping address per website', function () {
3250
checkoutData.setShippingAddressFromData({address1: 'address1'});
33-
expect(storage.set).toHaveBeenCalledWith(cacheKey, jasmine.objectContaining(testData));
34-
});
35-
36-
it('should return null if no shipping address data exists', function () {
37-
expect(checkoutData.getShippingAddressFromData()).toBeNull();
51+
expect(mocks['Magento_Customer/js/customer-data'].set).
52+
toHaveBeenCalledWith(cacheKey, jasmine.objectContaining(testData));
3853
});
3954

4055
it('should get shipping address from data per website', function () {
41-
spyOn(storage, 'get').and.returnValue(getStorageData);
4256
let address = checkoutData.getShippingAddressFromData();
4357

4458
expect(address).toEqual(testData.shippingAddressFromData.base);

0 commit comments

Comments
 (0)