Skip to content

Commit 9152449

Browse files
committed
Merge remote-tracking branch 'origin/MC-17754' into 2.2-develop-pr105
2 parents 7c19f68 + 2d38ea4 commit 9152449

File tree

2 files changed

+71
-3
lines changed

2 files changed

+71
-3
lines changed

app/code/Magento/Checkout/view/frontend/web/js/model/error-processor.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
define([
1010
'mage/url',
1111
'Magento_Ui/js/model/messageList',
12-
'consoleLogger'
13-
], function (url, globalMessageList, consoleLogger) {
12+
'consoleLogger',
13+
'mage/translate'
14+
], function (url, globalMessageList, consoleLogger, $t) {
1415
'use strict';
1516

1617
return {
@@ -28,10 +29,13 @@ define([
2829
} else {
2930
try {
3031
error = JSON.parse(response.responseText);
31-
messageContainer.addErrorMessage(error);
3232
} catch (e) {
3333
consoleLogger.error(e);
34+
error = {
35+
message: $t('Something went wrong with your request. Please try again later.')
36+
};
3437
}
38+
messageContainer.addErrorMessage(error);
3539
}
3640
}
3741
};
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
/*eslint max-nested-callbacks: 0*/
7+
define([
8+
'squire'
9+
], function (Squire) {
10+
'use strict';
11+
12+
describe('Magento_Checkout/js/model/error-processor', function () {
13+
var injector = new Squire(),
14+
mocks = {
15+
'mage/url': {
16+
build: jasmine.createSpy()
17+
},
18+
'consoleLogger': jasmine.createSpy('logger')
19+
},
20+
model,
21+
loggerModel;
22+
23+
beforeEach(function (done) {
24+
injector.mock(mocks);
25+
injector.require([
26+
'Magento_Checkout/js/model/error-processor',
27+
'consoleLogger'
28+
], function (processor, logger) {
29+
model = processor;
30+
loggerModel = logger;
31+
32+
done();
33+
});
34+
});
35+
36+
afterEach(function () {
37+
try {
38+
injector.clean();
39+
injector.remove();
40+
} catch (e) {}
41+
});
42+
43+
describe('Check process method', function () {
44+
it('check on success response with invalid response data', function () {
45+
var messageContainer = jasmine.createSpyObj('globalMessageList', ['addErrorMessage']),
46+
messageObject = {
47+
message: 'Something went wrong with your request. Please try again later.'
48+
};
49+
50+
spyOn(loggerModel, 'error');
51+
52+
model.process({
53+
status: 200,
54+
responseText: ''
55+
}, messageContainer);
56+
57+
expect(loggerModel.error).toHaveBeenCalled();
58+
59+
expect(messageContainer.addErrorMessage)
60+
.toHaveBeenCalledWith(messageObject);
61+
});
62+
});
63+
});
64+
});

0 commit comments

Comments
 (0)