Skip to content
Snippets Groups Projects
Commit 0c5cb6ad authored by Ievgen Sentiabov's avatar Ievgen Sentiabov
Browse files

G#12900: Braintree "Place Order" button is disabled after failed validation

 - Added handler to enable "Place Order" button on failed validation
 - Covered changes by js unit test
parent 397fe72e
No related merge requests found
...@@ -79,6 +79,7 @@ define( ...@@ -79,6 +79,7 @@ define(
*/ */
onError: function (response) { onError: function (response) {
braintree.showError($t('Payment ' + this.getTitle() + ' can\'t be initialized')); braintree.showError($t('Payment ' + this.getTitle() + ' can\'t be initialized'));
this.isPlaceOrderActionAllowed(true);
throw response.message; throw response.message;
}, },
......
...@@ -27,7 +27,7 @@ define([ ...@@ -27,7 +27,7 @@ define([
), ),
'Magento_Braintree/js/view/payment/adapter': jasmine.createSpyObj( 'Magento_Braintree/js/view/payment/adapter': jasmine.createSpyObj(
'adapter', 'adapter',
['setup', 'setConfig'] ['setup', 'setConfig', 'showError']
) )
}, },
braintreeCcForm; braintreeCcForm;
...@@ -43,14 +43,17 @@ define([ ...@@ -43,14 +43,17 @@ define([
}; };
injector.mock(mocks); injector.mock(mocks);
injector.require(['Magento_Braintree/js/view/payment/method-renderer/cc-form'], function (Constr) { injector.require(['Magento_Braintree/js/view/payment/method-renderer/cc-form'], function (Constr) {
braintreeCcForm = new Constr({ braintreeCcForm = new Constr({
provider: 'provName', provider: 'provName',
name: 'test', name: 'test',
index: 'test' index: 'test',
}); item: {
title: 'Braintree'
done(); }
}); });
done();
});
}); });
it('Check if payment code and message container are restored after onActiveChange call.', function () { it('Check if payment code and message container are restored after onActiveChange call.', function () {
...@@ -65,5 +68,21 @@ define([ ...@@ -65,5 +68,21 @@ define([
expect(braintreeCcForm.getCode()).toEqual(expectedCode); expect(braintreeCcForm.getCode()).toEqual(expectedCode);
expect(braintreeCcForm.messageContainer).toEqual(expectedMessageContainer); expect(braintreeCcForm.messageContainer).toEqual(expectedMessageContainer);
}); });
it('Check if form validation fails when "Place Order" button should be active.', function () {
var errorMessage = 'Something went wrong.',
/**
* Anonymous wrapper
*/
func = function () {
braintreeCcForm.clientConfig.onError({
'message': errorMessage
});
};
expect(func).toThrow(errorMessage);
expect(braintreeCcForm.isPlaceOrderActionAllowed()).toBeTruthy();
});
}); });
}); });
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment