@kiwicom/smart-faq
Version:
55 lines (49 loc) • 1.33 kB
JavaScript
// @flow
import * as React from 'react';
import { MemoryRouter } from 'react-router';
import { mount } from 'enzyme';
import SearchBar from '../SearchBar';
import { SearchState } from '../../../SmartFAQ/context/SearchState';
import { track } from '../../cuckoo/tracker';
jest.mock('../../cuckoo/tracker', () => ({
track: jest.fn(),
}));
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(),
};
describe('SearchTracking', () => {
it('input query should track query', done => {
const result = mount(
<MemoryRouter>
<SearchState.Provider value={searchContext}>
<SearchBar />
</SearchState.Provider>
</MemoryRouter>,
);
result
.find('input[data-test="SearchBarInput"]')
.first()
.simulate('change', { target: { value: 'queeery' } });
setTimeout(() => {
// $FlowExpectedError: Expected
const calls = track.mock.calls;
expect(calls).toHaveLength(1);
expect(calls[0]).toEqual([
'FAQs',
'search',
{
searchedText: 'queeery',
},
]);
done();
}, 400);
});
});