Refactoriser du spaghetti
Prendre un controller monolithique qui fait tout (validation, logique, SQL) et le séparer en couches testables. Écrire les tests pour chaque couche.
19 presentations in this collection.
Prendre un controller monolithique qui fait tout (validation, logique, SQL) et le séparer en couches testables. Écrire les tests pour chaque couche.
Découvrir les 5 principes SOLID et réaliser qu'on les applique déjà : responsabilité unique (S8), interfaces fines (S10), dépendance aux abstractions (S11).
Comprendre que l'InMemoryRepository créé en S10 est un outil de test. L'injecter dans les services pour tester la logique métier sans base de données.
Maîtriser Jest avec describe, it, expect. Tester des fonctions pures avec différents matchers. Organiser ses tests proprement.
Comprendre le coût des bugs, découvrir les types de tests, et poser les bases des tests unitaires : tester la logique seule, sans serveur ni base de données.
Créer un PostgresArticleStorage qui implémente la même interface Repository. Écrire un Mapper. Constater que la logique métier ne change pas. Dependency Inversion.
Configurer TypeORM avec PostgreSQL, créer des entités avec décorateurs, et comprendre pourquoi l'entité TypeORM n'est PAS l'objet métier.
Croiser des données entre tables avec JOIN, et calculer des statistiques avec GROUP BY, COUNT, SUM et AVG.
Maîtriser les requêtes SQL de base : SELECT, INSERT, UPDATE, DELETE, avec WHERE, ORDER BY et LIMIT.
Comprendre ce qu'est une base de données relationnelle, les tables, colonnes, lignes, clés primaires, clés étrangères et les types de relations.