UNPKG

cpui-components

Version:

83 lines (63 loc) 3.5 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _enzyme = require('enzyme'); var _jestMatchers = require('jest-matchers'); var _jestMatchers2 = _interopRequireDefault(_jestMatchers); var _SearchBar = require('./SearchBar'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('SearchBar Tests', function () { var defaultProps = { onClickHandler: jest.fn(), onKeyPressHandler: jest.fn(), size: 'small', defaultValue: '', isModuleSearch: false, clearSearchFunction: jest.fn(), isSubmitSearch: false }; it('Expects SearchBar to render with No button by default', function () { var wrapper = (0, _enzyme.mount)(_react2.default.createElement(_SearchBar.SearchBar, defaultProps)); (0, _jestMatchers2.default)(wrapper.find('.cp-SearchBar').length).toBe(1); (0, _jestMatchers2.default)(wrapper.find('.cp-ModuleSearch').length).toBe(0); (0, _jestMatchers2.default)(wrapper.state('showAutoSearch')).toBe(!defaultProps.isSubmitSearch); (0, _jestMatchers2.default)(wrapper.state('showSubmitSearch')).toBe(defaultProps.isSubmitSearch); (0, _jestMatchers2.default)(wrapper.state('showClearAutoSearch')).toBe(false); (0, _jestMatchers2.default)(wrapper.state('showClearSubmitSearch')).toBe(false); }); it('Expects SearchBar to call keypress handler and clear functions when content empty', function () { var props = Object.assign({}, defaultProps, { isSubmitSearch: true, isModuleSearch: true }); var wrapper = (0, _enzyme.mount)(_react2.default.createElement(_SearchBar.SearchBar, props)); wrapper.instance().searchInput.input.value = ''; wrapper.instance().onKeyUpWrapped({ key: 'Esc' }); (0, _jestMatchers2.default)(props.onKeyPressHandler.mock.calls.length).toBe(1); (0, _jestMatchers2.default)(props.clearSearchFunction.mock.calls.length).toBe(1); }); it('Expects SearchBar to call on click handler when enter is pressed', function () { var wrapper = (0, _enzyme.mount)(_react2.default.createElement(_SearchBar.SearchBar, defaultProps)); wrapper.instance().searchInput.input.value = ''; wrapper.instance().onKeyUpWrapped({ key: 'Enter' }); (0, _jestMatchers2.default)(defaultProps.onClickHandler.mock.calls.length).toBe(1); }); it('Expects SearchBar to show search button with empty defaultValue text', function () { var props = Object.assign({}, defaultProps, { isSubmitSearch: false, defaultValue: '' }); var wrapper = (0, _enzyme.mount)(_react2.default.createElement(_SearchBar.SearchBar, props)); (0, _jestMatchers2.default)(wrapper.state().showAutoSearch).toBe(true); (0, _jestMatchers2.default)(wrapper.state().showClearAutoSearch).toBe(false); }); it('Expects SearchBar to show clear search button with defaultValue text', function () { var props = Object.assign({}, defaultProps, { isSubmitSearch: false, defaultValue: 'eee' }); var wrapper = (0, _enzyme.mount)(_react2.default.createElement(_SearchBar.SearchBar, props)); (0, _jestMatchers2.default)(wrapper.state().showClearAutoSearch).toBe(true); (0, _jestMatchers2.default)(wrapper.state().showAutoSearch).toBe(false); }); });