UNPKG

auth0-lock

Version:
122 lines (119 loc) 5.56 kB
"use strict"; 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); } var _react = _interopRequireDefault(require("react")); var _testUtils = require("testUtils"); var _immutable = _interopRequireDefault(require("immutable")); var _data_utils = require("../../../utils/data_utils"); var i18n = _interopRequireWildcard(require("../../../i18n")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _dataFns = (0, _data_utils.dataFns)(['i18n']), set = _dataFns.set; jest.mock('engine/classic'); jest.mock('connection/enterprise/hrd_pane', function () { return (0, _testUtils.mockComponent)('hrd_pane'); }); jest.mock('connection/enterprise', function () { return { enterpriseDomain: jest.fn(function () { return 'domain.com'; }) }; }); var getComponent = function getComponent() { var HRDScreen = require('connection/enterprise/hrd_screen').default; var screen = new HRDScreen(); return screen.render(); }; describe('HRDScreen Component', function () { var i18nProp; var lock; beforeEach(function () { lock = _immutable.default.fromJS({ id: '__lock-id__' }); jest.resetModules(); var lang = _immutable.default.fromJS({ enterpriseLoginIntructions: 'Login with your corporate credentials.', enterpriseActiveLoginInstructions: 'Please enter your corporate credentials at %s.' }); lock = set(lock, 'strings', lang); i18nProp = { str: function str(keypath) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } return i18n.str(lock, keypath, args); } }; }); it('renders correctly when there is an enterprise domain', function () { var Component = getComponent(); (0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, { model: lock, i18n: i18nProp })).toMatchSnapshot(); }); it('renders correctly when there is no enterprise domain', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return null; }); var Component = getComponent(); (0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, { model: lock, i18n: i18nProp })).toMatchSnapshot(); }); it('renders correctly when enterprise domain is undefined', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return undefined; }); var Component = getComponent(); (0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, { model: lock, i18n: i18nProp })).toMatchSnapshot(); }); it('does not show "undefined" in message when enterprise domain is undefined', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return undefined; }); var _i18nProp = i18nProp, str = _i18nProp.str; // Should use the fallback message without domain placeholder var expectedMessage = str('enterpriseLoginIntructions'); expect(expectedMessage).toContain('Login with your corporate credentials.'); expect(expectedMessage).not.toContain('undefined'); }); it('does not show "undefined" in message when enterprise domain is null', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return null; }); var _i18nProp2 = i18nProp, str = _i18nProp2.str; // Should use the fallback message without domain placeholder var expectedMessage = str('enterpriseLoginIntructions'); expect(expectedMessage).toContain('Login with your corporate credentials.'); expect(expectedMessage).not.toContain('undefined'); }); it('uses fallback message when enterprise domain is empty string', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return ''; }); var Component = getComponent(); (0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, { model: lock, i18n: i18nProp })).toMatchSnapshot(); }); it('uses fallback message when enterprise domain is whitespace only', function () { require('connection/enterprise').enterpriseDomain.mockImplementation(function () { return ' '; }); var Component = getComponent(); (0, _testUtils.expectComponent)(/*#__PURE__*/_react.default.createElement(Component, { model: lock, i18n: i18nProp })).toMatchSnapshot(); }); });