Reputation: 59
'I am trying to test out this code using enzyme. I want to simulate a click but i get an error "Reference Error, Event is not defined". How do i get past that? Do i need to mock the function?'
const handleClick = (event : any) => {
setAnchorEl(event.target);
setOpen(true);
};
<IconButton onClick={() => handleClick(event)}>
<DeleteIcon className={classes.threeDotsIcon}/>
</IconButton>
I tried simulating the click like this but it gives me an error, event is not defined.
'''
let wrapper = mount(<Provider store={store1}><MyComponent{...mockProps} /></Provider>);
let button = wrapper.findWhere(elem => elem.name() === 'IconButton');
button.simulate('click');'''
Upvotes: 0
Views: 452
Reputation: 102287
You forgot to pass the event to handleClick
event handler, onClick={(event) => handleClick(event)}
. And you need to pass a simulated click event object like this button.simulate('click', { target: 'whatever' })
Upvotes: 1