Skip to content

Commit 9f83674

Browse files
committed
Merge remote-tracking branch 'origin/MC-41165' into 2.4-develop-pr135
2 parents 986f564 + c04c218 commit 9f83674

File tree

2 files changed

+27
-5
lines changed
  • app/code/Magento/Checkout/view/frontend/web/js/view/form/element
  • dev/tests/js/jasmine/tests/app/code/Magento/Checkout/frontend/js/view/form/element

2 files changed

+27
-5
lines changed

app/code/Magento/Checkout/view/frontend/web/js/view/form/element/email.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,13 @@ define([
161161
return valid;
162162
}
163163

164-
validator = loginForm.validate();
164+
if (loginForm.is(':visible')) {
165+
validator = loginForm.validate();
165166

166-
return validator.check(usernameSelector);
167+
return validator.check(usernameSelector);
168+
}
169+
170+
return true;
167171
},
168172

169173
/**

dev/tests/js/jasmine/tests/app/code/Magento/Checkout/frontend/js/view/form/element/email.test.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
/* eslint max-nested-callbacks: 0 */
77

8-
define(['squire', 'ko'], function (Squire, ko) {
8+
define(['squire', 'ko', 'jquery', 'jquery/validate'], function (Squire, ko, $) {
99
'use strict';
1010

1111
describe('Magento_Checkout/js/view/form/element/email', function () {
@@ -31,12 +31,12 @@ define(['squire', 'ko'], function (Squire, ko) {
3131
'getCheckedEmailValue'
3232
]
3333
),
34-
'Magento_Checkout/js/model/full-screen-loader': jasmine.createSpy(),
35-
'mage/validation': jasmine.createSpy()
34+
'Magento_Checkout/js/model/full-screen-loader': jasmine.createSpy()
3635
},
3736
Component;
3837

3938
beforeEach(function (done) {
39+
window.checkoutConfig = {};
4040
injector.mock(mocks);
4141
injector.require(['Magento_Checkout/js/view/form/element/email'], function (Constr) {
4242
Component = new Constr({
@@ -62,5 +62,23 @@ define(['squire', 'ko'], function (Squire, ko) {
6262
expect(typeof Component.resolveInitialPasswordVisibility()).toEqual('boolean');
6363
});
6464
});
65+
66+
describe('"validateEmail" method', function () {
67+
beforeEach(function () {
68+
$('body').append('<form data-role="email-with-possible-login">' +
69+
'<input type="text" name="username" />' +
70+
'</form>');
71+
spyOn($.fn, 'validate').and.returnValue(true);
72+
});
73+
it('Check if login form will be validated in case it is not visible', function () {
74+
var loginFormSelector = 'form[data-role=email-with-possible-login]',
75+
loginForm = $(loginFormSelector);
76+
77+
loginForm.hide();
78+
Component.validateEmail();
79+
expect(loginForm.is(':visible')).toBeFalsy();
80+
expect(loginForm.validate).not.toHaveBeenCalled();
81+
});
82+
});
6583
});
6684
});

0 commit comments

Comments
 (0)