UNPKG

auth0-lock

Version:
108 lines (82 loc) 3.45 kB
'use strict'; 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'); }); }); });