suite de l'impementation

This commit is contained in:
2026-06-14 19:50:28 +02:00
committed by Marvin AUBERT
parent a828b0db95
commit c582b54a42
3 changed files with 56 additions and 7 deletions
@@ -41,4 +41,15 @@ public final class CommandeConverter {
.build(); .build();
} }
public static CommandeDTO toDTO(Commande commande) {
return CommandeDTO.builder()
.lignesCommande(commande.getLignesCommande())
.rue(commande.getRue())
.ville(commande.getVille())
.codePostal(commande.getCodePostal())
.pays(commande.getPays())
.modePaiement(commande.getModePaiement())
.build();
}
} }
@@ -0,0 +1,41 @@
package fr.iut_fbleau.but3.dev62.mylibrary.commande.usecase;
import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDTO;
import fr.iut_fbleau.but3.dev62.mylibrary.book.converter.BookConverter;
import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.AdresseInfo;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.CommandeDTO;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.CommandeInfo;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.converter.CommandeConverter;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.entity.Commande;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.repository.CommandeRepository;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.validator.CommandeValidator;
import java.util.Optional;
import java.util.UUID;
public class CommandeUseCase {
private final CommandeRepository commandeRepository;
public CommandeUseCase(CommandeRepository commandeRepository) {
this.commandeRepository = commandeRepository;
}
public UUID registerCommande(CommandeInfo validCommandeInfo, AdresseInfo validAdresseInfo){
CommandeValidator.validate(validCommandeInfo);
CommandeValidator.validate(validAdresseInfo);
Commande commandeToRegister = CommandeConverter.toDomain(validCommandeInfo,validAdresseInfo);
Commande commandeToRegistered = commandeRepository.save(commandeToRegister) ;
return commandeToRegistered.getCommandeId();
}
public Optional<CommandeDTO> findCommandByUUID(UUID uuid) {
Optional<Commande> optionalCommande = commandeRepository.findById(uuid);
return optionalCommande.map(CommandeConverter::toDTO);
}
}
@@ -2,10 +2,7 @@ package fr.iut_fbleau.but3.dev62.mylibrary.commande.usecase;
import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDTO; import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDTO;
import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book; import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.AdresseInfo; import fr.iut_fbleau.but3.dev62.mylibrary.commande.*;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.CommandeInfo;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.LigneCommandeInfo;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.ModePaiement;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.entity.Commande; import fr.iut_fbleau.but3.dev62.mylibrary.commande.entity.Commande;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.exception.NotValidCommandeException; import fr.iut_fbleau.but3.dev62.mylibrary.commande.exception.NotValidCommandeException;
import fr.iut_fbleau.but3.dev62.mylibrary.commande.repository.CommandeRepository; import fr.iut_fbleau.but3.dev62.mylibrary.commande.repository.CommandeRepository;
@@ -117,10 +114,10 @@ public class TestCommandeUseCase {
void testFindCommandByUUID() { void testFindCommandByUUID() {
when(commandeRepository.findById(testCommande.getCommandeId())).thenReturn(Optional.of(testCommande)); when(commandeRepository.findById(testCommande.getCommandeId())).thenReturn(Optional.of(testCommande));
Optional<BookDTO> foundCommande = commandeUseCase.findCommandByUUID(testCommande.getCommandeId()); Optional<CommandeDTO> foundCommande = commandeUseCase.findCommandByUUID(testCommande.getCommandeId());
assertTrue(foundCommande.isPresent()); assertTrue(foundCommande.isPresent());
assertEquals(testCommande.getCommandeId(), foundCommande.get().getIsbn()); assertEquals(testCommande.getCommandeId(), foundCommande.get().getCommandeId());
verify(commandeRepository, times(1)).findById(testCommande.getCommandeId()); verify(commandeRepository, times(1)).findById(testCommande.getCommandeId());
} }
@@ -131,7 +128,7 @@ public class TestCommandeUseCase {
UUID uuid = UUID.randomUUID(); UUID uuid = UUID.randomUUID();
when(commandeRepository.findById(uuid)).thenReturn(Optional.empty()); when(commandeRepository.findById(uuid)).thenReturn(Optional.empty());
Optional<BookDTO> foundCommande = commandeUseCase.findCommandByUUID(uuid); Optional<CommandeDTO> foundCommande = commandeUseCase.findCommandByUUID(uuid);
assertTrue(foundCommande.isEmpty()); assertTrue(foundCommande.isEmpty());
verify(commandeRepository, times(1)).findById(uuid); verify(commandeRepository, times(1)).findById(uuid);