Contenido del curso
Introducción: pruebas e2e con Node.js
- 2

Exploración y Configuración de APIs con Insomnia y Postman
10:37 min - 3

Arquitectura Clean para APIs en Node.js
10:06 min - 4

Configuración y uso de Jest para pruebas end-to-end en JavaScript
08:04 min - 5

Prueba end-to-end con Supertest en Node
13:47 min - 6

Buenas prácticas en pruebas con Jest y manejo de ciclos abiertos
08:30 min
Pruebas a la API de Fake Store
- 7

Configuración de Entorno de Pruebas para Aplicaciones Node.js con Twen.js
11:25 min - 8

Generación de Reporte de Cobertura con Pruebas End to End
07:32 min - 9

Pruebas de Integridad de Datos con DTOs y Joy en APIs REST
20:16 min - 10

Pruebas End-to-End con Base de Datos en API REST
17:21 min - 11

Pruebas de Autenticación en Login con JavaScript
16:25 min - 12

Pruebas de Rutas Protegidas con API Key en Node.js
07:03 min - 13

Pruebas End-to-End con Access Token en API REST
14:16 min - 14

Pruebas Efectivas de Creación de Usuarios en POS con Bases de Datos
09:03 min
Pruebas en Entornos de Desarrollo Avanzados
- 15

Pruebas End-to-End: Gestión de Datos con Semillas Automatizadas
10:26 min - 16

Base de datos aislada para pruebas con Docker
17:56 min - 17

Creación de Sets de Datos Manuales para Pruebas End-to-End
15:49 min - 18

Sets de Datos en SQLite: Creación y Gestión Efectiva
14:58 min - 19

Uso de Unsook para Migraciones Programáticas en Pruebas
10:53 min - 20

Pruebas de endpoints protegidos por rol
10:28 min - 21

Pruebas End-to-End para API de Productos sin Autenticación
06:01 min - 22

Pruebas de Paginación en Endpoints de Productos con Limit y Offset
04:38 min
Mocking y automatización
Próximos pasos
Configuración del proyecto para pruebas E2E
Resumen
Las pruebas end-to-end en Node.js son las que más valor aportan cuando construyes APIs en producción, porque validan que controladores, servicios y bases de datos funcionen como un todo. Aquí aprenderás a preparar el proyecto base en Express, configurar variables de entorno y dejar todo listo para sumar la capa de testing punto a punto.
¿Qué lugar ocupan las pruebas end-to-end en la pirámide del testing?
La pirámide del testing organiza los tipos de pruebas según su alcance y costo. En la base están los unit tests, luego los integration tests, después los end-to-end tests y, finalmente, los UI tests.
Las pruebas end-to-end validan el flujo completo de tu aplicación. Cuando trabajas con una API que integra controladores, servicios y conexión a base de datos, este tipo de pruebas confirma que toda la cadena cumpla con sus funcionalidades.
¿Por qué las pruebas end-to-end generan más valor en una API? Porque verifican el sistema completo en condiciones reales, asegurando que la integración entre capas funcione antes de llegar a producción.
Para seguir el curso necesitas vocabulario previo de testing en JavaScript, así que conviene haber pasado por el curso de introducción al testing antes de avanzar.
¿Cómo clonar y preparar el proyecto base de la API en Node.js?
El proyecto que vas a usar viene de la saga de cursos de Node y ya incluye autenticación, conexión a base de datos en Postgres y envío de correos con Nodemailer. Tu trabajo será sumarle la capa de pruebas end-to-end.
Estos son los pasos para dejar el entorno listo:
- Ubícate en la carpeta donde guardas tus proyectos.
- Ejecuta
git clonecon la URL del repositorio de GitHub. - Entra a la carpeta
curso-node-js-end-to-end-api. - Corre
npm ipara instalar las dependencias. - Abre el proyecto en Visual Studio Code o tu editor preferido.
Una vez instaladas las dependencias, queda configurar las variables de entorno antes de levantar el servidor.
¿Cómo configurar el archivo .env para correr la API?
En la raíz del proyecto vas a encontrar un archivo env.example. Ese archivo es la plantilla de las variables de ambiente que necesita la aplicación.
Crea un archivo .env y copia el contenido del ejemplo. Vas a ver configuraciones como:
PORT, el puerto donde corre la app (por defecto 3000).- La URL de conexión a la base de datos Postgres.
- Una API key para firmar tokens.
- Un email y password para el envío de correos con Nodemailer.
Dos campos quedan vacíos a propósito para que tú los completes. El primero es el secreto del JWT, que firma los tokens de acceso. Puedes poner cualquier valor, por ejemplo myCat123.
¿Qué es JWT y por qué necesita un secreto? JWT (JSON Web Token) es el estándar para emitir tokens de autenticación. El secreto es la llave que firma cada token y garantiza que no haya sido alterado.
El segundo campo es la conexión a Postgres. Los valores de usuario, password y nombre de la base los obtienes del archivo docker-compose, donde están definidos. Cópialos a tu .env y la conexión quedará lista.
¿Cómo verificar que la API en Express está corriendo correctamente?
Con las variables configuradas, ejecuta npm run dev en la terminal. Ese comando levanta el entorno de desarrollo y debería mostrarte un mensaje confirmando que la aplicación corre en el puerto 3000.
Para comprobarlo, abre tu navegador y entra a localhost:3000. Si ves el mensaje Hola mundo desde el server de Express, tu aplicación está funcionando. Ese pequeño Hola mundo es la señal de que controladores, configuración y servidor están sincronizados.
Si al correr npm run dev aparecen errores, casi siempre vienen de dos lugares: el secreto vacío del JWT o las credenciales mal copiadas de la base de datos. Revisa esos puntos primero antes de seguir.
Con el proyecto clonado, las dependencias instaladas y el servidor respondiendo, ya tienes la base para sumar pruebas end-to-end. ¿Qué parte del setup te dio más problemas? Cuéntalo en los comentarios para resolverlo en comunidad.