File tree Expand file tree Collapse file tree 5 files changed +38
-12
lines changed
Braintree/view/frontend/web/js/view/payment/method-renderer
templates/catalog/product/attribute
ConfigurableProduct/view/adminhtml/web/js/variations
dev/tests/js/jasmine/tests/app/code/Magento/Braintree/frontend/js/view/payment/method-renderer Expand file tree Collapse file tree 5 files changed +38
-12
lines changed Original file line number Diff line number Diff line change @@ -79,6 +79,7 @@ define(
79
79
*/
80
80
onError : function ( response ) {
81
81
braintree . showError ( $t ( 'Payment ' + this . getTitle ( ) + ' can\'t be initialized' ) ) ;
82
+ this . isPlaceOrderActionAllowed ( true ) ;
82
83
throw response . message ;
83
84
} ,
84
85
Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ $stores = $block->getStoresSortedBySortOrder();
57
57
<input type="hidden" id="option-count-check" value="" />
58
58
</div>
59
59
<script id="row-template" type="text/x-magento-template">
60
- <tr>
60
+ <tr <% if (data.rowClasses) { %>class="<%- data.rowClasses %>"<% } %> >
61
61
<td class="col-draggable">
62
62
<?php if (!$ block ->getReadOnly () && !$ block ->canManageOptionDefaultOnly ()): ?>
63
63
<div data-role="draggable-handle" class="draggable-handle"
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ define([
24
24
totalItems : 0 ,
25
25
rendered : 0 ,
26
26
template : mageTemplate ( '#row-template' ) ,
27
+ newOptionClass : 'new-option' ,
27
28
isReadOnly : config . isReadOnly ,
28
29
add : function ( data , render ) {
29
30
var isNewOption = false ,
@@ -32,7 +33,8 @@ define([
32
33
if ( typeof data . id == 'undefined' ) {
33
34
data = {
34
35
'id' : 'option_' + this . itemCount ,
35
- 'sort_order' : this . itemCount + 1
36
+ 'sort_order' : this . itemCount + 1 ,
37
+ 'rowClasses' : this . newOptionClass
36
38
} ;
37
39
isNewOption = true ;
38
40
}
@@ -84,6 +86,10 @@ define([
84
86
this . totalItems -- ;
85
87
this . updateItemsCountField ( ) ;
86
88
}
89
+
90
+ if ( element . hasClassName ( this . newOptionClass ) ) {
91
+ element . remove ( ) ;
92
+ }
87
93
} ,
88
94
updateItemsCountField : function ( ) {
89
95
$ ( 'option-count-check' ) . value = this . totalItems > 0 ? '1' : '' ;
Original file line number Diff line number Diff line change @@ -357,12 +357,12 @@ define([
357
357
var element ;
358
358
359
359
_ . each ( this . disabledAttributes , function ( attribute ) {
360
- registry . get ( 'index = ' + attribute ) . disabled ( false ) ;
360
+ registry . get ( 'code = ' + attribute , ' index = ' + attribute ) . disabled ( false ) ;
361
361
} ) ;
362
362
this . disabledAttributes = [ ] ;
363
363
364
364
_ . each ( attributes , function ( attribute ) {
365
- element = registry . get ( 'index = ' + attribute . code ) ;
365
+ element = registry . get ( 'code = ' + attribute . code , ' index = ' + attribute . code ) ;
366
366
367
367
if ( ! _ . isUndefined ( element ) ) {
368
368
element . disabled ( true ) ;
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ define([
27
27
) ,
28
28
'Magento_Braintree/js/view/payment/adapter' : jasmine . createSpyObj (
29
29
'adapter' ,
30
- [ 'setup' , 'setConfig' ]
30
+ [ 'setup' , 'setConfig' , 'showError' ]
31
31
)
32
32
} ,
33
33
braintreeCcForm ;
@@ -43,14 +43,17 @@ define([
43
43
} ;
44
44
injector . mock ( mocks ) ;
45
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 ( ) ;
46
+ braintreeCcForm = new Constr ( {
47
+ provider : 'provName' ,
48
+ name : 'test' ,
49
+ index : 'test' ,
50
+ item : {
51
+ title : 'Braintree'
52
+ }
53
53
} ) ;
54
+
55
+ done ( ) ;
56
+ } ) ;
54
57
} ) ;
55
58
56
59
it ( 'Check if payment code and message container are restored after onActiveChange call.' , function ( ) {
@@ -65,5 +68,21 @@ define([
65
68
expect ( braintreeCcForm . getCode ( ) ) . toEqual ( expectedCode ) ;
66
69
expect ( braintreeCcForm . messageContainer ) . toEqual ( expectedMessageContainer ) ;
67
70
} ) ;
71
+
72
+ it ( 'Check if form validation fails when "Place Order" button should be active.' , function ( ) {
73
+ var errorMessage = 'Something went wrong.' ,
74
+
75
+ /**
76
+ * Anonymous wrapper
77
+ */
78
+ func = function ( ) {
79
+ braintreeCcForm . clientConfig . onError ( {
80
+ 'message' : errorMessage
81
+ } ) ;
82
+ } ;
83
+
84
+ expect ( func ) . toThrow ( errorMessage ) ;
85
+ expect ( braintreeCcForm . isPlaceOrderActionAllowed ( ) ) . toBeTruthy ( ) ;
86
+ } ) ;
68
87
} ) ;
69
88
} ) ;
You can’t perform that action at this time.
0 commit comments