I have a serious problem with testing methods of my main component. My actual test after many retries still don't work and looks like this:
describe('<App />:', () => {
beforeEach(() => {
wrapper = mount(<Provider store={store}><App /></Provider>);
});
describe('Interaction:', () => {
it('should call ArrowDown()', () => {
const instance = wrapper.instance();
spy = jest.spyOn(instance, 'ArrowDown');
instance.forceUpdate();
wrapper.simulate('keyDown', {key: 'Arrow down'});
expect(spy).toHaveBeenCalled();
});
});
});
What I get from the console is:
TypeError: Cannot read property '_isMockFunction' of undefined
Other tests like snapshoting or finding other components inside of App works fine. I was searching for simillar problems but solutions I have found do not work as you can see. Please for help.
PS: Same error when I use prototype:
describe('<App />:', () => {
beforeEach(() => {
wrapper = mount(<Provider store={store}><App /></Provider>);
});
describe('Interaction:', () => {
it('should call ArrowDown()', () => {
spy = jest.spyOn(App.prototype, 'ArrowDown');
wrapper = mount(<Provider store={store}><App /></Provider>);
wrapper.simulate('keyDown', {key: 'Arrow down'});
expect(spy).toHaveBeenCalled();
});
});
});