Fundamentos del Testing en React
Importancia del Testing en el Desarrollo de Software
Configuración del entorno de testing en React
Introducción a los Tests:Tu primer test en React
Estrategias de Testing en React
Testing de Componentes UI: Conceptos Básicos
Table Driven Testing en React
Desarrollo Guiado por Pruebas (TDD) en React
Mocks en Testing
Testing de Flujos de Usuario en React
Testing a un Proceso de Autenticación (Parte 1)
Testing a un Proceso de Autenticación (Parte 2)
Testing de Gestión de Datos con Mocks
Testing de Componentes Condicionales con data-testid
Testing de Hooks en React
SOLID y Refactorización de Hooks
Testing de Hooks con Mocks
Testing de Hooks con Spies
Pruebas de Integración y APIs en React
Mock Service Worker (MSW)
Testing de APIs Externas con MSW (Parte 1)
Testing de APIs Externas con MSW (Parte 2)
Reflexiones sobre Testing en React
Innovación en Testing con IA
Test Coverage en React
Estrategias de Testing: Cuándo no debes hacer Testing
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Testear componentes en aplicaciones web es fundamental para garantizar su funcionamiento correcto. Cuando un componente está diseñado específicamente para administradores, es necesario realizar pruebas adicionales para confirmar que solo ellos pueden acceder a sus características.
El componente Order Summary forma parte de Platzi Orders y tiene una función especial: aparecer únicamente para los SuperAdmins. Muestra el total de órdenes, ventas y un promedio de las ventas. Para verificar esta funcionalidad, es crucial utilizar correctamente los roles de usuario durante las pruebas.
Para comenzar a testar, primero es importante asegurarse de que el componente solo se renderice cuando el rol del usuario sea SuperAdmin. Aquí te mostramos cómo hacerlo paso a paso:
Crea un nuevo caso de prueba: Define el caso de prueba para verificar que la sección se muestra para SuperAdmins.
it('debería mostrar sección para superadmins', async () => {
renderOrders({ role: 'SuperAdmin' });
});
Mock de órdenes: Utiliza un mock para simular las órdenes y verificar que el componente maneja correctamente la información.
mockGetOrders.mockResolvedValue(mockOrders);
Uso de waitFor: Emplea waitFor
para manejar la espera de aserciones asíncronas.
await waitFor(() => {
const totalOrdersElement = screen.getByText(totalOrders);
expect(totalOrdersElement).toBeInTheDocument();
});
A veces, una aplicación puede contener muchos elementos similares, complicando la tarea de encontrar el correcto. Aquí es donde getByTestId
se convierte en una herramienta valiosa.
Modificar el componente: Añade un atributo data-testid
al elemento HTML que deseas identificar de forma única.
<p data-testid="total-orders">{totalOrders}</p>
Uso de getByTestId: Emplea esta función para obtener el elemento en cuestión de manera clara y precisa.
const totalOrdersElement = screen.getByTestId('total-orders');
expect(totalOrdersElement.textContent).toBe(String(totalOrders));
Aunque el data-testid
es útil para identificar elementos, debes emplearlo con moderación. Aquí van algunos consejos para su uso:
data-testid
solo cuando otras estrategias de selección de elementos no funcionen.¡Anímate a practicar y mejorar tus habilidades en testing de componentes! Recuerda que dominar estas técnicas lleva tiempo, pero los beneficios en la calidad de tu software lo valen. Y no olvides dejar tus experiencias y resultados en la sección de comentarios, ¡eso nos ayuda a todos a crecer!
Aportes 3
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?