UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

53 lines (50 loc) 1.58 kB
import React from 'react' import {mount} from 'enzyme' import expect from 'expect' import Fuse from 'fuse.js' import sinon from 'sinon' import SearchBar from 'components/search_bar' describe('SearchBar', () => { it('should render', () => { const on_query_change = sinon.spy() const element = mount( <SearchBar make_fuse={() => new Fuse([], { keys: ["name"], id: "id", threshold: 0.2, })} on_query_change={on_query_change} default_results={[1]} /> ) expect(element.html()).toExist() expect(on_query_change.callCount).toEqual(1) element.instance().set_query("blob") expect(on_query_change.callCount).toEqual(2) element.instance().set_query("blob") expect(on_query_change.callCount).toEqual(2) element.setProps({items: [{id: 1, name: ''}]}) expect(on_query_change.callCount).toEqual(2) element.setProps({items: [{id: 1, name: 'blob'}]}) expect(on_query_change.callCount).toEqual(3) element.instance().set_query("") expect(on_query_change.callCount).toEqual(4) }) it('should set default results at initialisation', () => { const on_query_change = sinon.spy() const default_results = [1] const element = mount( <SearchBar make_fuse={() => new Fuse([], { keys: ["name"], id: "id", threshold: 0.2, })} on_query_change={on_query_change} default_results={default_results} /> ) expect(on_query_change.calledWith("", default_results)).toBeTruthy() }) })