Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

254
Vistas
How to wait for state update in jest enzyme

I have a simple component

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>
    )
}

And I have jest test

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);
});

Why this test does not work? I tried wrapper.update() or wrap the focus and update to act(() => ...) but it didn't help and the test finishes before the state isFocused is updated in the Sum component

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda