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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat