UNPKG

@kiwicom/smart-faq

Version:

63 lines (58 loc) 1.6 kB
// @flow import * as React from 'react'; import { MemoryRouter } from 'react-router'; import LogContext from '@kiwicom/nitro/lib/services/log/context'; import { mount } from 'enzyme'; import SearchBar from '../SearchBar'; import { SearchState } from '../../../SmartFAQ/context/SearchState'; const searchContext = { searchText: 'Hola hola', queriesBeforeClick: 5, isVisible: true, toggleSearch: jest.fn(), enableSearch: jest.fn(), disableSearch: jest.fn(), resetQueriesCount: jest.fn(), incrementQueriesCount: jest.fn(), changeSearchText: jest.fn(), clearSearch: jest.fn(), }; describe('SearchTracking', () => { it('input query should track query', done => { const log = jest.fn(); const result = mount( <MemoryRouter> <SearchState.Provider value={searchContext}> <LogContext.Provider value={{ log }}> <SearchBar /> </LogContext.Provider> </SearchState.Provider> </MemoryRouter>, ); result .find('input[data-test="SearchBarInput"]') .first() .simulate('change', { target: { value: 'queeery' } }); setTimeout(() => { const calls = log.mock.calls; expect(calls).toHaveLength(1); expect(calls[0]).toEqual([ { category: 'SmartFAQ', subCategory: 'FAQs', action: 'search', destinations: { bigQuery: true, exponea: true, ga: false, logmole: false, }, }, { searchedText: 'queeery', }, ]); done(); }, 400); }); });