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

408
Vistas
Pase ref como contexto en react-testing-library con broma

Estoy probando suerte con las pruebas unitarias y aquí es donde estoy atascado. Las referencias para las entradas se guardan en un contexto global y estoy tratando de simular el contexto para poder probar los componentes correctamente.

El problema es que una vez que mis componentes llaman a la propiedad focus() de la referencia y no estoy seguro de cómo simular la referencia correctamente para que incluso mi prueba pueda usar la propiedad focus() .

Este es mi código de prueba:

 import { render as rtlRender, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; import { Provider } from "react-redux"; import store from "../redux/store"; import { GlobalContextProvider } from "../common/GlobalContext"; import { SalesContextProvider } from "../Sales/SalesContext"; import PatientAutocomplete from "../Sales/PatientAutocomplete"; const dummySalesContext = { patientRef: null, }; const dummyGlobalContext = { currentComponent: "demo", setEnableGlobalNavigation: jest.fn(), }; const render = (component) => rtlRender(<Provider store={store()}>{component}</Provider>); test("renders learn react link", () => { render( <GlobalContextProvider value={dummyGlobalContext}> <SalesContextProvider value={dummySalesContext}> <PatientAutocomplete searchTerm="Demo" patientSelected={null} close={null} /> </SalesContextProvider> </GlobalContextProvider> ); const linkElement = screen.getByText(/Add patient/i); expect(linkElement).toBeInTheDocument(); });

Este es el error que se arroja: TypeError: no se puede leer la propiedad 'foco' de undefined

 }, [searchTerm, debounceFetchPatients]); useEffect(() => { if (!showEditPatient) patientRef.current.focus({ preventScroll: true }); ^ }, [showEditPatient]);
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