Estoy tratando de trabajar con RTK Query, pero no puedo encontrar un buen ejemplo de cómo escribir pruebas unitarias con la biblioteca de pruebas de reacción para un componente que usa solicitudes con RTK Query. Por ejemplo, tenemos un componente que obtiene una lista de algo del servidor. ¿Cómo se simulan los datos para las solicitudes? Encontré una solución para usar mswjs para burlarse de la API para las pruebas. Pero incluso con eso, tengo un problema: necesito agregar await new Promise ((r) => setTimeout (r, 1000)); antes de comprobar que existe algo de la colección. Tal vez, ¿alguien sabe cómo probar componentes con RTK Query?
Puedes echar un vistazo a las pruebas del propio RTK Query .
Algunas cosas:
msw para simular una apistoreRef.wrapper en el ejemplo) await waitFor(() => expect(screen.getByTestId('isFetching').textContent).toBe('false') )Una alternativa que he encontrado es burlarse de los ganchos de consulta rtk. Luego puede configurar lo que quiera para el objeto de datos.
jest.mock('pathToHook', () => ({ __esModule: true, default: () => () => { data: 'whatever you want' }, }))