UNPKG

wix-style-react

Version:
61 lines (48 loc) 1.97 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _unit = require('../../test/utils/unit'); var _propTypes3 = require('./propTypes'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('Utils: propTypes', function () { describe('allValidators', function () { var consoleErrorSpy = void 0; beforeEach(function () { consoleErrorSpy = jest.spyOn(global.console, 'error').mockImplementation(jest.fn()); }); afterEach(function () { consoleErrorSpy.mockRestore(); (0, _unit.cleanup)(); jest.resetModules(); }); it('should not log error return undefined when all validators pass', function () { var Comp = function Comp() { return _react2.default.createElement('div', null); }; Comp.propTypes = { value: (0, _propTypes3.allValidators)(_propTypes2.default.number, function () { return undefined; }) }; (0, _unit.render)(_react2.default.createElement(Comp, null)); expect(consoleErrorSpy).toHaveBeenCalledTimes(0); }); it('should log errors for both validators', function () { var Comp = function Comp() { return _react2.default.createElement('div', null); }; Comp.propTypes = { value: (0, _propTypes3.allValidators)(_propTypes2.default.number, function () { return new Error('my error'); }) // value: PropTypes.number, }; (0, _unit.render)(_react2.default.createElement(Comp, { value: 'invalid value' })); expect(consoleErrorSpy).toHaveBeenCalledTimes(2); expect(consoleErrorSpy.mock.calls[0][0]).toEqual(expect.stringContaining('Invalid value')); expect(consoleErrorSpy.mock.calls[1][0]).toEqual(expect.stringContaining('my error')); }); }); });