0
Je veux tester cette répartition appelle la fonction correcte dans mon composant intelligent. Cependant, j'ai seulement réussi à tester la valeur de retour de cette fonction. Est-il possible de se moquer, d'espionner ou d'écraser la fonction?Espion sur la fonction exportée dans le composant intelligent
mon composant:
import { connect } from 'react-redux';
import { fetchDocumentsIfNeeded } from '../actions';
import SearchComponent from '../components/Search';
const mapDispatchToProps = (dispatch) => {
return {
triggerSearch: (event) => {
dispatch(fetchDocumentsIfNeeded(event.target.value));
}
};
};
export default connect(
mapDispatchToProps
)(SearchComponent);
Mon test à ce jour:
import React from 'react';
import Search from '../../src/containers/Search';
import {shallow} from 'enzyme';
import {spy} from 'sinon';
import configureMockStore from 'redux-mock-store';
const mockStore = configureMockStore();
describe('containers/Search',() => {
let wrapper, store;
beforeEach(() => {
store = mockStore({searchedText: "fun"});
store.dispatch = spy();
wrapper = shallow(<Search store={store} />);
});
it('maps triggerSearch to dispatch search action',() => {
const event = {target: {value: "test"}};
wrapper.props().triggerSearch(event);
expect(store.dispatch.calledWithMatch({text: "test", type: 'SEARCH_DOCUMENTS'})).toEqual(true);
});
});