auth0-lock 11.35.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +1 -0
- package/.circleci/config.yml +3 -1
- package/.shiprc +4 -5
- package/CHANGELOG.md +25 -0
- package/DEVELOPMENT.md +1 -1
- package/README.md +20 -16
- package/karma.conf.js +1 -1
- package/lib/CSSCore.js +1 -4
- package/lib/__tests__/auth_button.js +12 -22
- package/lib/__tests__/connection/database/actions.js +48 -49
- package/lib/__tests__/connection/database/index.js +22 -28
- package/lib/__tests__/connection/database/login_pane.js +24 -47
- package/lib/__tests__/connection/database/password_reset_confirmation.js +23 -32
- package/lib/__tests__/connection/database/reset_password.js +17 -39
- package/lib/__tests__/connection/database/signed_up_confirmation.js +23 -32
- package/lib/__tests__/connection/enterprise/actions.js +22 -47
- package/lib/__tests__/connection/enterprise/hrd_pane.js +16 -33
- package/lib/__tests__/connection/enterprise/hrd_screen.js +26 -40
- package/lib/__tests__/connection/enterprise/quick_auth_screen.js +32 -75
- package/lib/__tests__/connection/passwordless/ask_vcode.js +29 -51
- package/lib/__tests__/connection/passwordless/email_sent_confirmation.js +23 -32
- package/lib/__tests__/connection/passwordless/passwordless.js +35 -97
- package/lib/__tests__/core/actions.js +23 -46
- package/lib/__tests__/core/client/index.js +10 -13
- package/lib/__tests__/core/index.js +46 -94
- package/lib/__tests__/core/remote_data.js +14 -20
- package/lib/__tests__/core/signed_in_confirmation.js +23 -32
- package/lib/__tests__/core/sso/last_login_screen.js +27 -50
- package/lib/__tests__/core/tenant.js +10 -12
- package/lib/__tests__/core/web_api/helper.js +6 -14
- package/lib/__tests__/core/web_api/p2_api.js +38 -33
- package/lib/__tests__/core/web_api.js +37 -33
- package/lib/__tests__/engine/classic/login.js +20 -41
- package/lib/__tests__/engine/classic/mfa_login_screen.js +6 -19
- package/lib/__tests__/engine/classic/sign_up_pane.js +33 -55
- package/lib/__tests__/engine/classic/sign_up_screen.js +18 -45
- package/lib/__tests__/engine/classic.js +13 -6
- package/lib/__tests__/engine/passwordless/social_or_email_login_screen.js +7 -28
- package/lib/__tests__/engine/passwordless/social_or_phone_number_login_screen.js +7 -28
- package/lib/__tests__/engine/passwordless.js +2 -5
- package/lib/__tests__/field/captcha/recaptcha_enterprise.js +27 -27
- package/lib/__tests__/field/captcha/recaptchav2.js +27 -27
- package/lib/__tests__/field/captcha.js +39 -51
- package/lib/__tests__/field/custom_input.js +23 -47
- package/lib/__tests__/field/email.js +2 -3
- package/lib/__tests__/field/email_pane.js +25 -48
- package/lib/__tests__/field/field.js +9 -13
- package/lib/__tests__/field/login_pane.js +30 -34
- package/lib/__tests__/field/mfa_code_pane.js +13 -28
- package/lib/__tests__/field/option_selection_pane.js +7 -25
- package/lib/__tests__/field/password.js +6 -12
- package/lib/__tests__/field/password_pane.js +29 -46
- package/lib/__tests__/field/phone_number_pane.js +18 -41
- package/lib/__tests__/field/social_buttons_pane.js +30 -47
- package/lib/__tests__/field/username.js +27 -48
- package/lib/__tests__/field/username_pane.js +30 -47
- package/lib/__tests__/field/vcode.js +5 -13
- package/lib/__tests__/field/vcode_pane.js +20 -44
- package/lib/__tests__/i18n.js +28 -53
- package/lib/__tests__/quick-auth/actions.js +4 -27
- package/lib/__tests__/setup-tests.js +7 -9
- package/lib/__tests__/testUtils.js +41 -58
- package/lib/__tests__/ui/box/chrome.js +24 -49
- package/lib/__tests__/ui/box/confirmation_pane.js +23 -42
- package/lib/__tests__/ui/box/container.js +21 -46
- package/lib/__tests__/ui/box/global_message.js +60 -37
- package/lib/__tests__/ui/input/email_input.js +6 -17
- package/lib/__tests__/ui/input/input_wrap.js +6 -19
- package/lib/__tests__/ui/input/password/password_strength.js +13 -15
- package/lib/__tests__/ui/input/password_input.js +22 -27
- package/lib/__tests__/utils/format.js +10 -17
- package/lib/__tests__/utils/url_utils.js +2 -5
- package/lib/avatar/gravatar_provider.js +13 -28
- package/lib/avatar.js +22 -41
- package/lib/browser.js +372 -23
- package/lib/connection/captcha.js +15 -34
- package/lib/connection/database/actions.js +39 -108
- package/lib/connection/database/index.js +90 -191
- package/lib/connection/database/login_pane.js +107 -147
- package/lib/connection/database/login_sign_up_tabs.js +106 -125
- package/lib/connection/database/mfa_pane.js +50 -69
- package/lib/connection/database/password_reset_confirmation.js +51 -73
- package/lib/connection/database/reset_password.js +116 -132
- package/lib/connection/database/reset_password_pane.js +45 -56
- package/lib/connection/database/sign_up_terms.js +17 -23
- package/lib/connection/database/signed_up_confirmation.js +52 -75
- package/lib/connection/enterprise/actions.js +23 -52
- package/lib/connection/enterprise/hrd_pane.js +60 -76
- package/lib/connection/enterprise/hrd_screen.js +60 -75
- package/lib/connection/enterprise/kerberos_screen.js +46 -60
- package/lib/connection/enterprise/quick_auth_screen.js +46 -64
- package/lib/connection/enterprise/single_sign_on_notice.js +14 -26
- package/lib/connection/enterprise.js +51 -84
- package/lib/connection/passwordless/actions.js +29 -65
- package/lib/connection/passwordless/ask_vcode.js +53 -60
- package/lib/connection/passwordless/email_sent_confirmation.js +129 -179
- package/lib/connection/passwordless/index.js +36 -68
- package/lib/connection/social/index.js +12 -15
- package/lib/core/actions.js +33 -85
- package/lib/core/client/index.js +38 -58
- package/lib/core/client/settings.js +12 -20
- package/lib/core/error_screen.js +38 -52
- package/lib/core/index.js +154 -305
- package/lib/core/loading_screen.js +61 -71
- package/lib/core/pane_separator.js +10 -10
- package/lib/core/remote_data.js +30 -51
- package/lib/core/screen.js +85 -79
- package/lib/core/signed_in_confirmation.js +51 -73
- package/lib/core/sso/data.js +9 -17
- package/lib/core/sso/index.js +5 -6
- package/lib/core/sso/last_login_screen.js +46 -63
- package/lib/core/tenant/index.js +37 -59
- package/lib/core/tenant/settings.js +11 -15
- package/lib/core/web_api/helper.js +22 -28
- package/lib/core/web_api/p2_api.js +162 -171
- package/lib/core/web_api.js +106 -94
- package/lib/core.js +126 -160
- package/lib/engine/classic/login.js +92 -144
- package/lib/engine/classic/mfa_login_screen.js +61 -67
- package/lib/engine/classic/sign_up_pane.js +89 -123
- package/lib/engine/classic/sign_up_screen.js +112 -158
- package/lib/engine/classic.js +122 -183
- package/lib/engine/passwordless/social_or_email_login_screen.js +80 -116
- package/lib/engine/passwordless/social_or_phone_number_login_screen.js +79 -110
- package/lib/engine/passwordless.js +75 -104
- package/lib/field/actions.js +11 -17
- package/lib/field/captcha/captcha_pane.js +83 -103
- package/lib/field/captcha/recaptcha.js +140 -145
- package/lib/field/captcha.js +7 -10
- package/lib/field/custom_input.js +37 -50
- package/lib/field/email/email_pane.js +90 -109
- package/lib/field/email.js +17 -35
- package/lib/field/index.js +50 -87
- package/lib/field/mfa-code/mfa_code_pane.js +57 -71
- package/lib/field/mfa_code.js +15 -21
- package/lib/field/option_selection_pane.js +16 -22
- package/lib/field/password/password_pane.js +79 -91
- package/lib/field/password.js +8 -14
- package/lib/field/phone-number/locations.js +7 -3
- package/lib/field/phone-number/phone_number_pane.js +87 -124
- package/lib/field/phone_number.js +16 -30
- package/lib/field/social/event.js +9 -12
- package/lib/field/social/social_buttons_pane.js +93 -121
- package/lib/field/username/username_pane.js +105 -123
- package/lib/field/username.js +16 -26
- package/lib/field/vcode/vcode_pane.js +67 -93
- package/lib/field/vcode.js +5 -5
- package/lib/i18n/af.js +7 -4
- package/lib/i18n/ar.js +7 -4
- package/lib/i18n/az.js +7 -4
- package/lib/i18n/bg.js +7 -4
- package/lib/i18n/ca.js +7 -4
- package/lib/i18n/cs.js +7 -4
- package/lib/i18n/da.js +7 -4
- package/lib/i18n/de.js +7 -3
- package/lib/i18n/el.js +7 -4
- package/lib/i18n/en.js +9 -4
- package/lib/i18n/es.js +7 -3
- package/lib/i18n/et.js +7 -4
- package/lib/i18n/fa.js +7 -4
- package/lib/i18n/fi.js +7 -4
- package/lib/i18n/fr.js +7 -4
- package/lib/i18n/he.js +7 -4
- package/lib/i18n/hr.js +7 -4
- package/lib/i18n/hu.js +7 -4
- package/lib/i18n/id.js +7 -4
- package/lib/i18n/it.js +7 -3
- package/lib/i18n/ja.js +7 -4
- package/lib/i18n/ko.js +7 -4
- package/lib/i18n/lt.js +7 -4
- package/lib/i18n/lv.js +7 -4
- package/lib/i18n/ms.js +7 -4
- package/lib/i18n/nb.js +7 -4
- package/lib/i18n/nl.js +7 -4
- package/lib/i18n/nn.js +7 -4
- package/lib/i18n/no.js +7 -4
- package/lib/i18n/pl.js +7 -4
- package/lib/i18n/pt-br.js +7 -3
- package/lib/i18n/pt.js +7 -4
- package/lib/i18n/ro.js +7 -4
- package/lib/i18n/ru.js +7 -4
- package/lib/i18n/sk.js +7 -4
- package/lib/i18n/sl.js +7 -4
- package/lib/i18n/sr.js +7 -4
- package/lib/i18n/sv.js +7 -4
- package/lib/i18n/tr.js +7 -4
- package/lib/i18n/ua.js +7 -4
- package/lib/i18n/uk.js +7 -4
- package/lib/i18n/vi.js +7 -4
- package/lib/i18n/zh-tw.js +7 -4
- package/lib/i18n/zh.js +7 -4
- package/lib/i18n.js +38 -75
- package/lib/index.js +14 -17
- package/lib/lock.js +29 -32
- package/lib/passwordless.js +29 -31
- package/lib/quick-auth/actions.js +19 -26
- package/lib/quick_auth.js +8 -10
- package/lib/sanitizer.js +5 -5
- package/lib/store/index.js +22 -42
- package/lib/sync.js +21 -42
- package/lib/ui/box/button.js +85 -105
- package/lib/ui/box/chrome.js +463 -548
- package/lib/ui/box/confirmation_pane.js +34 -48
- package/lib/ui/box/container.js +305 -339
- package/lib/ui/box/global_message.js +51 -60
- package/lib/ui/box/header.js +155 -177
- package/lib/ui/box/multisize_slide.js +233 -229
- package/lib/ui/box/success_pane.js +34 -37
- package/lib/ui/box.js +88 -93
- package/lib/ui/button/auth_button.js +44 -51
- package/lib/ui/input/captcha_input.js +162 -181
- package/lib/ui/input/checkbox_input.js +57 -59
- package/lib/ui/input/email_input.js +117 -124
- package/lib/ui/input/input_wrap.js +65 -80
- package/lib/ui/input/location_input.js +130 -150
- package/lib/ui/input/mfa_code_input.js +98 -98
- package/lib/ui/input/password/password_strength.js +103 -127
- package/lib/ui/input/password_input.js +141 -147
- package/lib/ui/input/phone_number_input.js +101 -109
- package/lib/ui/input/select_input.js +120 -132
- package/lib/ui/input/text_input.js +89 -84
- package/lib/ui/input/username_input.js +109 -115
- package/lib/ui/input/vcode_input.js +110 -118
- package/lib/ui/list.js +224 -247
- package/lib/ui/pane/quick_auth_pane.js +55 -80
- package/lib/utils/atom.js +55 -48
- package/lib/utils/cache.js +54 -43
- package/lib/utils/cdn_utils.js +17 -31
- package/lib/utils/createRef.js +3 -1
- package/lib/utils/data_utils.js +10 -16
- package/lib/utils/fn_utils.js +5 -4
- package/lib/utils/format.js +6 -8
- package/lib/utils/id_utils.js +4 -3
- package/lib/utils/jsonp_utils.js +20 -17
- package/lib/utils/media_utils.js +4 -2
- package/lib/utils/preload_utils.js +4 -3
- package/lib/utils/string_utils.js +4 -4
- package/lib/utils/url_utils.js +4 -3
- package/package.json +48 -34
- package/webpack.config.js +36 -3
|
@@ -1,68 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _react = require(
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var _immutable = require('immutable');
|
|
10
|
-
|
|
11
|
-
var _immutable2 = _interopRequireDefault(_immutable);
|
|
12
|
-
|
|
13
|
-
var _captcha_pane = require('../../field/captcha/captcha_pane');
|
|
14
|
-
|
|
15
|
-
var _captcha_pane2 = _interopRequireDefault(_captcha_pane);
|
|
16
|
-
|
|
17
|
-
var _recaptcha = require('../../field/captcha/recaptcha');
|
|
18
|
-
|
|
19
|
-
var _captcha_input = require('../../ui/input/captcha_input');
|
|
20
|
-
|
|
21
|
-
var _captcha_input2 = _interopRequireDefault(_captcha_input);
|
|
22
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _enzyme = require("enzyme");
|
|
5
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
6
|
+
var _captcha_pane = _interopRequireDefault(require("../../field/captcha/captcha_pane"));
|
|
7
|
+
var _recaptcha = require("../../field/captcha/recaptcha");
|
|
8
|
+
var _captcha_input = _interopRequireDefault(require("../../ui/input/captcha_input"));
|
|
23
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
-
|
|
25
10
|
var createLockMock = function createLockMock() {
|
|
26
11
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return _immutable2.default.fromJS({
|
|
12
|
+
_ref$provider = _ref.provider,
|
|
13
|
+
provider = _ref$provider === void 0 ? 'auth0' : _ref$provider,
|
|
14
|
+
_ref$required = _ref.required,
|
|
15
|
+
required = _ref$required === void 0 ? true : _ref$required,
|
|
16
|
+
_ref$siteKey = _ref.siteKey,
|
|
17
|
+
siteKey = _ref$siteKey === void 0 ? '' : _ref$siteKey;
|
|
18
|
+
return _immutable.default.fromJS({
|
|
35
19
|
id: '__lock-id__',
|
|
36
20
|
core: {
|
|
37
|
-
captcha: {
|
|
21
|
+
captcha: {
|
|
22
|
+
provider: provider,
|
|
23
|
+
siteKey: siteKey,
|
|
24
|
+
required: required
|
|
25
|
+
}
|
|
38
26
|
}
|
|
39
27
|
});
|
|
40
28
|
};
|
|
41
|
-
|
|
42
29
|
var createI18nMock = function createI18nMock() {
|
|
43
30
|
return {
|
|
44
31
|
str: jest.fn().mockReturnValue('My i18N Compliant Language')
|
|
45
32
|
};
|
|
46
33
|
};
|
|
47
|
-
|
|
48
34
|
describe('CaptchaPane', function () {
|
|
49
35
|
describe('CaptchaInput', function () {
|
|
50
|
-
var wrapper
|
|
36
|
+
var wrapper;
|
|
51
37
|
beforeAll(function () {
|
|
52
38
|
var lockMock = createLockMock();
|
|
53
39
|
var i8nMock = createI18nMock();
|
|
54
40
|
var onReloadMock = jest.fn();
|
|
55
|
-
|
|
56
|
-
|
|
41
|
+
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_captcha_pane.default, {
|
|
42
|
+
lock: lockMock,
|
|
43
|
+
onReload: onReloadMock,
|
|
44
|
+
i18n: i8nMock
|
|
45
|
+
}));
|
|
57
46
|
});
|
|
58
|
-
|
|
59
47
|
it('should render CaptchaInput if no provider is specified', function () {
|
|
60
|
-
expect(wrapper.find(
|
|
48
|
+
expect(wrapper.find(_captcha_input.default)).toHaveLength(1);
|
|
61
49
|
});
|
|
62
50
|
});
|
|
63
|
-
|
|
64
51
|
describe('recaptchav2', function () {
|
|
65
|
-
var wrapper
|
|
52
|
+
var wrapper;
|
|
66
53
|
beforeAll(function () {
|
|
67
54
|
var lockMock = createLockMock({
|
|
68
55
|
provider: 'recaptcha_v2',
|
|
@@ -70,21 +57,21 @@ describe('CaptchaPane', function () {
|
|
|
70
57
|
});
|
|
71
58
|
var i8nMock = createI18nMock();
|
|
72
59
|
var onReloadMock = jest.fn();
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_captcha_pane.default, {
|
|
61
|
+
lock: lockMock,
|
|
62
|
+
onReload: onReloadMock,
|
|
63
|
+
i18n: i8nMock
|
|
64
|
+
}));
|
|
75
65
|
});
|
|
76
|
-
|
|
77
66
|
it('should render reCaptcha if provider is recaptchav2', function () {
|
|
78
67
|
expect(wrapper.find(_recaptcha.ReCAPTCHA)).toHaveLength(1);
|
|
79
68
|
});
|
|
80
|
-
|
|
81
69
|
it('should pass the sitekey', function () {
|
|
82
70
|
expect(wrapper.find(_recaptcha.ReCAPTCHA).props().sitekey).toBe('mySiteKey');
|
|
83
71
|
});
|
|
84
72
|
});
|
|
85
|
-
|
|
86
73
|
describe('recaptcha enterprise', function () {
|
|
87
|
-
var wrapper
|
|
74
|
+
var wrapper;
|
|
88
75
|
beforeAll(function () {
|
|
89
76
|
var lockMock = createLockMock({
|
|
90
77
|
provider: 'recaptcha_enterprise',
|
|
@@ -92,14 +79,15 @@ describe('CaptchaPane', function () {
|
|
|
92
79
|
});
|
|
93
80
|
var i8nMock = createI18nMock();
|
|
94
81
|
var onReloadMock = jest.fn();
|
|
95
|
-
|
|
96
|
-
|
|
82
|
+
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_captcha_pane.default, {
|
|
83
|
+
lock: lockMock,
|
|
84
|
+
onReload: onReloadMock,
|
|
85
|
+
i18n: i8nMock
|
|
86
|
+
}));
|
|
97
87
|
});
|
|
98
|
-
|
|
99
88
|
it('should render reCaptcha if provider is recaptcha_enterprise', function () {
|
|
100
89
|
expect(wrapper.find(_recaptcha.ReCAPTCHA)).toHaveLength(1);
|
|
101
90
|
});
|
|
102
|
-
|
|
103
91
|
it('should pass the sitekey', function () {
|
|
104
92
|
expect(wrapper.find(_recaptcha.ReCAPTCHA).props().sitekey).toBe('mySiteKey');
|
|
105
93
|
});
|
|
@@ -1,28 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
4
|
-
|
|
5
|
-
var _react = require('react');
|
|
6
|
-
|
|
7
|
-
var _react2 = _interopRequireDefault(_react);
|
|
8
|
-
|
|
9
|
-
var _enzyme = require('enzyme');
|
|
10
|
-
|
|
11
|
-
var _testUtils = require('testUtils');
|
|
1
|
+
"use strict";
|
|
12
2
|
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _enzyme = require("enzyme");
|
|
5
|
+
var _testUtils = require("testUtils");
|
|
13
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
|
|
7
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
8
|
jest.mock('ui/input/text_input', function () {
|
|
16
9
|
return (0, _testUtils.mockComponent)('text_input');
|
|
17
10
|
});
|
|
18
11
|
jest.mock('ui/input/select_input', function () {
|
|
19
12
|
return (0, _testUtils.mockComponent)('select_input');
|
|
20
13
|
});
|
|
21
|
-
|
|
22
14
|
var getComponent = function getComponent() {
|
|
23
15
|
return require('field/custom_input').default;
|
|
24
16
|
};
|
|
25
|
-
|
|
26
17
|
describe('CustomInput', function () {
|
|
27
18
|
var defaultProps = {
|
|
28
19
|
iconUrl: 'iconUrl',
|
|
@@ -32,10 +23,8 @@ describe('CustomInput', function () {
|
|
|
32
23
|
model: {},
|
|
33
24
|
validator: 'validator'
|
|
34
25
|
};
|
|
35
|
-
|
|
36
26
|
beforeEach(function () {
|
|
37
27
|
jest.resetModules();
|
|
38
|
-
|
|
39
28
|
jest.mock('core/index', function () {
|
|
40
29
|
return {
|
|
41
30
|
id: function id() {
|
|
@@ -43,29 +32,26 @@ describe('CustomInput', function () {
|
|
|
43
32
|
}
|
|
44
33
|
};
|
|
45
34
|
});
|
|
46
|
-
|
|
47
35
|
jest.mock('field/actions', function () {
|
|
48
36
|
return {
|
|
49
37
|
changeField: jest.fn(),
|
|
50
38
|
startOptionSelection: jest.fn()
|
|
51
39
|
};
|
|
52
40
|
});
|
|
53
|
-
|
|
54
41
|
jest.mock('field/index', function () {
|
|
55
42
|
return {
|
|
56
43
|
getFieldInvalidHint: function getFieldInvalidHint(model, name) {
|
|
57
|
-
return
|
|
44
|
+
return "invalid-hint-".concat(name);
|
|
58
45
|
},
|
|
59
46
|
getFieldLabel: jest.fn(),
|
|
60
47
|
getFieldValue: function getFieldValue(model, name) {
|
|
61
|
-
return
|
|
48
|
+
return "field-value-".concat(name);
|
|
62
49
|
},
|
|
63
50
|
isFieldVisiblyInvalid: function isFieldVisiblyInvalid() {
|
|
64
51
|
return true;
|
|
65
52
|
}
|
|
66
53
|
};
|
|
67
54
|
});
|
|
68
|
-
|
|
69
55
|
jest.mock('store/index', function () {
|
|
70
56
|
return {
|
|
71
57
|
swap: jest.fn(),
|
|
@@ -79,27 +65,21 @@ describe('CustomInput', function () {
|
|
|
79
65
|
});
|
|
80
66
|
it('renders correctly as a SelectInput', function () {
|
|
81
67
|
var CustomInput = getComponent();
|
|
82
|
-
|
|
83
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
68
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
84
69
|
});
|
|
85
70
|
it('sets isValid as true when `isFieldVisiblyInvalid` is false', function () {
|
|
86
71
|
require('field/index').isFieldVisiblyInvalid = function () {
|
|
87
72
|
return false;
|
|
88
73
|
};
|
|
89
74
|
var CustomInput = getComponent();
|
|
90
|
-
|
|
91
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
75
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
92
76
|
});
|
|
93
77
|
it('calls `startOptionSelection` when clicked', function () {
|
|
94
78
|
var CustomInput = getComponent();
|
|
95
|
-
|
|
96
|
-
var wrapper = (0, _enzyme.mount)(_react2.default.createElement(CustomInput, defaultProps));
|
|
79
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps));
|
|
97
80
|
var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
|
|
98
|
-
|
|
99
81
|
props.onClick();
|
|
100
|
-
|
|
101
82
|
var mock = require('field/actions').startOptionSelection.mock;
|
|
102
|
-
|
|
103
83
|
expect(mock.calls.length).toBe(1);
|
|
104
84
|
expect(mock.calls[0]).toMatchSnapshot();
|
|
105
85
|
});
|
|
@@ -110,27 +90,25 @@ describe('CustomInput', function () {
|
|
|
110
90
|
});
|
|
111
91
|
it('renders correctly as a TextInput', function () {
|
|
112
92
|
var CustomInput = getComponent();
|
|
113
|
-
|
|
114
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
93
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
115
94
|
});
|
|
116
95
|
it('sets isValid as true when `isFieldVisiblyInvalid` is false', function () {
|
|
117
96
|
require('field/index').isFieldVisiblyInvalid = function () {
|
|
118
97
|
return false;
|
|
119
98
|
};
|
|
120
99
|
var CustomInput = getComponent();
|
|
121
|
-
|
|
122
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
100
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
123
101
|
});
|
|
124
102
|
it('calls `changeField` when changed', function () {
|
|
125
103
|
var CustomInput = getComponent();
|
|
126
|
-
|
|
127
|
-
var wrapper = (0, _enzyme.mount)(_react2.default.createElement(CustomInput, defaultProps));
|
|
104
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps));
|
|
128
105
|
var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
106
|
+
props.onChange({
|
|
107
|
+
target: {
|
|
108
|
+
value: 'newUser'
|
|
109
|
+
}
|
|
110
|
+
});
|
|
132
111
|
var mock = require('field/actions').changeField.mock;
|
|
133
|
-
|
|
134
112
|
expect(mock.calls.length).toBe(1);
|
|
135
113
|
expect(mock.calls[0]).toMatchSnapshot();
|
|
136
114
|
});
|
|
@@ -141,15 +119,14 @@ describe('CustomInput', function () {
|
|
|
141
119
|
});
|
|
142
120
|
it('renders correctly as a CheckBoxInput', function () {
|
|
143
121
|
var CustomInput = getComponent();
|
|
144
|
-
|
|
145
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
122
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
146
123
|
});
|
|
147
|
-
|
|
148
124
|
describe('and when placeholderHTML is set', function () {
|
|
149
125
|
it('renders correctly as a CheckBoxInput', function () {
|
|
150
126
|
var CustomInput = getComponent();
|
|
151
|
-
|
|
152
|
-
|
|
127
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, _extends({}, defaultProps, {
|
|
128
|
+
placeholderHTML: '<b>Placeholder</b>'
|
|
129
|
+
}))).toMatchSnapshot();
|
|
153
130
|
});
|
|
154
131
|
});
|
|
155
132
|
});
|
|
@@ -160,8 +137,7 @@ describe('CustomInput', function () {
|
|
|
160
137
|
});
|
|
161
138
|
it('renders correctly as a input[type=hidden]', function () {
|
|
162
139
|
var CustomInput = getComponent();
|
|
163
|
-
|
|
164
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
140
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(CustomInput, defaultProps)).toMatchSnapshot();
|
|
165
141
|
});
|
|
166
142
|
});
|
|
167
143
|
});
|
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _react = require('react');
|
|
4
|
-
|
|
5
|
-
var _react2 = _interopRequireDefault(_react);
|
|
6
|
-
|
|
7
|
-
var _immutable = require('immutable');
|
|
8
|
-
|
|
9
|
-
var _immutable2 = _interopRequireDefault(_immutable);
|
|
10
|
-
|
|
11
|
-
var _enzyme = require('enzyme');
|
|
12
|
-
|
|
13
|
-
var _testUtils = require('testUtils');
|
|
1
|
+
"use strict";
|
|
14
2
|
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
5
|
+
var _enzyme = require("enzyme");
|
|
6
|
+
var _testUtils = require("testUtils");
|
|
15
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
|
|
17
8
|
jest.mock('ui/input/email_input', function () {
|
|
18
9
|
return (0, _testUtils.mockComponent)('email_input');
|
|
19
10
|
});
|
|
20
|
-
|
|
21
11
|
var getComponent = function getComponent() {
|
|
22
12
|
return require('field/email/email_pane').default;
|
|
23
13
|
};
|
|
24
|
-
|
|
25
14
|
describe('EmailPane', function () {
|
|
26
15
|
var defaultProps = {
|
|
27
16
|
i18n: {
|
|
28
17
|
str: function str() {
|
|
29
|
-
for (var _len = arguments.length, keys = Array(_len), _key = 0; _key < _len; _key++) {
|
|
18
|
+
for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
30
19
|
keys[_key] = arguments[_key];
|
|
31
20
|
}
|
|
32
|
-
|
|
33
21
|
return keys.join(',');
|
|
34
22
|
}
|
|
35
23
|
},
|
|
@@ -37,12 +25,10 @@ describe('EmailPane', function () {
|
|
|
37
25
|
placeholder: 'placeholder',
|
|
38
26
|
strictValidation: false
|
|
39
27
|
};
|
|
40
|
-
|
|
41
28
|
beforeEach(function () {
|
|
42
29
|
jest.resetModules();
|
|
43
|
-
|
|
44
30
|
var mockEmail = 'user@example.com';
|
|
45
|
-
var mockEmailField =
|
|
31
|
+
var mockEmailField = _immutable.default.fromJS({
|
|
46
32
|
value: mockEmail
|
|
47
33
|
});
|
|
48
34
|
jest.mock('field/index', function () {
|
|
@@ -61,13 +47,11 @@ describe('EmailPane', function () {
|
|
|
61
47
|
}
|
|
62
48
|
};
|
|
63
49
|
});
|
|
64
|
-
|
|
65
50
|
jest.mock('field/email', function () {
|
|
66
51
|
return {
|
|
67
52
|
setEmail: 'setEmail'
|
|
68
53
|
};
|
|
69
54
|
});
|
|
70
|
-
|
|
71
55
|
jest.mock('core/index', function () {
|
|
72
56
|
return {
|
|
73
57
|
id: function id() {
|
|
@@ -86,14 +70,12 @@ describe('EmailPane', function () {
|
|
|
86
70
|
}
|
|
87
71
|
};
|
|
88
72
|
});
|
|
89
|
-
|
|
90
73
|
jest.mock('avatar', function () {
|
|
91
74
|
return {
|
|
92
75
|
requestAvatar: jest.fn(),
|
|
93
76
|
debouncedRequestAvatar: jest.fn()
|
|
94
77
|
};
|
|
95
78
|
});
|
|
96
|
-
|
|
97
79
|
jest.mock('store/index', function () {
|
|
98
80
|
return {
|
|
99
81
|
swap: jest.fn(),
|
|
@@ -101,10 +83,9 @@ describe('EmailPane', function () {
|
|
|
101
83
|
};
|
|
102
84
|
});
|
|
103
85
|
});
|
|
104
|
-
|
|
105
86
|
it('renders correctly', function () {
|
|
106
87
|
var EmailPane = getComponent();
|
|
107
|
-
(0, _testUtils.expectComponent)(
|
|
88
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
108
89
|
});
|
|
109
90
|
it('sets `blankErrorHint` when username is empty', function () {
|
|
110
91
|
var fieldIndexMock = require('field/index');
|
|
@@ -115,40 +96,34 @@ describe('EmailPane', function () {
|
|
|
115
96
|
return undefined;
|
|
116
97
|
};
|
|
117
98
|
fieldIndexMock.getField = function () {
|
|
118
|
-
return
|
|
99
|
+
return _immutable.default.fromJS({
|
|
119
100
|
value: undefined
|
|
120
101
|
});
|
|
121
102
|
};
|
|
122
103
|
var EmailPane = getComponent();
|
|
123
|
-
|
|
124
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
104
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
125
105
|
});
|
|
126
106
|
it('sets isValid as true when `isFieldVisiblyInvalid` is false', function () {
|
|
127
107
|
require('field/index').isFieldVisiblyInvalid = function () {
|
|
128
108
|
return false;
|
|
129
109
|
};
|
|
130
110
|
var EmailPane = getComponent();
|
|
131
|
-
|
|
132
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
111
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
133
112
|
});
|
|
134
113
|
it('sets autoComplete to true when `allowAutocomplete` is true', function () {
|
|
135
114
|
require('core/index').ui.allowAutocomplete = function () {
|
|
136
115
|
return true;
|
|
137
116
|
};
|
|
138
117
|
var EmailPane = getComponent();
|
|
139
|
-
|
|
140
|
-
(0, _testUtils.expectComponent)(_react2.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
118
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps)).toMatchSnapshot();
|
|
141
119
|
});
|
|
142
120
|
it('fetches the avatar on componentDidMount if ui.avatar is true and there is a username', function () {
|
|
143
121
|
require('core/index').ui.avatar = function () {
|
|
144
122
|
return true;
|
|
145
123
|
};
|
|
146
124
|
var EmailPane = getComponent();
|
|
147
|
-
|
|
148
|
-
(0, _enzyme.mount)(_react2.default.createElement(EmailPane, defaultProps));
|
|
149
|
-
|
|
125
|
+
(0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps));
|
|
150
126
|
var mock = require('avatar').requestAvatar.mock;
|
|
151
|
-
|
|
152
127
|
expect(mock.calls.length).toBe(1);
|
|
153
128
|
});
|
|
154
129
|
it('fetches the avatar onChange if ui.avatar is true', function () {
|
|
@@ -156,24 +131,26 @@ describe('EmailPane', function () {
|
|
|
156
131
|
return true;
|
|
157
132
|
};
|
|
158
133
|
var EmailPane = getComponent();
|
|
159
|
-
|
|
160
|
-
var wrapper = (0, _enzyme.mount)(_react2.default.createElement(EmailPane, defaultProps));
|
|
134
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps));
|
|
161
135
|
var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
|
|
162
|
-
props.onChange({
|
|
163
|
-
|
|
136
|
+
props.onChange({
|
|
137
|
+
target: {
|
|
138
|
+
value: 'newUser@example.com'
|
|
139
|
+
}
|
|
140
|
+
});
|
|
164
141
|
var mock = require('avatar').debouncedRequestAvatar.mock;
|
|
165
|
-
|
|
166
142
|
expect(mock.calls.length).toBe(1);
|
|
167
143
|
});
|
|
168
144
|
it('calls `swap` onChange', function () {
|
|
169
145
|
var EmailPane = getComponent();
|
|
170
|
-
|
|
171
|
-
var wrapper = (0, _enzyme.mount)(_react2.default.createElement(EmailPane, defaultProps));
|
|
146
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(EmailPane, defaultProps));
|
|
172
147
|
var props = (0, _testUtils.extractPropsFromWrapper)(wrapper);
|
|
173
|
-
props.onChange({
|
|
174
|
-
|
|
148
|
+
props.onChange({
|
|
149
|
+
target: {
|
|
150
|
+
value: 'newUser@example.com'
|
|
151
|
+
}
|
|
152
|
+
});
|
|
175
153
|
var mock = require('store/index').swap.mock;
|
|
176
|
-
|
|
177
154
|
expect(mock.calls.length).toBe(2);
|
|
178
155
|
expect(mock.calls[1]).toMatchSnapshot();
|
|
179
156
|
});
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _immutable = require('immutable');
|
|
4
|
-
|
|
5
|
-
var _immutable2 = _interopRequireDefault(_immutable);
|
|
6
|
-
|
|
7
|
-
var _field2 = require('../../field');
|
|
1
|
+
"use strict";
|
|
8
2
|
|
|
3
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
4
|
+
var _field2 = require("../../field");
|
|
9
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
6
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
7
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
11
10
|
var createModel = function createModel(field) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return _immutable2.default.fromJS({
|
|
15
|
-
field: (_field = {}, _field[field] = 'old_test_' + field, _field)
|
|
11
|
+
return _immutable.default.fromJS({
|
|
12
|
+
field: _defineProperty({}, field, "old_test_".concat(field))
|
|
16
13
|
});
|
|
17
14
|
};
|
|
18
|
-
|
|
19
15
|
var testField = function testField(field, maxLength) {
|
|
20
16
|
var m = createModel(field);
|
|
21
17
|
expect((0, _field2.setField)(m, field, '').toJS().field[field].valid).toBe(false);
|
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
4
|
-
|
|
5
|
-
var _react = require('react');
|
|
6
|
-
|
|
7
|
-
var _react2 = _interopRequireDefault(_react);
|
|
8
|
-
|
|
9
|
-
var _enzyme = require('enzyme');
|
|
10
|
-
|
|
11
|
-
var _testUtils = require('testUtils');
|
|
12
|
-
|
|
13
|
-
var _login_pane = require('connection/database/login_pane');
|
|
14
|
-
|
|
15
|
-
var _login_pane2 = _interopRequireDefault(_login_pane);
|
|
1
|
+
"use strict";
|
|
16
2
|
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _enzyme = require("enzyme");
|
|
5
|
+
var _testUtils = require("testUtils");
|
|
6
|
+
var _login_pane = _interopRequireDefault(require("connection/database/login_pane"));
|
|
17
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
8
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
9
|
jest.mock('field/email/email_pane', function () {
|
|
20
10
|
return (0, _testUtils.mockComponent)('email_pane');
|
|
21
11
|
});
|
|
@@ -25,10 +15,8 @@ jest.mock('field/username/username_pane', function () {
|
|
|
25
15
|
jest.mock('field/password/password_pane', function () {
|
|
26
16
|
return (0, _testUtils.mockComponent)('password_pane');
|
|
27
17
|
});
|
|
28
|
-
|
|
29
18
|
jest.mock('connection/database/index');
|
|
30
19
|
jest.mock('connection/database/actions');
|
|
31
|
-
|
|
32
20
|
var mockId = 1;
|
|
33
21
|
jest.mock('core/index', function () {
|
|
34
22
|
return {
|
|
@@ -41,7 +29,6 @@ jest.mock('core/index', function () {
|
|
|
41
29
|
connectionResolver: jest.fn()
|
|
42
30
|
};
|
|
43
31
|
});
|
|
44
|
-
|
|
45
32
|
describe('LoginPane', function () {
|
|
46
33
|
var defaultProps = {
|
|
47
34
|
emailInputPlaceholder: 'emailInputPlaceholder',
|
|
@@ -55,7 +42,6 @@ describe('LoginPane', function () {
|
|
|
55
42
|
};
|
|
56
43
|
var databaseIndexMock = require('connection/database/index');
|
|
57
44
|
var coreMock = require('core/index');
|
|
58
|
-
|
|
59
45
|
beforeEach(function () {
|
|
60
46
|
databaseIndexMock.hasScreen.mockImplementation(function () {
|
|
61
47
|
return true;
|
|
@@ -64,19 +50,21 @@ describe('LoginPane', function () {
|
|
|
64
50
|
return 'forgotPasswordLink';
|
|
65
51
|
});
|
|
66
52
|
});
|
|
67
|
-
|
|
68
53
|
afterEach(function () {
|
|
69
54
|
jest.resetAllMocks();
|
|
70
55
|
});
|
|
71
|
-
|
|
72
56
|
it('renders correctly', function () {
|
|
73
|
-
(0, _testUtils.expectComponent)(
|
|
57
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, defaultProps)).toMatchSnapshot();
|
|
74
58
|
});
|
|
75
59
|
it('shows header when instructions is not empty', function () {
|
|
76
|
-
(0, _testUtils.expectComponent)(
|
|
60
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
61
|
+
instructions: "instructions"
|
|
62
|
+
}))).toMatchSnapshot();
|
|
77
63
|
});
|
|
78
64
|
it('shows email pane when user usernameStyle === email', function () {
|
|
79
|
-
(0, _testUtils.expectComponent)(
|
|
65
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
66
|
+
usernameStyle: "email"
|
|
67
|
+
}))).toMatchSnapshot();
|
|
80
68
|
});
|
|
81
69
|
it('shows username pane when connectionResolver is specified, even if usernameStyle is email', function () {
|
|
82
70
|
coreMock.connectionResolver.mockImplementation(function () {
|
|
@@ -84,36 +72,44 @@ describe('LoginPane', function () {
|
|
|
84
72
|
return true;
|
|
85
73
|
};
|
|
86
74
|
});
|
|
87
|
-
(0, _testUtils.expectComponent)(
|
|
75
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
76
|
+
usernameStyle: "email"
|
|
77
|
+
}))).toMatchSnapshot();
|
|
88
78
|
});
|
|
89
79
|
it('shows username pane when user usernameStyle !== email', function () {
|
|
90
|
-
(0, _testUtils.expectComponent)(
|
|
91
|
-
|
|
80
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
81
|
+
usernameStyle: "any"
|
|
82
|
+
}))).toMatchSnapshot();
|
|
83
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
84
|
+
usernameStyle: "username"
|
|
85
|
+
}))).toMatchSnapshot();
|
|
92
86
|
});
|
|
93
87
|
it('hides password pane when showPassword===false', function () {
|
|
94
|
-
(0, _testUtils.expectComponent)(
|
|
88
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
89
|
+
showPassword: false
|
|
90
|
+
}))).toMatchSnapshot();
|
|
95
91
|
});
|
|
96
92
|
describe('hides password link', function () {
|
|
97
93
|
it('when showForgotPasswordLink === false', function () {
|
|
98
|
-
(0, _testUtils.expectComponent)(
|
|
94
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, _extends({}, defaultProps, {
|
|
95
|
+
showForgotPasswordLink: false
|
|
96
|
+
}))).toMatchSnapshot();
|
|
99
97
|
});
|
|
100
98
|
it('when lock does not have the screen `forgotPassword`', function () {
|
|
101
99
|
databaseIndexMock.hasScreen.mockImplementation(function (l, screenName) {
|
|
102
100
|
return screenName === 'forgotPassword' ? false : true;
|
|
103
101
|
});
|
|
104
|
-
(0, _testUtils.expectComponent)(
|
|
102
|
+
(0, _testUtils.expectComponent)( /*#__PURE__*/_react.default.createElement(_login_pane.default, defaultProps)).toMatchSnapshot();
|
|
105
103
|
});
|
|
106
104
|
});
|
|
107
105
|
it('clicking password forgot link calls showResetPasswordActivity() when forgotPasswordLink() is undefined', function () {
|
|
108
106
|
databaseIndexMock.forgotPasswordLink.mockImplementation(function () {
|
|
109
107
|
return undefined;
|
|
110
108
|
});
|
|
111
|
-
var wrapper = (0, _enzyme.mount)(
|
|
109
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_login_pane.default, defaultProps));
|
|
112
110
|
wrapper.find('a.auth0-lock-alternative-link').simulate('click');
|
|
113
|
-
|
|
114
111
|
var actions = require('connection/database/actions');
|
|
115
112
|
var calls = actions.showResetPasswordActivity.mock.calls;
|
|
116
|
-
|
|
117
113
|
expect(calls.length).toBe(1);
|
|
118
114
|
expect(calls[0][0]).toBe(mockId);
|
|
119
115
|
});
|