Tengo un componente, digamos <MyComponent> . Tengo un <button>Click me</button> en el componente que tiene un detector de eventos al hacer clic agregado en useEffect
useEffect(() => { const btn = document.getElementById('button'); if (btn) { btn.addEventListener('click', onButtonClicked, false); } return function cleanupListener() { if (btn) btn.removeEventListener('click', onButtonClicked); }; }, []);Necesito simular hacer clic en ese botón en el caso de prueba usando broma + enzima. Pasé por una de las respuestas que tenía una solución como esta, pero no funcionó.
beforeEach(() => { const map = {}; const namedByRefComponent = Wrapper.find("button"); const namedByRefDomNode = namedByRefComponent.getDOMNode(); const namedByRefDomNode = ReactDOM.findDOMNode(namedByRefComponent); namedByRefDomNode.addEventListener = jest .fn() .mockImplementation((event, cb) => { map[event] = cb; }); });¿Puede alguien ayudarme con una nueva solución o completar la solución anterior porque no puedo resolverlo?
Gracias por adelantado