UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

71 lines (57 loc) 2.32 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _enzyme = require('enzyme'); var _expect = require('expect'); var _expect2 = _interopRequireDefault(_expect); var _fuse = require('fuse.js'); var _fuse2 = _interopRequireDefault(_fuse); var _sinon = require('sinon'); var _sinon2 = _interopRequireDefault(_sinon); var _search_bar = require('components/search_bar'); var _search_bar2 = _interopRequireDefault(_search_bar); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('SearchBar', function () { it('should render', function () { var on_query_change = _sinon2.default.spy(); var element = (0, _enzyme.mount)(_react2.default.createElement(_search_bar2.default, { make_fuse: function make_fuse() { return new _fuse2.default([], { keys: ["name"], id: "id", threshold: 0.2 }); }, on_query_change: on_query_change, default_results: [1] })); (0, _expect2.default)(element.html()).toExist(); (0, _expect2.default)(on_query_change.callCount).toEqual(1); element.instance().set_query("blob"); (0, _expect2.default)(on_query_change.callCount).toEqual(2); element.instance().set_query("blob"); (0, _expect2.default)(on_query_change.callCount).toEqual(2); element.setProps({ items: [{ id: 1, name: '' }] }); (0, _expect2.default)(on_query_change.callCount).toEqual(2); element.setProps({ items: [{ id: 1, name: 'blob' }] }); (0, _expect2.default)(on_query_change.callCount).toEqual(3); element.instance().set_query(""); (0, _expect2.default)(on_query_change.callCount).toEqual(4); }); it('should set default results at initialisation', function () { var on_query_change = _sinon2.default.spy(); var default_results = [1]; var element = (0, _enzyme.mount)(_react2.default.createElement(_search_bar2.default, { make_fuse: function make_fuse() { return new _fuse2.default([], { keys: ["name"], id: "id", threshold: 0.2 }); }, on_query_change: on_query_change, default_results: default_results })); (0, _expect2.default)(on_query_change.calledWith("", default_results)).toBeTruthy(); }); });