Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

261
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda