0
Ich möchte testen, dass Versand die richtige Funktion in meiner Smart-Komponente aufruft. Ich habe es jedoch nur geschafft, den Rückgabewert dieser Funktion zu testen. Ist es möglich, die Funktion zu verspotten, auszuspionieren oder abzustechen?Spy auf exportierte Funktion in Smart-Komponente
meine Komponente:
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);
Mein Test so weit:
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);
});
});