auth0-lock 15.0.0 → 15.0.1
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/.github/workflows/codeql.yml +1 -1
- package/.github/workflows/npm-release.yml +1 -1
- package/.github/workflows/snyk.yml +1 -1
- package/.github/workflows/test.yml +2 -2
- package/.version +1 -1
- package/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/lib/__tests__/auth_button.js +21 -6
- package/lib/__tests__/connection/database/login_pane.js +12 -5
- package/lib/__tests__/connection/database/reset_password.js +15 -12
- package/lib/__tests__/connection/enterprise/hrd_pane.js +16 -6
- package/lib/__tests__/connection/enterprise/hrd_screen.js +27 -18
- package/lib/__tests__/connection/passwordless/ask_vcode.js +15 -7
- package/lib/__tests__/core/sso/last_login_screen.js +91 -40
- package/lib/__tests__/engine/classic/mfa_login_screen.js +9 -3
- package/lib/__tests__/engine/classic/sign_up_pane.js +16 -6
- package/lib/__tests__/engine/classic/sign_up_screen.js +0 -1
- package/lib/__tests__/field/captcha/arkose.js +7 -0
- package/lib/__tests__/field/captcha/auth0_v2.js +6 -0
- package/lib/__tests__/field/captcha/friendlyCaptcha.js +6 -0
- package/lib/__tests__/field/captcha/hcaptcha.js +6 -0
- package/lib/__tests__/field/captcha/recaptcha_enterprise.js +6 -0
- package/lib/__tests__/field/captcha/recaptchav2.js +6 -0
- package/lib/__tests__/field/captcha/third_party_captcha.js +97 -64
- package/lib/__tests__/field/captcha.js +76 -143
- package/lib/__tests__/field/custom_input.js +7 -5
- package/lib/__tests__/field/email_pane.js +27 -11
- package/lib/__tests__/field/login_pane.js +6 -3
- package/lib/__tests__/field/mfa_code_pane.js +13 -6
- package/lib/__tests__/field/option_selection_pane.js +17 -7
- package/lib/__tests__/field/password_pane.js +8 -10
- package/lib/__tests__/field/phone_number_pane.js +7 -5
- package/lib/__tests__/field/social_buttons_pane.js +12 -9
- package/lib/__tests__/field/username_pane.js +33 -14
- package/lib/__tests__/field/vcode_pane.js +9 -5
- package/lib/__tests__/setup-tests.js +1 -7
- package/lib/__tests__/testUtils.js +27 -42
- package/lib/__tests__/ui/box/global_message.js +75 -42
- package/lib/__tests__/ui/input/email_input.js +4 -4
- package/lib/__tests__/ui/input/password/password_strength.js +8 -7
- package/lib/__tests__/ui/input/password_input.js +18 -14
- package/lib/core/web_api/helper.js +1 -1
- package/lib/i18n.js +1 -1
- package/lib/lock.js +1 -1
- package/lib/passwordless.js +1 -1
- package/package.json +7 -7
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _immutable = _interopRequireDefault(require("immutable"));
|
|
6
6
|
var _testUtils = require("testUtils");
|
|
7
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
8
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
15
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
10
16
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
11
17
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -20,6 +26,11 @@ var getComponent = function getComponent() {
|
|
|
20
26
|
var screen = new LastLoginScreen();
|
|
21
27
|
return screen.render();
|
|
22
28
|
};
|
|
29
|
+
var renderAndGetProps = function renderAndGetProps(Component, props) {
|
|
30
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, props)),
|
|
31
|
+
container = _render.container;
|
|
32
|
+
return (0, _testUtils.getMockProps)(container.querySelector('[data-__type="quick_auth_pane"]'));
|
|
33
|
+
};
|
|
23
34
|
describe('LastLoginScreen', function () {
|
|
24
35
|
beforeEach(function () {
|
|
25
36
|
jest.resetModules();
|
|
@@ -57,7 +68,8 @@ describe('LastLoginScreen', function () {
|
|
|
57
68
|
jest.mock('connection/social/index', function () {
|
|
58
69
|
return {
|
|
59
70
|
STRATEGIES: {
|
|
60
|
-
twitter: 'Twitter'
|
|
71
|
+
twitter: 'Twitter',
|
|
72
|
+
'this-strategy-exists': 'Test Strategy'
|
|
61
73
|
},
|
|
62
74
|
authButtonsTheme: function authButtonsTheme() {
|
|
63
75
|
return {
|
|
@@ -92,52 +104,66 @@ describe('LastLoginScreen', function () {
|
|
|
92
104
|
},
|
|
93
105
|
model: 'model'
|
|
94
106
|
};
|
|
95
|
-
it('renders correctly', function () {
|
|
96
|
-
var Component = getComponent();
|
|
97
|
-
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
98
|
-
});
|
|
99
|
-
it('renders with custom connection theme', function () {
|
|
100
|
-
require('connection/social/index').authButtonsTheme = function () {
|
|
101
|
-
return {
|
|
102
|
-
get: function get() {
|
|
103
|
-
return _immutable.default.fromJS({
|
|
104
|
-
primaryColor: 'primaryColor',
|
|
105
|
-
foregroundColor: 'foregroundColor',
|
|
106
|
-
icon: 'icon'
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
var Component = getComponent();
|
|
112
|
-
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
113
|
-
});
|
|
114
107
|
describe('renders correct icon', function () {
|
|
115
|
-
var
|
|
116
|
-
|
|
108
|
+
var testStrategyName = 'this-strategy-exists';
|
|
109
|
+
var EXPECTED_ICONS = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, testStrategyName, testStrategyName), 'google-apps', 'google-apps'), "adfs", 'windows'), "office365", 'windows'), "waad", 'windows'), 'some-other-strategy', 'auth0');
|
|
110
|
+
Object.entries(EXPECTED_ICONS).forEach(function (_ref) {
|
|
111
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
112
|
+
strategy = _ref2[0],
|
|
113
|
+
expectedIcon = _ref2[1];
|
|
114
|
+
it("uses correct icon when strategy is ".concat(strategy), function () {
|
|
117
115
|
require('core/sso/index').lastUsedConnection = function () {
|
|
118
116
|
return _immutable.default.fromJS({
|
|
119
117
|
strategy: strategy
|
|
120
118
|
});
|
|
121
119
|
};
|
|
122
120
|
var Component = getComponent();
|
|
123
|
-
|
|
121
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
122
|
+
expect(props.strategy).toBe(expectedIcon);
|
|
124
123
|
});
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
});
|
|
125
|
+
it('maps adfs/office365/waad to "windows" icon', function () {
|
|
126
|
+
require('core/sso/index').lastUsedConnection = function () {
|
|
127
|
+
return _immutable.default.fromJS({
|
|
128
|
+
strategy: 'adfs'
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
var Component = getComponent();
|
|
132
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
133
|
+
expect(props.strategy).toBe('windows');
|
|
134
|
+
});
|
|
135
|
+
it('uses connection name as icon for unknown strategy', function () {
|
|
136
|
+
require('core/sso/index').lastUsedConnection = function () {
|
|
137
|
+
return _immutable.default.fromJS({
|
|
138
|
+
strategy: 'unknown-strategy',
|
|
139
|
+
name: 'my-conn'
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
var Component = getComponent();
|
|
143
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
144
|
+
expect(props.strategy).toBe('auth0');
|
|
145
|
+
});
|
|
146
|
+
it('uses name as strategy when strategy field is empty', function () {
|
|
130
147
|
require('core/sso/index').lastUsedConnection = function () {
|
|
131
148
|
return _immutable.default.fromJS({
|
|
132
149
|
name: testStrategyName
|
|
133
150
|
});
|
|
134
151
|
};
|
|
135
152
|
var Component = getComponent();
|
|
136
|
-
|
|
153
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
154
|
+
expect(props.strategy).toBe(testStrategyName);
|
|
137
155
|
});
|
|
138
156
|
});
|
|
139
157
|
describe('renders correct buttonLabel', function () {
|
|
140
|
-
it('uses
|
|
158
|
+
it('uses lastUsedUsername when present', function () {
|
|
159
|
+
require('core/sso/index').lastUsedUsername = function () {
|
|
160
|
+
return 'lastUsedUsername';
|
|
161
|
+
};
|
|
162
|
+
var Component = getComponent();
|
|
163
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
164
|
+
expect(props.buttonLabel).toBe('lastUsedUsername');
|
|
165
|
+
});
|
|
166
|
+
it('uses SOCIAL_STRATEGY mapping when there is no lastUsedUsername', function () {
|
|
141
167
|
require('core/sso/index').lastUsedConnection = function () {
|
|
142
168
|
return {
|
|
143
169
|
get: function get() {
|
|
@@ -149,21 +175,44 @@ describe('LastLoginScreen', function () {
|
|
|
149
175
|
return undefined;
|
|
150
176
|
};
|
|
151
177
|
var Component = getComponent();
|
|
152
|
-
|
|
178
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
179
|
+
expect(props.buttonLabel).toBe('Twitter');
|
|
153
180
|
});
|
|
154
|
-
it('uses lastUsedConnectionName when there is
|
|
181
|
+
it('uses lastUsedConnectionName when there is no lastUsedUsername and no SOCIAL_STRATEGY mapping', function () {
|
|
155
182
|
require('core/sso/index').lastUsedUsername = function () {
|
|
156
183
|
return undefined;
|
|
157
184
|
};
|
|
158
185
|
var Component = getComponent();
|
|
159
|
-
|
|
186
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
187
|
+
expect(props.buttonLabel).toBe('lastUsedConnection');
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
describe('renders with custom connection theme', function () {
|
|
191
|
+
it('passes primaryColor and foregroundColor from theme', function () {
|
|
192
|
+
require('connection/social/index').authButtonsTheme = function () {
|
|
193
|
+
return {
|
|
194
|
+
get: function get() {
|
|
195
|
+
return _immutable.default.fromJS({
|
|
196
|
+
primaryColor: 'primaryColor',
|
|
197
|
+
foregroundColor: 'foregroundColor',
|
|
198
|
+
icon: 'icon'
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
var Component = getComponent();
|
|
204
|
+
var props = renderAndGetProps(Component, defaultProps);
|
|
205
|
+
expect(props.primaryColor).toBe('primaryColor');
|
|
206
|
+
expect(props.foregroundColor).toBe('foregroundColor');
|
|
207
|
+
expect(props.buttonIcon).toBe('icon');
|
|
160
208
|
});
|
|
161
209
|
});
|
|
162
210
|
it('calls checkSession in the buttonClickHandler when outside of the universal login page', function () {
|
|
163
211
|
(0, _testUtils.setURL)('https://other-url.auth0.com');
|
|
164
212
|
var Component = getComponent();
|
|
165
|
-
var
|
|
166
|
-
|
|
213
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)),
|
|
214
|
+
container = _render2.container;
|
|
215
|
+
var props = (0, _testUtils.extractPropsFromWrapper)(container, 'quick_auth_pane');
|
|
167
216
|
props.buttonClickHandler();
|
|
168
217
|
var mock = require('quick-auth/actions').checkSession.mock;
|
|
169
218
|
expect(mock.calls.length).toBe(1);
|
|
@@ -174,8 +223,9 @@ describe('LastLoginScreen', function () {
|
|
|
174
223
|
it('calls logIn in the buttonClickHandler when inside of the universal login page', function () {
|
|
175
224
|
(0, _testUtils.setURL)('https://me.auth0.com');
|
|
176
225
|
var Component = getComponent();
|
|
177
|
-
var
|
|
178
|
-
|
|
226
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)),
|
|
227
|
+
container = _render3.container;
|
|
228
|
+
var props = (0, _testUtils.extractPropsFromWrapper)(container, 'quick_auth_pane');
|
|
179
229
|
props.buttonClickHandler();
|
|
180
230
|
var mock = require('quick-auth/actions').logIn.mock;
|
|
181
231
|
expect(mock.calls.length).toBe(1);
|
|
@@ -185,8 +235,9 @@ describe('LastLoginScreen', function () {
|
|
|
185
235
|
});
|
|
186
236
|
it('calls skipQuickAuth in the alternativeClickHandler', function () {
|
|
187
237
|
var Component = getComponent();
|
|
188
|
-
var
|
|
189
|
-
|
|
238
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)),
|
|
239
|
+
container = _render4.container;
|
|
240
|
+
var props = (0, _testUtils.extractPropsFromWrapper)(container, 'quick_auth_pane');
|
|
190
241
|
props.alternativeClickHandler();
|
|
191
242
|
var mock = require('quick-auth/actions').skipQuickAuth.mock;
|
|
192
243
|
expect(mock.calls.length).toBe(1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
5
|
var _testUtils = require("testUtils");
|
|
6
6
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
7
|
jest.mock('connection/database/mfa_pane', function () {
|
|
@@ -48,8 +48,14 @@ describe('MFALoginScreen', function () {
|
|
|
48
48
|
},
|
|
49
49
|
model: 'model'
|
|
50
50
|
};
|
|
51
|
-
it('
|
|
51
|
+
it('passes i18n-derived props to MFAPane', function () {
|
|
52
52
|
var Component = getComponent();
|
|
53
|
-
(0,
|
|
53
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)),
|
|
54
|
+
container = _render.container;
|
|
55
|
+
var props = (0, _testUtils.getMockProps)(container.querySelector('[data-__type="mfa_pane"]'));
|
|
56
|
+
expect(props.mfaInputPlaceholder).toBe('mfaInputPlaceholder');
|
|
57
|
+
expect(props.instructions).toBe('mfaLoginInstructions');
|
|
58
|
+
expect(props.title).toBe('mfaLoginTitle');
|
|
59
|
+
expect(props.lock).toBe('model');
|
|
54
60
|
});
|
|
55
61
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _immutable = _interopRequireDefault(require("immutable"));
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
|
-
var _testUtils2 = require("../../testUtils");
|
|
6
6
|
var _captcha = require("../../../connection/captcha");
|
|
7
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
8
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
@@ -20,7 +20,15 @@ jest.mock('field/custom_input', function () {
|
|
|
20
20
|
});
|
|
21
21
|
jest.mock('core/index', function () {
|
|
22
22
|
return {
|
|
23
|
-
signupCaptcha: jest.fn()
|
|
23
|
+
signupCaptcha: jest.fn(),
|
|
24
|
+
id: function id(m) {
|
|
25
|
+
return m && m.get ? m.get('id') : '__lock-id__';
|
|
26
|
+
},
|
|
27
|
+
ui: {
|
|
28
|
+
language: function language() {
|
|
29
|
+
return 'en';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
24
32
|
};
|
|
25
33
|
});
|
|
26
34
|
jest.mock('engine/classic', function () {
|
|
@@ -75,7 +83,9 @@ describe('SignUpPane', function () {
|
|
|
75
83
|
}
|
|
76
84
|
},
|
|
77
85
|
flow: _captcha.Flow.SIGNUP,
|
|
78
|
-
model:
|
|
86
|
+
model: _immutable.default.fromJS({
|
|
87
|
+
id: '__lock-id__'
|
|
88
|
+
}),
|
|
79
89
|
emailInputPlaceholder: 'emailInputPlaceholder',
|
|
80
90
|
onlyEmail: true,
|
|
81
91
|
passwordInputPlaceholder: 'passwordInputPlaceholder',
|
|
@@ -101,7 +111,7 @@ describe('SignUpPane', function () {
|
|
|
101
111
|
});
|
|
102
112
|
require('engine/classic').isSSOEnabled.mockReturnValue(false);
|
|
103
113
|
var Component = getComponent();
|
|
104
|
-
(0,
|
|
114
|
+
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
105
115
|
});
|
|
106
116
|
it('hides the Captcha pane for SSO connections', function () {
|
|
107
117
|
require('core/index').signupCaptcha.mockReturnValue({
|
|
@@ -111,7 +121,7 @@ describe('SignUpPane', function () {
|
|
|
111
121
|
});
|
|
112
122
|
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
113
123
|
var Component = getComponent();
|
|
114
|
-
(0,
|
|
124
|
+
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
115
125
|
});
|
|
116
126
|
it('shows the Captcha pane for SSO (ADFS) connections', function () {
|
|
117
127
|
require('core/index').signupCaptcha.mockReturnValue({
|
|
@@ -122,7 +132,7 @@ describe('SignUpPane', function () {
|
|
|
122
132
|
require('engine/classic').isSSOEnabled.mockReturnValue(true);
|
|
123
133
|
require('connection/enterprise').isHRDDomain.mockReturnValue(true);
|
|
124
134
|
var Component = getComponent();
|
|
125
|
-
(0,
|
|
135
|
+
(0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, defaultProps)).toMatchSnapshot();
|
|
126
136
|
});
|
|
127
137
|
describe('onlyEmail is false', function () {
|
|
128
138
|
it('shows PasswordPane', function () {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
var _enzyme = require("enzyme");
|
|
5
4
|
var _testUtils = require("testUtils");
|
|
6
5
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
6
|
jest.mock('engine/classic/sign_up_pane', function () {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -21,6 +22,12 @@ describe('Arkose', function () {
|
|
|
21
22
|
(0, _testUtils.expectComponent)(component).toMatchSnapshot();
|
|
22
23
|
});
|
|
23
24
|
it('injects the script', function () {
|
|
25
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
26
|
+
provider: 'arkose',
|
|
27
|
+
hl: "en",
|
|
28
|
+
sitekey: 'mySiteKey',
|
|
29
|
+
clientSubdomain: 'client-api'
|
|
30
|
+
}));
|
|
24
31
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
25
32
|
return s.src.startsWith("https://client-api.arkoselabs.com/v2/mySiteKey/api.js");
|
|
26
33
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +21,11 @@ describe('Auth0 V2', function () {
|
|
|
20
21
|
(0, _testUtils.expectComponent)(component).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
it('injects the script', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
25
|
+
provider: 'auth0_v2',
|
|
26
|
+
hl: "en",
|
|
27
|
+
sitekey: 'mySiteKey'
|
|
28
|
+
}));
|
|
23
29
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
24
30
|
return s.src.startsWith('https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=');
|
|
25
31
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +21,11 @@ describe('friendly captcha', function () {
|
|
|
20
21
|
(0, _testUtils.expectComponent)(wrapper).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
it('injects the script', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
25
|
+
provider: 'friendly_captcha',
|
|
26
|
+
hl: "en",
|
|
27
|
+
sitekey: 'mySiteKey'
|
|
28
|
+
}));
|
|
23
29
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
24
30
|
return s.src.startsWith("https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.12/widget.min.js");
|
|
25
31
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +21,11 @@ describe('hCaptcha', function () {
|
|
|
20
21
|
(0, _testUtils.expectComponent)(component).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
it('injects the script', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
25
|
+
provider: 'hcaptcha',
|
|
26
|
+
hl: "en",
|
|
27
|
+
sitekey: 'mySiteKey'
|
|
28
|
+
}));
|
|
23
29
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
24
30
|
return s.src.startsWith("https://js.hcaptcha.com/1/api.js");
|
|
25
31
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +21,11 @@ describe('Recaptcha Enterprise', function () {
|
|
|
20
21
|
(0, _testUtils.expectComponent)(component).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
it('injects the script', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
25
|
+
provider: 'recaptcha_enterprise',
|
|
26
|
+
hl: "en",
|
|
27
|
+
sitekey: 'mySiteKey'
|
|
28
|
+
}));
|
|
23
29
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
24
30
|
return s.src.startsWith("https://www.recaptcha.net/recaptcha/enterprise.js");
|
|
25
31
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
4
5
|
var _testUtils = require("testUtils");
|
|
5
6
|
var _third_party_captcha = require("../../../field/captcha/third_party_captcha");
|
|
6
7
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -20,6 +21,11 @@ describe('Recaptcha v2', function () {
|
|
|
20
21
|
(0, _testUtils.expectComponent)(component).toMatchSnapshot();
|
|
21
22
|
});
|
|
22
23
|
it('injects the script', function () {
|
|
24
|
+
(0, _react2.render)(/*#__PURE__*/_react.default.createElement(_third_party_captcha.ThirdPartyCaptcha, {
|
|
25
|
+
provider: 'recaptcha_v2',
|
|
26
|
+
hl: "en",
|
|
27
|
+
sitekey: 'mySiteKey'
|
|
28
|
+
}));
|
|
23
29
|
var script = _toConsumableArray(window.document.querySelectorAll('script')).find(function (s) {
|
|
24
30
|
return s.src.startsWith("https://www.recaptcha.net/recaptcha/api.js");
|
|
25
31
|
});
|