tengo un componente simple
const Summary = () => { const [isFocused, setIsFocused] = useState(false); const onFocus = React.useCallback(() => { setEnableReplyShortcut(true); }, []); const onBlur = React.useCallback(() => setEnableReplyShortcut(false), []); return ( <WrapperComponent> <ComponentToFocus onFocus={onFocus} onBlur={onBlur} > <Sum isFocused={isFocused}/> </ComponentToFocus> </WrapperComponent.Provider> ) }Y tengo prueba de broma
import { shallow } from "enzyme"; test("sets isFocused correctly", () => { const wrapper = shallow(<WrapperComponent/> wrapper.find(ComponentToFocus).simulate("focus"); expect(wrapper.find(Sum).prop("isFocused")).toBe(true); wrapper.find(ComponentToFocus).simulate("blur"); expect(wrapper.find(Sum).prop("isFocused")).toBe(false); }); ¿Por qué esta prueba no funciona? Intenté wrapper.update() o envolví el foco y actualicé para actuar(() => ...) pero no ayudó y la prueba finaliza antes de que el estado isFocused se actualice en el componente Sum