From 8fc037e4b13fb70b941e565c54aaa8d14c2261cb Mon Sep 17 00:00:00 2001 From: lebreton Date: Sun, 14 Jun 2026 13:26:07 +0200 Subject: [PATCH] =?UTF-8?q?Implementation=20des=20m=C3=A9thode=20de=20dele?= =?UTF-8?q?te=20ainsi=20que=20la=20modification=20des=20test=20pour=20qu'i?= =?UTF-8?q?l=20fonctionne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/ComandeRepository.java | 13 ++ .../repository/CommandeRepositoryTest.java | 166 +++++++++++------- 2 files changed, 113 insertions(+), 66 deletions(-) diff --git a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/ComandeRepository.java b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/ComandeRepository.java index 9195f08..5aea28e 100644 --- a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/ComandeRepository.java +++ b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/ComandeRepository.java @@ -15,6 +15,11 @@ public class ComandeRepository { public List findAll(){return commande;} + + public void deleteAll() { + commande.clear(); + } + public Commande save(Commande newCommande){ Optional optionalCommandeWithSameIsbn = this.findById(newCommande.getCommandeId()); optionalCommandeWithSameIsbn.ifPresent(commande::remove); @@ -33,4 +38,12 @@ public class ComandeRepository { .anyMatch(customer -> customer.getCommandeId().equals(uuid)); } + public void delete(Commande commande) { + this.commande.remove(commande); + } + + + public void deleteById(UUID uuid) { + this.commande.removeIf(commande -> commande.getClientId().equals(uuid)); + } } diff --git a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/CommandeRepositoryTest.java b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/CommandeRepositoryTest.java index f50e364..5f25fa1 100644 --- a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/CommandeRepositoryTest.java +++ b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/commande/repository/CommandeRepositoryTest.java @@ -67,7 +67,6 @@ public class CommandeRepositoryTest { .pays(pays) .modePaiement(modePayement) .build(); - commandeN2.setRandomUUID(); commandeN2.setRandomUUIDCommande(); List lignesCommande3 = new ArrayList<>(); @@ -229,79 +228,117 @@ public class CommandeRepositoryTest { @Nested @DisplayName("Delete operations") class DeleteOperations { - } - - @BeforeEach - void setUpCustomers() { - repository.save(commandeN1); - repository.save(commandeN2); - repository.save(commandeN3); - } - - @Test - @DisplayName("Delete should remove the specified customer") - void testDelete() { - repository.delete(commandeN1); - - List commande = repository.findAll(); - - assertEquals(2, commande.size()); - assertFalse(commande.contains(commandeN1)); - assertTrue(commande.contains(commandeN2)); - assertTrue(commande.contains(commandeN3)); - } - - @Test - @DisplayName("DeleteAll should remove all customers") - void testDeleteAll() { - repository.deleteAll(); - - List commande = repository.findAll(); - - assertTrue(commande.isEmpty()); - assertEquals(0, commande.size()); - } - - @Test - @DisplayName("Delete should not throw exception when customer doesn't exist") - void testDeleteNonExistentCustomer() { - - List lignesCommande = new ArrayList<>(); - LigneCommandeInfo commande1 = new LigneCommandeInfo(321); - LigneCommandeInfo commande2 = new LigneCommandeInfo(3); - lignesCommande.add(commande1); - lignesCommande.add(commande2); + @BeforeEach + void setUpCustomers() { + repository.save(commandeN1); + repository.save(commandeN2); + repository.save(commandeN3); + } - Commande nonExistentCommande =Commande.builder() - .lignesCommande(lignesCommande) - .rue("non") - .ville("non") - .codePostal("Existent") - .pays("0000") - .modePaiement(ModePaiement.PAYPAL.name()) - .build(); - nonExistentCommande.setRandomUUIDCommande(); + @Test + @DisplayName("Delete should remove the specified customer") + void testDelete() { + repository.delete(commandeN1); - assertDoesNotThrow(() -> repository.delete(nonExistentCommande)); + List commande = repository.findAll(); - assertEquals(3, repository.findAll().size()); - } + assertEquals(2, commande.size()); + assertFalse(commande.contains(commandeN1)); + assertTrue(commande.contains(commandeN2)); + assertTrue(commande.contains(commandeN3)); + } + + @Test + @DisplayName("DeleteAll should remove all customers") + void testDeleteAll() { + repository.deleteAll(); + + List commande = repository.findAll(); + + assertTrue(commande.isEmpty()); + assertEquals(0, commande.size()); + } + + @Test + @DisplayName("Delete should not throw exception when customer doesn't exist") + void testDeleteNonExistentCustomer() { + + List lignesCommande = new ArrayList<>(); + LigneCommandeInfo commande1 = new LigneCommandeInfo(321); + LigneCommandeInfo commande2 = new LigneCommandeInfo(3); + lignesCommande.add(commande1); + lignesCommande.add(commande2); - @Test - void TestDeleteAllCommandeByCustomerID(){ - repository.deleteById(commandeN1.getClientId()); + Commande nonExistentCommande = Commande.builder() + .lignesCommande(lignesCommande) + .rue("non") + .ville("non") + .codePostal("Existent") + .pays("0000") + .modePaiement(ModePaiement.PAYPAL.name()) + .build(); + nonExistentCommande.setRandomUUIDCommande(); + + assertDoesNotThrow(() -> repository.delete(nonExistentCommande)); + + assertEquals(3, repository.findAll().size()); + } - List commande = repository.findAll(); + @Test + void TestDeleteAllCommandeByCustomerID() { + System.out.println(commandeN1.getClientId()); + System.out.println(commandeN2.getClientId()); + System.out.println(commandeN3.getClientId()); + repository.deleteById(commandeN1.getClientId()); - assertEquals(1, commande.size()); - assertFalse(commande.contains(commandeN1)); - assertFalse(commande.contains(commandeN2)); - assertTrue(commande.contains(commandeN3)); + + List commande = repository.findAll(); + + assertEquals(1, commande.size()); + assertFalse(commande.contains(commandeN1)); + assertFalse(commande.contains(commandeN2)); + assertTrue(commande.contains(commandeN3)); + + + } + + + @Test + void TestDeleteAllCommandeByNonExistentCustomerID() { + + + List lignesCommande = new ArrayList<>(); + LigneCommandeInfo commande1 = new LigneCommandeInfo(321); + LigneCommandeInfo commande2 = new LigneCommandeInfo(3); + lignesCommande.add(commande1); + lignesCommande.add(commande2); + + + Commande nonExistentCommande = Commande.builder() + .lignesCommande(lignesCommande) + .rue("non") + .ville("non") + .codePostal("Existent") + .pays("0000") + .modePaiement(ModePaiement.PAYPAL.name()) + .build(); + nonExistentCommande.setRandomUUIDCommande(); + + + repository.deleteById(nonExistentCommande.getClientId()); + + + assertDoesNotThrow(() -> repository.findAll()); + + assertEquals(3, repository.findAll().size()); + + + } } @@ -309,9 +346,6 @@ public class CommandeRepositoryTest { - - - }