Juan Diego Mejia Maestre
Aquí tienes el resumen en texto plano, listo para copiar y pegar directamente en tu bloque de Notion:
🛠️ Testing de Errores 500 con MSW
Este flujo permite simular caídas de servidor sin alterar la configuración global del Mock Service Worker, ideal para probar estados de carga y errores en la UI.
🚀 Configuración del Server Override
No necesitas reiniciar el servidor. Usa server.use() para interceptar la ruta temporalmente y forzar el fallo.
💡 Tip Pro: En la versión actual de MSW, asegúrate de usar la clase capitalizada HttpResponse.
JavaScript
import { http, HttpResponse } from 'msw'; import { server } from './mocks/server'; // Forzamos el error 500 solo para este test server.use( http.get('http://example.com/orders', () => { return new HttpResponse(null, { status: 500, statusText: 'Internal Server Error', }); }) );
🧪 Implementación en el Test
Al testear hooks como useOrders, el objetivo es validar que el estado error se actualice correctamente.
JavaScript
const { result } = renderHook(() => useOrders()); // Esperamos a que el hook procese el error del server await waitFor(() => expect(result.current.error).not.toBeNull()); expect(result.current.error).toBe('Failed to fetch orders. Sorry, please try again.');
🔍 Datos Extra para tus Notas