Estoy aprendiendo a probar aplicaciones de React, ahora mismo tengo una función que se ejecutará después de una promesa ( innerFunction ) en mi App.jsx , así:
function App() { const [isReady, setIsReady] = useState(false); const innerFunction = wrapperFunction(); useEffect(() => { thirdPartyPkg.onReady().then(() => innerFunction(isReady, setIsReady)); }, []); // ... } Así es como se ve el código en wrapperFunction.js :
export function wrapperFunction() { return function innerFunction(isReady, setIsReady) { if (isReady) { setIsReady(true); } }; } Y esta es mi App.test.jsx :
import * as Function from "./utils/wrapperFunction"; describe("testing App", () => { it("should run innerFunction once after promise", () => { const inner = jest.spyOn(Function, "wrapperFunction"); expect(inner).toBeCalledTimes(1); }); }); Supongo que necesito esperar a que se resuelva la promesa, pero estoy un poco bloqueado, ¿tienen alguna sugerencia para probar si se llama a la innerFunction ?