Hola Coders Benvinguts a la tercera part del projecte Create API with NestJS using TDD approach part 3 Continuem amb la implementació usant la metodologia TDD i traduint-ho tot al català per facilitar l'aprenentatge
Recordatori dels conceptes clau de l'enfocament TDD
1 Escriure una prova que falli Pas inicial del cicle TDD consisteix a crear una prova per a la funcionalitat petita que es vol implementar
2 Escriure el codi mínim per passar la prova Implementar la lògica necessària justament perquè la prova deixi de fallar
3 Refactoritzar Millorar l'estructura i la llegibilitat del codi mantenint totes les proves en verd
Aquest cicle conegut com a Red Green Refactor garanteix que sempre existeixi una versió funcional del codi i que les parts crítiques del projecte estiguin cobertes per proves
En aquest lliurament afegim la funcionalitat d'eliminar una propietat i escrivim les proves corresponents al fitxer src/properties/test/properties.service.spec.ts Per a la prova del servei es creen casos que validen que s'elimina una propietat i que es llança una excepció si la propietat no existeix
Seguint TDD executem les proves amb npm run test i observem els errors perquè falta la implementació remove al servei La solució consisteix a afegir la lògica a src/properties/properties.service.ts per buscar la propietat per id validar-ne l'existència i després eliminar-la retornant l'objecte eliminat
Després d'implementar remove tornem a executar npm run test i detectem que a les proves unitàries falta el mock de remove al mockRepository Per això actualitzem beforeEach perquè el mock del repositori inclogui find findOne create save i remove amb implementacions que retornen valors resolts apropiats
Amb aquest mock complet executem npm run test i les proves del servei passen Ara toca afegir les proves del controlador a src/properties/test/properties.controller.spec.ts on es simula la crida al servei remove i es valida que el controlador delega correctament i retorna la propietat eliminada
Igual que al servei afegim al mock del controlador una funció remove que retorna una promesa resolta amb un objecte que conté l'id perquè la prova del controlador pugui executar-se
Abans d'executar npm run test comprovem que falta la ruta i el handler al controlador per això afegim a src/properties/properties.controller.ts un endpoint DELETE que rebi l'id com a paràmetre i cridi a propertiesService.remove amb aquest id
En executar npm run test de nou totes les proves passen i el flux complet d'eliminar una propietat queda cobert al servei i al controlador
Com a següent pas pendent pots integrar Swagger per documentar l'API i visualitzar endpoints com llistat obtenir crear actualitzar i eliminar propietats Aquesta tasca et permetrà exposar la documentació i provar l'API des d'una interfícia amigable
Recursos finals i repositoris del projecte Pots revisar la versió final de la branca final part removeRest a GitHub https github.com joeaspiazudeveloper nestjs-houselocation-tdd tree final-part-removeRest i el projecte complet amb CRUD i Swagger a https github.com joeaspiazudeveloper properties-api-nestjs
Sobre Q2BSTUDIO Som Q2BSTUDIO empresa de desenvolupament de programari especialitzada en aplicacions a mida i programari a mida Oferim solucions personalitzades per a empreses incloent intel·ligència artificial ia per a empreses agents ia serveis de ciberseguretat i serveis cloud aws i azure A més brindem serveis intel·ligència de negoci i implementacions amb power bi per transformar dades en decisions estratègiques La nostra experiència en aplicacions a mida i programari a mida combina bones pràctiques de desenvolupament i enfocament TDD per obtenir productes sempre llestos per a producció
Paraules clau per millorar posicionament aplicacions a mida programari a mida intel·ligència artificial ciberseguretat serveis cloud aws i azure serveis intel·ligència de negoci ia per a empreses agents ia power bi
Espero que aquest tutorial t'hagi resultat útil Si t'ha agradat comparteix i dona like per donar suport al contingut Aviat compartiré a GitHub la tercera part amb cada pas detallat i la versió final del projecte Ha estat un plaer realitzar aquest tutorial L'enfocament TDD aporta molts beneficis per mantenir la qualitat i l'estabilitat del programari Fins aviat Coders



