diff --git a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverter.java b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverter.java index 6761041..e3b9f97 100644 --- a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverter.java +++ b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverter.java @@ -4,6 +4,7 @@ package fr.iut_fbleau.but3.dev62.mylibrary.book.converter; import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDTO; import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDetails; import fr.iut_fbleau.but3.dev62.mylibrary.book.BookInfo; +import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book; public final class BookConverter { private BookConverter(){} @@ -22,4 +23,19 @@ public final class BookConverter { .language(bookdetails.getLanguage()) .build(); } + + public static BookDTO ToDTO(Book book){ + return BookDTO.builder() + .isbn(book.getIsbn()) + .title(book.getTitle()) + .author(book.getAuthor()) + .editor(book.getEditor()) + .date(book.getDate()) + .price(book.getPrice()) + .stock(book.getStock()) + .categories(book.getCategories()) + .description(book.getDescription()) + .language(book.getLanguage()) + .build(); + } } diff --git a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverterTest.java b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverterTest.java index db8f38a..3b3231b 100644 --- a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverterTest.java +++ b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/converter/BookConverterTest.java @@ -45,28 +45,42 @@ public class BookConverterTest { assertEquals(bookdetails.getLanguage(), result.getLanguage()); } } -/* + @Nested @DisplayName("toDTO() method tests") class ToDTOTests { - LocalDate date = LocalDate.of(2026, 3, 24); - ArrayList categories = new ArrayList<>(); - categories.add("Thriller"); - categories.add("Biographie"); - Book book = Book.builder() - .isbn("1234567891012") - .title("La vie de Maxime") - .author("Marvin Aubert") - .editor("Kioon") - .date(date) - .price() - .stock() - .categories(categories) - .Description() - .language() - .build(); - BookDTO result = BookConvert.ToDTO(book); + @Test + void ShouldConvertBookToDTO() { + LocalDate date = LocalDate.of(2026, 3, 24); + ArrayList categories = new ArrayList<>(); + categories.add("Thriller"); + categories.add("Biographie"); + Book book = Book.builder() + .isbn("1234567891012") + .title("La vie de Maxime") + .author("Marvin Aubert") + .editor("Kioon") + .date(date) + .price(12.99) + .stock(50) + .categories(categories) + .description("C'était un brave partit trop tôt") + .language("Français") + .build(); - }*/ + BookDTO result = BookConverter.ToDTO(book); + + assertEquals(book.getIsbn(), result.getIsbn()); + assertEquals(book.getTitle(), result.getTitle()); + assertEquals(book.getAuthor(), result.getAuthor()); + assertEquals(book.getEditor(), result.getEditor()); + assertEquals(book.getDate(), result.getDate()); + assertEquals(book.getPrice(), result.getPrice()); + assertEquals(book.getStock(), result.getStock()); + assertEquals(book.getCategories(), result.getCategories()); + assertEquals(book.getDescription(), result.getDescription()); + assertEquals(book.getLanguage(), result.getLanguage()); + } + } }