diff --git a/src/main/java/fr/eni/demo/bll/AdresseService.java b/src/main/java/fr/eni/demo/bll/AdresseService.java index 6608301..4b5d69b 100644 --- a/src/main/java/fr/eni/demo/bll/AdresseService.java +++ b/src/main/java/fr/eni/demo/bll/AdresseService.java @@ -1,17 +1,7 @@ package fr.eni.demo.bll; import fr.eni.demo.bo.Adresse; -import fr.eni.demo.dal.AdresseRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -@Service -public class AdresseService { - - @Autowired - AdresseRepository adresseRepository; - - public void add(Adresse adresse) { - adresseRepository.save(adresse); - } +public interface AdresseService { + void add(Adresse adresse); } diff --git a/src/main/java/fr/eni/demo/bll/AdresseServiceImpl.java b/src/main/java/fr/eni/demo/bll/AdresseServiceImpl.java new file mode 100644 index 0000000..ee0b24e --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/AdresseServiceImpl.java @@ -0,0 +1,21 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.Adresse; +import fr.eni.demo.dal.AdresseRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class AdresseServiceImpl implements AdresseService{ + + private AdresseRepository adresseRepository; + + public AdresseServiceImpl(AdresseRepository adresseRepository) { + this.adresseRepository = adresseRepository; + } + + @Override + public void add(Adresse adresse) { + adresseRepository.save(adresse); + } +} diff --git a/src/main/java/fr/eni/demo/bll/ClientService.java b/src/main/java/fr/eni/demo/bll/ClientService.java index 600598e..e446d6f 100644 --- a/src/main/java/fr/eni/demo/bll/ClientService.java +++ b/src/main/java/fr/eni/demo/bll/ClientService.java @@ -1,23 +1,10 @@ package fr.eni.demo.bll; import fr.eni.demo.bo.Client; -import fr.eni.demo.dal.ClientRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import java.util.Optional; -@Service -public class ClientService { - - @Autowired - private ClientRepository clientRepository; - - public void add(Client client) { - clientRepository.save(client); - } - - public Optional findById(Long clientId) { - return clientRepository.findById(clientId); - } +public interface ClientService { + void add(Client client); + Optional findById(Long clientId); } diff --git a/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java b/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java new file mode 100644 index 0000000..f1592ac --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/ClientServiceImpl.java @@ -0,0 +1,28 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.Client; +import fr.eni.demo.dal.ClientRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +@Service +public class ClientServiceImpl implements ClientService { + + private ClientRepository clientRepository; + + public ClientServiceImpl(ClientRepository clientRepository) { + this.clientRepository = clientRepository; + } + + @Override + public void add(Client client) { + clientRepository.save(client); + } + + @Override + public Optional findById(Long clientId) { + return clientRepository.findById(clientId); + } +} diff --git a/src/main/java/fr/eni/demo/bll/EmployeService.java b/src/main/java/fr/eni/demo/bll/EmployeService.java deleted file mode 100644 index 824f362..0000000 --- a/src/main/java/fr/eni/demo/bll/EmployeService.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.eni.demo.bll; - -import fr.eni.demo.bo.Employe; -import java.util.List; - -public interface EmployeService { - void ajouter(Employe employe); - - List chargerTousEmployes(); -} diff --git a/src/main/java/fr/eni/demo/bll/EmployeServiceImpl.java b/src/main/java/fr/eni/demo/bll/EmployeServiceImpl.java deleted file mode 100644 index 6eaa086..0000000 --- a/src/main/java/fr/eni/demo/bll/EmployeServiceImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.eni.demo.bll; - -import java.util.List; -import org.springframework.stereotype.Service; -import fr.eni.demo.bo.Employe; -import fr.eni.demo.dal.EmployeRepository; -import lombok.AllArgsConstructor; - -//Permet de faire injecter la couche DAL associée -@AllArgsConstructor -@Service -public class EmployeServiceImpl implements EmployeService { - private EmployeRepository employeRepository; - - @Override - public void ajouter(Employe employe) { - // Validation des données de l'employé avant sauvegarde - if (employe == null) { - throw new RuntimeException("L'employé n'est pas renseigné"); - } - validerImmatriculation(employe); - validerChaineNonNulle(employe.getNom(), "Vous devez renseigner le nom"); - validerChaineNonNulle(employe.getPrenom(), "Vous devez renseigner le prénom"); - validerChaineNonNulle(employe.getEmail(), "Vous devez renseigner un email"); - employeRepository.create(employe); - } - - @Override - public List chargerTousEmployes() { - return employeRepository.findAll(); - } - - private void validerChaineNonNulle(String chaine, String msgErreur) { - if (chaine == null || chaine.isBlank()) - throw new RuntimeException(msgErreur); - } - private void validerImmatriculation(Employe employe) { - // Valider que l'immatriculation n'est pas nule ou vide - validerChaineNonNulle(employe.getImmatriculation(), "L'immatriculation n'a pas été renseignée"); - // Immatriculation doit être unique - Employe employeDB = employeRepository.findByImmatriculation(employe.getImmatriculation()); - if (employeDB != null) { - throw new RuntimeException("L'immatriculation doit être unique"); - } - } -} \ No newline at end of file diff --git a/src/main/java/fr/eni/demo/bll/GameTypeService.java b/src/main/java/fr/eni/demo/bll/GameTypeService.java index 551ad50..196d36e 100644 --- a/src/main/java/fr/eni/demo/bll/GameTypeService.java +++ b/src/main/java/fr/eni/demo/bll/GameTypeService.java @@ -1,17 +1,7 @@ package fr.eni.demo.bll; import fr.eni.demo.bo.GameType; -import fr.eni.demo.dal.GameTypeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -@Service -public class GameTypeService { - - @Autowired - private GameTypeRepository gameTypeRepository; - - public void add(GameType gameType) { - gameTypeRepository.save(gameType); - } +public interface GameTypeService { + void add(GameType gameType); } diff --git a/src/main/java/fr/eni/demo/bll/GameTypeServiceImpl.java b/src/main/java/fr/eni/demo/bll/GameTypeServiceImpl.java new file mode 100644 index 0000000..487c03b --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/GameTypeServiceImpl.java @@ -0,0 +1,21 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.GameType; +import fr.eni.demo.dal.GameTypeRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class GameTypeServiceImpl implements GameTypeService { + + private GameTypeRepository gameTypeRepository; + + public GameTypeServiceImpl(GameTypeRepository gameTypeRepository) { + this.gameTypeRepository = gameTypeRepository; + } + + @Override + public void add(GameType gameType) { + gameTypeRepository.save(gameType); + } +} diff --git a/src/main/java/fr/eni/demo/bll/LocationService.java b/src/main/java/fr/eni/demo/bll/LocationService.java index 4e8f9fc..ce67a0c 100644 --- a/src/main/java/fr/eni/demo/bll/LocationService.java +++ b/src/main/java/fr/eni/demo/bll/LocationService.java @@ -1,17 +1,7 @@ package fr.eni.demo.bll; import fr.eni.demo.bo.Location; -import fr.eni.demo.dal.LocationRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -@Service -public class LocationService { - - @Autowired - private LocationRepository locationRepository; - - public void add(Location location) { - locationRepository.save(location); - } +public interface LocationService { + void add(Location location); } diff --git a/src/main/java/fr/eni/demo/bll/LocationServiceImpl.java b/src/main/java/fr/eni/demo/bll/LocationServiceImpl.java new file mode 100644 index 0000000..6a569dd --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/LocationServiceImpl.java @@ -0,0 +1,20 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.Location; +import fr.eni.demo.dal.LocationRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class LocationServiceImpl implements LocationService { + private LocationRepository locationRepository; + + public LocationServiceImpl(LocationRepository locationRepository) { + this.locationRepository = locationRepository; + } + + @Override + public void add(Location location) { + locationRepository.save(location); + } +} diff --git a/src/main/java/fr/eni/demo/bll/StockService.java b/src/main/java/fr/eni/demo/bll/StockService.java index 623d80f..0286010 100644 --- a/src/main/java/fr/eni/demo/bll/StockService.java +++ b/src/main/java/fr/eni/demo/bll/StockService.java @@ -1,23 +1,11 @@ package fr.eni.demo.bll; import fr.eni.demo.bo.Stock; -import fr.eni.demo.dal.StockRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; import java.util.Optional; -@Service -public class StockService { - - @Autowired - private StockRepository stockRepository; - - public void add(Stock stock) { - stockRepository.save(stock); - } - - public Optional findById(Long gameId) { - return stockRepository.findById(gameId); - } +public interface StockService { + void add(Stock game); + Optional findById(Long gameId); } + diff --git a/src/main/java/fr/eni/demo/bll/StockServiceImpl.java b/src/main/java/fr/eni/demo/bll/StockServiceImpl.java new file mode 100644 index 0000000..318f315 --- /dev/null +++ b/src/main/java/fr/eni/demo/bll/StockServiceImpl.java @@ -0,0 +1,28 @@ +package fr.eni.demo.bll; + +import fr.eni.demo.bo.Stock; +import fr.eni.demo.dal.StockRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +@Service +public class StockServiceImpl implements StockService{ + + private StockRepository stockRepository; + + public StockServiceImpl(StockRepository stockRepository) { + this.stockRepository = stockRepository; + } + + @Override + public void add(Stock game) { + stockRepository.save(game); + } + + @Override + public Optional findById(Long gameId) { + return stockRepository.findById(gameId); + } +} diff --git a/src/main/java/fr/eni/demo/bo/Employe.java b/src/main/java/fr/eni/demo/bo/Employe.java deleted file mode 100644 index 6498ed6..0000000 --- a/src/main/java/fr/eni/demo/bo/Employe.java +++ /dev/null @@ -1,39 +0,0 @@ -package fr.eni.demo.bo; - -import jakarta.persistence.*; -import lombok.*; - -//@Data -@RequiredArgsConstructor -@Getter -@Setter -@EqualsAndHashCode(of= {"immatriculation"}) -@ToString -//@Builder - -@Entity -@Table(name="EMPLOYES") -public class Employe { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "EMPLOYEE_ID") - private Integer id; - - @Column(name= "LAST_NAME", nullable = false, length = 90) - private String nom; - - @Column(name= "FIRST_NAME", nullable = false, length = 150) - private String prenom; - - @Column(nullable = false, unique = true) - private String email; - - @Column(name= "EMPLOYE_REGISTRATION", nullable = false, unique = true, length = 100) - private String immatriculation; - - @Column(name= "HOME_PHONE_NUMBER", nullable = false, length = 12) - private String numDom; - - @Column(name= "PHONE_NUMBER", nullable = false, length = 12) - private String numPortable; -} diff --git a/src/main/java/fr/eni/demo/dal/EmployeRepository.java b/src/main/java/fr/eni/demo/dal/EmployeRepository.java deleted file mode 100644 index 0111330..0000000 --- a/src/main/java/fr/eni/demo/dal/EmployeRepository.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.eni.demo.dal; - -import java.util.List; -import fr.eni.demo.bo.Employe; - -public interface EmployeRepository { - void create(Employe employe); - - Employe read(Integer id); - - Employe findByImmatriculation(String immatriculation); - - List findAll(); - - void update(Employe employe); - - void delete(Employe employe); -} \ No newline at end of file diff --git a/src/main/java/fr/eni/demo/dal/EmployeRepositoryImpl.java b/src/main/java/fr/eni/demo/dal/EmployeRepositoryImpl.java deleted file mode 100644 index 3cac1f0..0000000 --- a/src/main/java/fr/eni/demo/dal/EmployeRepositoryImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -package fr.eni.demo.dal; - -import java.util.*; - -import fr.eni.demo.bo.Employe; -import org.springframework.stereotype.Repository; - -@Repository -public class EmployeRepositoryImpl implements EmployeRepository { - private List employes = new ArrayList<>(); - - @Override - public void create(Employe employe) { - employes.add(employe); - } - - @Override - public Employe read(Integer id) { - return employes.stream().filter(item -> item.getId() == id).findAny().orElse(null); - } - - @Override - public Employe findByImmatriculation(String immatriculation) { - return employes.stream().filter(item -> item.getImmatriculation() == immatriculation).findAny().orElse(null); - } - - @Override - public List findAll() { - return employes; - } - - @Override - public void update(Employe employe) { - Employe emp = read(employe.getId()); - if (emp != null) { - emp.setEmail(employe.getEmail()); - emp.setPrenom(employe.getPrenom()); - } - } - @Override public void delete(Employe employe) { - employes.remove(employe); - } -} \ No newline at end of file diff --git a/src/test/java/fr/eni/demo/DemoApplicationTests.java b/src/test/java/fr/eni/demo/DemoApplicationTests.java index e30bf8b..a1e52f4 100644 --- a/src/test/java/fr/eni/demo/DemoApplicationTests.java +++ b/src/test/java/fr/eni/demo/DemoApplicationTests.java @@ -17,15 +17,15 @@ import java.util.Optional; class DemoApplicationTests { @Autowired - private ClientService clientService; + private ClientServiceImpl clientServiceImpl; @Autowired - private AdresseService adresseService; + private AdresseServiceImpl adresseServiceImpl; @Autowired - private GameTypeService gameTypeService; + private GameTypeServiceImpl gameTypeService; @Autowired - private StockService stockService; + private StockServiceImpl stockServiceImpl; @Autowired - private LocationService locationService; + private LocationServiceImpl locationServiceImpl; // DEPREACTED CAUSE : Cant add Client without Location // @Test @@ -71,7 +71,7 @@ class DemoApplicationTests { //Ajout de la location au client client.setAdresse(adresse); - clientService.add(client); + clientServiceImpl.add(client); System.out.println(client); System.out.println(adresse); @@ -94,7 +94,7 @@ class DemoApplicationTests { game.setDailyPrice(25.10); game.setDescription("Jeu RPG avec de multiple fin c'est incroyable"); game.setRef("10GBRESF148KQF"); - stockService.add(game); + stockServiceImpl.add(game); System.out.println(game); } @@ -122,7 +122,7 @@ class DemoApplicationTests { // Ajout des genres de jeu au jeu game.setGameType(gameTypes); - stockService.add(game); + stockServiceImpl.add(game); System.out.println(game); } @@ -130,16 +130,16 @@ class DemoApplicationTests { @DisplayName("-- Test add location game to a client --") void testAddLocationGame() { // Find a client by his ID - Optional client = clientService.findById(1L); + Optional client = clientServiceImpl.findById(1L); // Find a Game by his ID - Optional game = stockService.findById(1L); + Optional game = stockServiceImpl.findById(1L); // Create the Location line for this client and the game Location gameLocation = new Location(); gameLocation.setStartDate(Date.valueOf(LocalDate.of(2025, 7, 8))); gameLocation.setClient(client.get()); gameLocation.setStock(game.get()); - locationService.add(gameLocation); + locationServiceImpl.add(gameLocation); System.out.println(gameLocation); } diff --git a/src/test/java/fr/eni/demo/bo/AdresseTest.java b/src/test/java/fr/eni/demo/bo/AdresseTest.java new file mode 100644 index 0000000..dee7fcd --- /dev/null +++ b/src/test/java/fr/eni/demo/bo/AdresseTest.java @@ -0,0 +1,35 @@ +package fr.eni.demo.bo; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@SpringBootTest +public class AdresseTest { + + @Test + @DisplayName("-- Test add Adresse builder : SUCCESS --") + void testAddAdresseSuccess() { + Adresse adresse = new Adresse(); + adresse.setCodePostal("75000"); + adresse.setRue("Rue de la paix"); + adresse.setVille("Paris"); + + assertNotNull(adresse); + System.out.println(adresse); + } + + @Test + @DisplayName("-- Test add Addresse builder : FAILED --") + void testAddAdresseFailed() { + Adresse adresse = new Adresse(); + adresse.setCodePostal("44000"); + adresse.setRue("Rue d'Orvault"); + + assertNull(adresse.getVille()); + System.out.println(adresse); + } +} diff --git a/src/test/java/fr/eni/demo/bo/ClientTest.java b/src/test/java/fr/eni/demo/bo/ClientTest.java new file mode 100644 index 0000000..c3ebb84 --- /dev/null +++ b/src/test/java/fr/eni/demo/bo/ClientTest.java @@ -0,0 +1,47 @@ +package fr.eni.demo.bo; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@SpringBootTest +public class ClientTest { + + @Test + @DisplayName("-- Test add Client builder with Adresse : SUCESS --") + void testAddClientSuccess() { + Client client = new Client(); + client.setEmail("olivier@test.fr"); + client.setNom("Parpaillon"); + client.setPrenom("Olivier"); + + Adresse adresse = new Adresse(); + adresse.setRue("666 Rue des Enfers"); + adresse.setCodePostal("44000"); + adresse.setVille("Nantes"); + client.setAdresse(adresse); + + assertNotNull(adresse); + assertNotNull(client); + System.out.println(client); + } + + @Test + @DisplayName("-- Test add Client builder without Adresse : FAILED --") + void testAddClientFail() { + Client client = new Client(); + client.setEmail("julien@test.fr"); + client.setNom("Chateau"); + client.setPrenom("Julien"); + + assertNotNull(client); + assertNull(client.getAdresse()); + System.out.println(client); + System.out.println(client.getAdresse()); + } + + +} diff --git a/src/test/java/fr/eni/demo/bo/GameTypeTest.java b/src/test/java/fr/eni/demo/bo/GameTypeTest.java new file mode 100644 index 0000000..af2968f --- /dev/null +++ b/src/test/java/fr/eni/demo/bo/GameTypeTest.java @@ -0,0 +1,21 @@ +package fr.eni.demo.bo; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +@SpringBootTest +public class GameTypeTest { + + @Test + @DisplayName("-- Test add GameType builder : SUCCESS --") + void testAddGameTypeSuccess() { + GameType gt = new GameType(); + gt.setName("FPS"); + + assertNotNull(gt); + System.out.println(gt); + } +} diff --git a/src/test/java/fr/eni/demo/bo/LocationTest.java b/src/test/java/fr/eni/demo/bo/LocationTest.java new file mode 100644 index 0000000..91db7ed --- /dev/null +++ b/src/test/java/fr/eni/demo/bo/LocationTest.java @@ -0,0 +1,93 @@ +package fr.eni.demo.bo; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import java.sql.Date; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@SpringBootTest +public class LocationTest { + + @Test + @DisplayName("-- Test add Location with game and client builder : SUCCESS") + void testAddLocationGameSuccess() { + Adresse adresse = new Adresse(); + adresse.setVille("Paris"); + adresse.setRue("Rue de la paix"); + adresse.setCodePostal("75000"); + + assertNotNull(adresse); + System.out.println(adresse); + + Client client = new Client(); + client.setEmail("test@test.fr"); + client.setAdresse(adresse); + client.setPrenom("test"); + client.setNom("test"); + + assertNotNull(client); + System.out.println(client); + + GameType gt = new GameType(); + gt.setName("Plateforme"); + List gtList = new ArrayList<>(); + gtList.add(gt); + assertNotNull(gt); + assertThat(gtList).hasSize(1); + System.out.println(gtList); + + Stock stock = new Stock(); + stock.setName("Super Mario Bros"); + stock.setDescription("Jeu de plateforme pas compliqué"); + stock.setDailyPrice(8.10); + stock.setGameType(gtList); + stock.setRef("654POAZJIHGOG646"); + + assertNotNull(stock); + System.out.println(stock); + + Location l = new Location(); + l.setClient(client); + l.setStock(stock); + l.setStartDate(Date.valueOf(LocalDate.of(2025, 7, 8))); + assertNotNull(l); + System.out.println(l); + } + + @Test + @DisplayName("-- Test add location with game but without client builder : FAILED --") + void testAddLocationGameFailure() { + GameType gt = new GameType(); + gt.setName("Aventure"); + List gtList = new ArrayList<>(); + gtList.add(gt); + assertNotNull(gt); + assertThat(gtList).hasSize(1); + System.out.println(gtList); + + Stock stock = new Stock(); + stock.setName("Tomb Raider"); + stock.setDescription("Jeu d'aventure et d'archéologie coolos"); + stock.setDailyPrice(18.10); + stock.setGameType(gtList); + stock.setRef("ZOIGHE45ZPIG452"); + + assertNotNull(stock); + System.out.println(stock); + + Location l = new Location(); + l.setStock(stock); + l.setStartDate(Date.valueOf(LocalDate.of(2025, 7, 8))); + assertNull(l.getClient()); + assertNotNull(l); + System.out.println(l); + } +} diff --git a/src/test/java/fr/eni/demo/bo/StockTest.java b/src/test/java/fr/eni/demo/bo/StockTest.java new file mode 100644 index 0000000..ec87db2 --- /dev/null +++ b/src/test/java/fr/eni/demo/bo/StockTest.java @@ -0,0 +1,56 @@ +package fr.eni.demo.bo; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.ArrayList; +import java.util.List; + +import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +@SpringBootTest +public class StockTest { + + @Test + @DisplayName("-- Test add Stock builder : SUCCESS --") + void testAddStockBuilder() { + GameType gt = new GameType(); + gt.setName("RPG"); + List gtList = new ArrayList<>(); + gtList.add(gt); + assertNotNull(gt); + assertThat(gtList).hasSize(1); + + Stock stock = new Stock(); + stock.setName("Baldurs Gate 3"); + stock.setDescription("Jeu RPG au possibilité infinie"); + stock.setRef("154ZOIGZ54"); + stock.setDailyPrice(15.20); + stock.setGameType(gtList); + + assertNotNull(stock); + System.out.println(stock); + System.out.println(gtList); + } + + @Test + @DisplayName("-- Test add Stock builder : FAILED --") + void testAddStockBuilderFailed() { + GameType gt = new GameType(); + gt.setName("Plateforme"); + List gtList = new ArrayList<>(); + gtList.add(gt); + assertNotNull(gt); + assertThat(gtList).hasSize(1); + + Stock stock = new Stock(); + stock.setName("Super Mario Bros"); + stock.setDescription("Jeu de plateforme pas compliqué"); + stock.setDailyPrice(8.10); + stock.setGameType(gtList); + assertNull(stock.getRef()); + } +}