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

219
Vistas
valor simulado dentro del archivo del componente

Me gustaría preguntar si tengo la variable useState en el componente que se usa como una condición que determina que el elemento dentro aparecerá o no. ¿Cómo burlarse de la variable? Para que pueda probar el elemento dentro de la condición si el valor es 'iniciar sesión'.

 const [dataHistory,seDataHistory] = useState("") const [data,setData] = useState("firstTimeLogin") const func2 = () => { getData({ item1: "0", }). then((res) => { funct(); }) } const funct = () => {setData("login")} return {data === "firstTimeLogin" && ( <div><button onClick="funct2()">next</button></div> )} {data === "login" && ( <div>flow login</div> )}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En primer lugar, debe agregar data-testid para su botón

 {data === "firstTimeLogin" && ( <div><button onClick="funct2" data-testid="next-button">next</button></div> )}

Llamó a onClick="funct2()" que es activar funct2 inmediatamente después de volver a renderizar, así que lo modifiqué a onClick="funct2" .

Tenga en cuenta que también puede usar el next contenido en el botón para el clic del evento, pero prefiero usar data-testid es más fijo que el next contenido.

En su archivo de prueba, debe getData y llamar a fireEvent.click para activar funct2()

 import { screen, fireEvent, render } from '@testing-library/react'; //'/getData' must be the actual path you're importing for `getData` usage jest.mock('/getData', () => { return { getData: () => new Promise((resolve) => { resolve('') }) // it's mocked, so you can pass any data here } }) it('should call funct', async () => { render(<YourComponent {...yourProps}/>) const nextButton = await screen.findByTestId("next-button"); //matched with `data-testid` we defined earlier fireEvent.click(nextButton); //trigger the event click on that button const flowLoginElements = await screen.findByText('flow login'); //after state changes, you should have `flow login` in your content expect(flowLoginElements).toBeTruthy(); })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede crear un botón y hacer clic en la función de llamada de botón ()

about 4 years ago · Juan Pablo Isaza Denunciar
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