Тестирование callback-ов с помощью Jest
Не очень понимаю тестирование callback (не хуков!) в функциональных компонентах реакта. Использую Jest. В проекте часто встречается ситуация, когда в функциональном компоненте создается функция, которая как пропс прокидывается в другой компонент. Что делать, если в этой созданной функции меняется стейт? Получается компонент асинхронно обновляется и новое состояние невозможно получить из теста? Т.е., есть компонент:
const BackBtn = ({
setSomeValueAction
}) => {
const [isActive, setActive] = useState(false);
const applyButtonHandler = () => {
setSomeValueAction(0) // выполнение этого параметра нужно проверить
setActive(false); //меняет состояние
};
return (
<div className='back-btn'>
<div className='modeless-dialog'>
<Dialog
isActive={isActive}
onApply={applyButtonHandler} //callback
message='Example'
/>
</div>
</div>
);
};
const actionCreator = {
setSomeValueAction: actions.app.openOp,
};
export default connect(null, actionCreator)(BackBtn);
В тестах я вызываю внутреннюю функцию как пропс
wrapper.find(Dialog).prop('onApply')();
Но мок, созданный для setSomeValueAction, никогда не вызывается. Есть способ это протестировать?