cpui-components
Version:
83 lines (63 loc) • 3.5 kB
JavaScript
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);
});
});
;