maestro2711 / fullstack_angular17_springboot

0 stars 0 forks source link

Tests unitaires #14

Closed maestro2711 closed 3 weeks ago

maestro2711 commented 2 months ago

Titre du ticket : Mise en place de tests unitaires pour EmployeeService

Description détaillée :

Afin de garantir la robustesse et la fiabilité du EmployeeService dans notre application, ce ticket vise à développer un ensemble complet de tests unitaires pour toutes les méthodes de ce service. Les tests doivent couvrir la création, la recherche, la mise à jour et la suppression d'employés, ainsi que la gestion des exceptions.

Objectifs de la tâche :

  1. Préparation de l'environnement de test :

Configurer les dépendances nécessaires dans le projet pour utiliser JUnit et Mockito. Annoter la classe de test EmployeeServiceTests avec @ExtendWith(MockitoExtension.class) pour activer l'intégration de Mockito avec JUnit.

  1. Écriture des cas de test :

    • [ ] testCreateEmployeeWithNoId : Tester la création d'un employé sans ID préexistant pour s'assurer que l'employé est correctement enregistré dans la base de données.

    • [ ] testCreateEmployeeWithIdThrowsException : S'assurer qu'une exception est lancée lorsqu'une tentative est faite pour créer un employé avec un ID déjà défini.

    • [ ] testGetEmployeeByIdFound et testGetEmployeeByIdNotFound : Tester la récupération d'un employé par son ID, à la fois pour les cas où l'employé existe et où il n'existe pas

    • [ ] testGetAllEmployees : Vérifier que la méthode retourne correctement la liste de tous les employés.

    • [ ] testUpdateEmployee : Tester la mise à jour des détails d'un employé existant et s'assurer que les nouvelles valeurs sont correctement enregistrées.

    • [ ] testDeleteEmployee : Confirmer que la suppression d'un employé fonctionne comme prévu et que l'employé est bien retiré de la base de données.

  2. Validation des interactions avec la base de données :

    • [ ] Utiliser verify() de Mockito pour s'assurer que les méthodes appropriées du repository sont appelées, telles que save(), findById(), et delete().
  3. Gestion des exceptions :

    • [ ] Tester la gestion des exceptions pour confirmer que les erreurs sont gérées correctement selon les spécifications de l'application.

Critères d'acceptation :