auth0-lock
Version:
Auth0 Lock
108 lines (82 loc) • 3.45 kB
JavaScript
;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _enzyme = require('enzyme');
var _immutable = require('immutable');
var _immutable2 = _interopRequireDefault(_immutable);
var _captcha_pane = require('../../field/captcha/captcha_pane');
var _captcha_pane2 = _interopRequireDefault(_captcha_pane);
var _recaptcha = require('../../field/captcha/recaptcha');
var _captcha_input = require('../../ui/input/captcha_input');
var _captcha_input2 = _interopRequireDefault(_captcha_input);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var createLockMock = function createLockMock() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref$provider = _ref.provider,
provider = _ref$provider === undefined ? 'auth0' : _ref$provider,
_ref$required = _ref.required,
required = _ref$required === undefined ? true : _ref$required,
_ref$siteKey = _ref.siteKey,
siteKey = _ref$siteKey === undefined ? '' : _ref$siteKey;
return _immutable2.default.fromJS({
id: '__lock-id__',
core: {
captcha: { provider: provider, siteKey: siteKey, required: required }
}
});
};
var createI18nMock = function createI18nMock() {
return {
str: jest.fn().mockReturnValue('My i18N Compliant Language')
};
};
describe('CaptchaPane', function () {
describe('CaptchaInput', function () {
var wrapper = void 0;
beforeAll(function () {
var lockMock = createLockMock();
var i8nMock = createI18nMock();
var onReloadMock = jest.fn();
wrapper = (0, _enzyme.mount)(_react2.default.createElement(_captcha_pane2.default, { lock: lockMock, onReload: onReloadMock, i18n: i8nMock }));
});
it('should render CaptchaInput if no provider is specified', function () {
expect(wrapper.find(_captcha_input2.default)).toHaveLength(1);
});
});
describe('recaptchav2', function () {
var wrapper = void 0;
beforeAll(function () {
var lockMock = createLockMock({
provider: 'recaptcha_v2',
siteKey: 'mySiteKey'
});
var i8nMock = createI18nMock();
var onReloadMock = jest.fn();
wrapper = (0, _enzyme.mount)(_react2.default.createElement(_captcha_pane2.default, { lock: lockMock, onReload: onReloadMock, i18n: i8nMock }));
});
it('should render reCaptcha if provider is recaptchav2', function () {
expect(wrapper.find(_recaptcha.ReCAPTCHA)).toHaveLength(1);
});
it('should pass the sitekey', function () {
expect(wrapper.find(_recaptcha.ReCAPTCHA).props().sitekey).toBe('mySiteKey');
});
});
describe('recaptcha enterprise', function () {
var wrapper = void 0;
beforeAll(function () {
var lockMock = createLockMock({
provider: 'recaptcha_enterprise',
siteKey: 'mySiteKey'
});
var i8nMock = createI18nMock();
var onReloadMock = jest.fn();
wrapper = (0, _enzyme.mount)(_react2.default.createElement(_captcha_pane2.default, { lock: lockMock, onReload: onReloadMock, i18n: i8nMock }));
});
it('should render reCaptcha if provider is recaptcha_enterprise', function () {
expect(wrapper.find(_recaptcha.ReCAPTCHA)).toHaveLength(1);
});
it('should pass the sitekey', function () {
expect(wrapper.find(_recaptcha.ReCAPTCHA).props().sitekey).toBe('mySiteKey');
});
});
});