Skip to content

Commit 97575f9

Browse files
Merge remote-tracking branch 'origin/MAGETWO-69213-braintree-reorder' into Borg-PR-11-29
2 parents 14b083d + a7a6838 commit 97575f9

File tree

4 files changed

+104
-2
lines changed

4 files changed

+104
-2
lines changed

app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/cc-form.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ define(
3636
braintreeDeviceData: null,
3737
paymentMethodNonce: null,
3838
lastBillingAddress: null,
39+
ccCode: null,
40+
ccMessageContainer: null,
3941
validatorManager: validatorManager,
4042
code: 'braintree',
4143

@@ -138,9 +140,39 @@ define(
138140
return;
139141
}
140142

143+
this.restoreMessageContainer();
144+
this.restoreCode();
145+
146+
/**
147+
* Define onReady callback
148+
*/
149+
braintree.onReady = function () {};
141150
this.initBraintree();
142151
},
143152

153+
/**
154+
* Restore original message container for cc-form component
155+
*/
156+
restoreMessageContainer: function () {
157+
this.messageContainer = this.ccMessageContainer;
158+
},
159+
160+
/**
161+
* Restore original code for cc-form component
162+
*/
163+
restoreCode: function () {
164+
this.code = this.ccCode;
165+
},
166+
167+
/** @inheritdoc */
168+
initChildren: function () {
169+
this._super();
170+
this.ccMessageContainer = this.messageContainer;
171+
this.ccCode = this.code;
172+
173+
return this;
174+
},
175+
144176
/**
145177
* Init config
146178
*/

app/code/Magento/Braintree/view/frontend/web/js/view/payment/method-renderer/vault.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ define([
5252
var self = this;
5353

5454
/**
55-
* Define already callback
55+
* Define onReady callback
5656
*/
5757
Braintree.onReady = function () {
5858
self.getPaymentMethodNonce();
@@ -78,6 +78,7 @@ define([
7878
formComponent.setPaymentMethodNonce(response.paymentMethodNonce);
7979
formComponent.additionalData['public_hash'] = self.publicHash;
8080
formComponent.code = self.code;
81+
formComponent.messageContainer = self.messageContainer;
8182
formComponent.placeOrder();
8283
});
8384
})

app/code/Magento/Customer/view/frontend/web/js/model/customer-addresses.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ define(
1515
return {
1616
getAddressItems: function() {
1717
var items = [];
18-
if (isLoggedIn) {
18+
if (isLoggedIn()) {
1919
var customerData = window.customerData;
2020
if (Object.keys(customerData).length) {
2121
$.each(customerData.addresses, function (key, item) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/**
2+
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
/* eslint-disable max-nested-callbacks */
7+
define([
8+
'jquery',
9+
'squire',
10+
'ko',
11+
'Magento_Ui/js/model/messages'
12+
], function ($, Squire, ko, Messages) {
13+
'use strict';
14+
15+
describe('Magento_Braintree/js/view/payment/method-renderer/cc-form', function () {
16+
var injector = new Squire(),
17+
mocks = {
18+
'Magento_Checkout/js/model/quote': {
19+
billingAddress: ko.observable(),
20+
shippingAddress: ko.observable(),
21+
paymentMethod: ko.observable(),
22+
totals: ko.observable({})
23+
},
24+
'Magento_Braintree/js/view/payment/validator-handler': jasmine.createSpyObj(
25+
'validator-handler',
26+
['initialize']
27+
),
28+
'Magento_Braintree/js/view/payment/adapter': jasmine.createSpyObj(
29+
'adapter',
30+
['setup', 'setConfig']
31+
)
32+
},
33+
braintreeCcForm;
34+
35+
beforeAll(function (done) {
36+
window.checkoutConfig = {
37+
quoteData: {},
38+
payment: {
39+
braintree: {
40+
hasFraudProtection: true
41+
}
42+
}
43+
};
44+
injector.mock(mocks);
45+
injector.require(['Magento_Braintree/js/view/payment/method-renderer/cc-form'], function (Constr) {
46+
braintreeCcForm = new Constr({
47+
provider: 'provName',
48+
name: 'test',
49+
index: 'test'
50+
});
51+
52+
done();
53+
});
54+
});
55+
56+
it('Check if payment code and message container are restored after onActiveChange call.', function () {
57+
var expectedMessageContainer = braintreeCcForm.messageContainer,
58+
expectedCode = braintreeCcForm.code;
59+
60+
braintreeCcForm.code = 'braintree-vault';
61+
braintreeCcForm.messageContainer = new Messages();
62+
63+
braintreeCcForm.onActiveChange(true);
64+
65+
expect(braintreeCcForm.getCode()).toEqual(expectedCode);
66+
expect(braintreeCcForm.messageContainer).toEqual(expectedMessageContainer);
67+
});
68+
});
69+
});

0 commit comments

Comments
 (0)