Estoy tratando de probar el mecanografiado hasta la función que se usa en la aplicación React.
Tengo application.status prop que se pasa a la función
Si application.status está open , se debe llamar a submitFunction
Hay una condición IF que permitirá esa llamada
Quiero probar si se llama a esa función si el estado de la aplicación está abierto
it('if open-status submitApp should be called', () => { render(<Underwriting />); const submitObj = { submitApp: submitApplication( appData, ContextMock, jest.fn(), ), }; const submitSpy = jest.spyOn(submitObj, 'submitApp'); // this is function that I want to test handleUnderwriting(sdkApplication, EnrollmentContextMock, jest.fn()); expect(submitSpy).toHaveBeenCalled(); });Esta es la función de utilidad handleUnderfwrting :
export const handleUnderwriting = ( application: ObjData, enrollCtx: Ctx, send: PayloadSender<any>, ) => { // I want to mock appliction.status to has a value: OPEN // and then check does submitApplication function is called if ( application.status === 'open' || application.status === 'data_vendor_reflexive' ) { submitApplication(application, enrollCtx, () => send); } } Este es el componente de suscripción donde se llama a esta función handleUnderwriting dentro de useEffect
export const Underwriting: FC = () => { const { send } = useNavState(); const enrollCtx = useContext(EnrollmentContext)!; const client = enrollCtx.client!; const application = enrollCtx.application!; const logger = getLogger(); useEffect(() => { handleUnderwriting(application, enrollCtx, send); }, [application, application.status, client, enrollCtx, send, logger]); return ( <div className="home-wrapper"> <div className="py-6 " <TrustBox /> </div> </div> ); };