API con NestJS y TDD: Parte 3

Guía de TDD con NestJS para eliminar una propiedad: pruebas de servicio y controlador, mocks actualizados y endpoint DELETE; consulta los repos en GitHub.

17 ago 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Hola Coders Bienvenidos a la tercera parte del proyecto Create API with NestJS using TDD approach part 3 Continuamos con la implementación usando la metodología TDD y traduciendo todo al español para facilitar el aprendizaje

Recordatorio de los conceptos clave del enfoque TDD

1 Escribir una prueba que falle Paso inicial del ciclo TDD consiste en crear una prueba para la funcionalidad pequeña que se desea implementar

2 Escribir el código mínimo para pasar la prueba Implementar la lógica necesaria justo para que la prueba deje de fallar

3 Refactorizar Mejorar la estructura y legibilidad del código manteniendo todas las pruebas en verde

Este ciclo conocido como Red Green Refactor garantiza que siempre exista una versión funcional del código y que las partes críticas del proyecto estén cubiertas por pruebas

En esta entrega añadimos la funcionalidad de eliminar una propiedad y escribimos las pruebas correspondientes en el archivo src/properties/test/properties.service.spec.ts Para la prueba del servicio se crean casos que validan que se elimina una propiedad y que se lanza una excepción si la propiedad no existe

Siguiendo TDD ejecutamos las pruebas con npm run test y observamos los fallos porque falta la implementación remove en el servicio La solución consiste en añadir la lógica en src/properties/properties.service.ts para buscar la propiedad por id validar su existencia y luego eliminarla retornando el objeto eliminado

Tras implementar remove volvemos a ejecutar npm run test y detectamos que en las pruebas unitarias falta el mock de remove en el mockRepository Por eso actualizamos beforeEach para que el mock del repositorio incluya find findOne create save y remove con implementaciones que devuelven valores resueltos apropiados

Con ese mock completo ejecutamos npm run test y las pruebas de servicio pasan Ahora toca añadir las pruebas del controlador en src/properties/test/properties.controller.spec.ts donde se simula la llamada al servicio remove y se valida que el controlador delega correctamente y devuelve la propiedad eliminada

Igual que en el servicio añadimos en el mock del controlador una función remove que devuelve una promesa resuelta con un objeto que contiene el id para que la prueba del controlador pueda ejecutarse

Antes de ejecutar npm run test comprobamos que falta la ruta y el handler en el controlador por lo que añadimos en src/properties/properties.controller.ts un endpoint DELETE que reciba el id como parámetro y llame a propertiesService.remove con ese id

Al ejecutar npm run test de nuevo todas las pruebas pasan y el flujo completo de eliminar una propiedad queda cubierto en servicio y controlador

Como siguiente paso pendiente puedes integrar Swagger para documentar la API y visualizar endpoints como listado obtener crear actualizar y eliminar propiedades Esta tarea te permitirá exponer la documentación y probar la API desde una interfaz amigable

Recursos finales y repositorios del proyecto Puedes revisar la versión final de la rama final part removeRest en GitHub https github.com joeaspiazudeveloper nestjs-houselocation-tdd tree final-part-removeRest y el proyecto completo con CRUD y Swagger en https github.com joeaspiazudeveloper properties-api-nestjs

Sobre Q2BSTUDIO Somos Q2BSTUDIO empresa de desarrollo de software especializada en aplicaciones a medida y software a medida Ofrecemos soluciones personalizadas para empresas incluyendo inteligencia artificial ia para empresas agentes ia servicios de ciberseguridad y servicios cloud aws y azure Además brindamos servicios inteligencia de negocio e implementaciones con power bi para transformar datos en decisiones estratégicas Nuestra experiencia en aplicaciones a medida y software a medida combina buenas prácticas de desarrollo y enfoque TDD para obtener productos siempre listos para producción

Palabras clave para mejorar posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes ia power bi

Espero que este tutorial te haya resultado útil Si te gustó comparte y da like para apoyar el contenido Pronto compartiré en GitHub la tercera parte con cada paso detallado y la versión final del proyecto Fue un placer realizar este tutorial El enfoque TDD aporta muchos beneficios para mantener la calidad y la estabilidad del software Nos vemos Coders

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat