feat: changes in tests

This commit is contained in:
2025-12-04 08:16:12 +01:00
parent 27535e063c
commit 471595060a
3 changed files with 56 additions and 52 deletions

View File

@@ -25,7 +25,6 @@ import static org.junit.jupiter.api.Assertions.*;
*/
@SpringBootTest
@ActiveProfiles("test")
@Transactional
class CascadeDeleteIntegrationTest {
@Autowired
@@ -55,7 +54,7 @@ class CascadeDeleteIntegrationTest {
userA.setEmail("userA@example.com");
userA.setNom("A");
userA.setPrenom("User");
userA.setPassword(passwordEncoder.encode("password"));
userA.setMotDePasse(passwordEncoder.encode("password"));
userA = utilisateurRepository.save(userA);
// Créer User B
@@ -63,7 +62,7 @@ class CascadeDeleteIntegrationTest {
userB.setEmail("userB@example.com");
userB.setNom("B");
userB.setPrenom("User");
userB.setPassword(passwordEncoder.encode("password"));
userB.setMotDePasse(passwordEncoder.encode("password"));
userB = utilisateurRepository.save(userB);
}
@@ -90,8 +89,8 @@ class CascadeDeleteIntegrationTest {
assertEquals(2, photoRepository.findByProprietaire_Email(userB.getEmail()).size());
// When - Supprimer User A
utilisateurRepository.delete(userA);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
// Then - Les photos de User A doivent être supprimées
assertEquals(2, photoRepository.count(),
@@ -122,8 +121,8 @@ class CascadeDeleteIntegrationTest {
assertEquals(3, commentaireRepository.count());
// When - Supprimer User A
utilisateurRepository.delete(userA);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
// Then - Les commentaires de User A doivent être supprimés
assertEquals(1, commentaireRepository.count(),
@@ -153,8 +152,8 @@ class CascadeDeleteIntegrationTest {
assertEquals(2, commentaireRepository.count());
// When - Supprimer User A (et donc sa photo)
utilisateurRepository.delete(userA);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
// Then - La photo ET tous ses commentaires doivent être supprimés
assertEquals(0, photoRepository.count(),
@@ -189,8 +188,8 @@ class CascadeDeleteIntegrationTest {
assertEquals(5, commentaireRepository.count());
// When - Supprimer User A
utilisateurRepository.delete(userA);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
// Then - Vérifier les suppressions
assertEquals(1, photoRepository.count(),
@@ -205,7 +204,7 @@ class CascadeDeleteIntegrationTest {
"Seul le commentaire 'B sur B' doit rester");
Commentaire lastComment = remainingComments.get(0);
assertEquals("B sur B", lastComment.getTexte());
assertEquals("B sur B", lastComment.getContenu());
assertEquals(userB.getId(), lastComment.getAuteur().getId());
assertEquals(photoB.getId(), lastComment.getPhoto().getId());
}
@@ -217,7 +216,7 @@ class CascadeDeleteIntegrationTest {
userC.setEmail("userC@example.com");
userC.setNom("C");
userC.setPrenom("User");
userC.setPassword(passwordEncoder.encode("password"));
userC.setMotDePasse(passwordEncoder.encode("password"));
userC = utilisateurRepository.save(userC);
// Given - Chaque utilisateur a des photos et commentaires
@@ -235,8 +234,8 @@ class CascadeDeleteIntegrationTest {
assertEquals(3, commentaireRepository.count());
// When - Supprimer User A
utilisateurRepository.delete(userA);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
// Then - User B et C ne doivent pas être affectés
assertEquals(2, utilisateurRepository.count(),
@@ -261,9 +260,9 @@ class CascadeDeleteIntegrationTest {
assertEquals(2, photoRepository.count());
// When - Supprimer les deux utilisateurs
utilisateurRepository.delete(userA);
utilisateurRepository.delete(userB);
utilisateurRepository.flush();
utilisateurRepository.deleteById(userA.getId());
utilisateurRepository.deleteById(userB.getId());
// Then - Tout doit être supprimé
assertEquals(0, utilisateurRepository.count());
@@ -287,7 +286,7 @@ class CascadeDeleteIntegrationTest {
private Commentaire createCommentaire(String texte, Utilisateur auteur, Photo photo) {
Commentaire commentaire = new Commentaire();
commentaire.setTexte(texte);
commentaire.setContenu(texte);
commentaire.setAuteur(auteur);
commentaire.setPhoto(photo);
commentaire.setDateCommentaire(LocalDateTime.now());