Я хочу протестировать событие onclick в IconButton и вызвать соответствующую функцию. Я добавил тестовый пример, но так как состояние задано в этой функции (setOpen), я получаю сообщение об ошибке «setOpen не определен». Может ли кто-нибудь помочь мне в написании теста для этого? Я использую Jest and Enzyme
const CardData = ({ customerData, user, setOpen, cardType, templates, customerId, handleBlur }) => {
const [, setOpenUpdateCustomer] = React.useState(false);
function handleClickOpenUpdateCustomerDialog() {
setOpenUpdateCustomer(true);
setOpen(true);
}
return (
<Grid item xs={3} className="text-right">
<IconButton
aria-label="edit"
className="edit"
onClick={handleClickOpenUpdateCustomerDialog}
disabled={user.type === 'super_admin' || user.includeComerchant}
>
<EditIcon fontSize="small" />
</IconButton>
</Grid>
);
};
export default CardData;
Контрольный пример:
const handleClickOpenUpdateCustomerDialog = jest.fn();
const wrapper = shallow(<CardData user="df" cardType= 'customerDetails' handleClickOpenUpdateCustomerDialog={handleClickOpenUpdateCustomerDialog}/>);
wrapper.find('.edit').at(0).simulate('click');
expect(handleClickOpenUpdateCustomerDialog).toHaveBeenCalled();