From aca81b68db7d99aff32134900502c013d2c91f9d Mon Sep 17 00:00:00 2001 From: felix-vi Date: Sat, 25 Apr 2026 22:54:47 +0200 Subject: [PATCH] =?UTF-8?q?:white=5Fcheck=5Fmark:=20revue=20de=20la=20stur?= =?UTF-8?q?cture=20de=20d=C3=A9coupe=20des=20variable=20est=20reussite=20d?= =?UTF-8?q?es=20test=20concern=C3=A9=20par=20ce=20changement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../but3/dev62/mylibrary/book/BookInfo.java | 2 +- .../dev62/mylibrary/book/BookSalesInfo.java | 11 ++++++++++ .../book/converter/BookConverter.java | 9 ++++---- .../book/converter/BookConverterTest.java | 22 ++++++++++++++----- .../IllegalBookStockExceptionTest.java | 1 - 5 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookSalesInfo.java diff --git a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookInfo.java b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookInfo.java index 0ecc1b8..6bdbcb2 100644 --- a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookInfo.java +++ b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookInfo.java @@ -2,5 +2,5 @@ package fr.iut_fbleau.but3.dev62.mylibrary.book; import java.time.LocalDate; -public record BookInfo(String title, String author, String editor, LocalDate date) { +public record BookInfo(String isbn, String title, String author, String editor, LocalDate date) { } diff --git a/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookSalesInfo.java b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookSalesInfo.java new file mode 100644 index 0000000..5d0b828 --- /dev/null +++ b/src/main/java/fr/iut_fbleau/but3/dev62/mylibrary/book/BookSalesInfo.java @@ -0,0 +1,11 @@ +package fr.iut_fbleau.but3.dev62.mylibrary.book; + +import lombok.Builder; +import lombok.Getter; + +@Builder +@Getter +public class BookSalesInfo { + private double price; + private Integer stock; +} 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 5bb8efc..42713a2 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,20 +4,21 @@ 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.BookSalesInfo; import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book; public final class BookConverter { private BookConverter(){} - public static Book ToDomain(BookInfo bookinfo, BookDetails bookdetails){ + public static Book ToDomain(BookInfo bookinfo, BookSalesInfo booksalesinfo, BookDetails bookdetails){ return Book.builder() - .isbn("0000000000000") + .isbn(bookinfo.isbn()) .title(bookinfo.title()) .author(bookinfo.author()) .editor(bookinfo.editor()) .date(bookinfo.date()) - .price(50.99) - .stock(5) + .price(booksalesinfo.getPrice()) + .stock(booksalesinfo.getStock()) .categories(bookdetails.getCategories()) .description(bookdetails.getDescription()) .language(bookdetails.getLanguage()) 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 cd1731a..071d520 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 @@ -3,6 +3,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.BookInfo; import fr.iut_fbleau.but3.dev62.mylibrary.book.BookDetails; +import fr.iut_fbleau.but3.dev62.mylibrary.book.BookSalesInfo; import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book; import org.junit.jupiter.api.DisplayName; @@ -24,7 +25,11 @@ public class BookConverterTest { @Test void ShouldConvertBookToDomain(){ LocalDate date = LocalDate.of(2026, 3, 24); - BookInfo bookinfo = new BookInfo("La vie de Maxime", "Marvin Aubert", "Kioon", date); + BookInfo bookinfo = new BookInfo("0000000000000","La vie de Maxime", "Marvin Aubert", "Kioon", date); + BookSalesInfo booksalesinfo = BookSalesInfo.builder() + .price(12) + .stock(10) + .build(); ArrayList categories = new ArrayList<>(); categories.add("Thriller"); categories.add("Biographie"); @@ -34,13 +39,16 @@ public class BookConverterTest { .language("Français") .build(); - Book result = BookConverter.ToDomain(bookinfo, bookdetails); + Book result = BookConverter.ToDomain(bookinfo, booksalesinfo, bookdetails); + assertEquals(bookinfo.isbn(), result.getIsbn()); assertEquals(bookinfo.title(), result.getTitle()); assertEquals(bookinfo.author(), result.getAuthor()); assertEquals(bookinfo.editor(), result.getEditor()); assertEquals(bookinfo.date(), result.getDate()); - assertEquals(categories, result.getCategories()); + assertEquals(booksalesinfo.getPrice(), result.getPrice()); + assertEquals(booksalesinfo.getStock(), result.getStock()); + assertEquals(bookdetails.getCategories(), result.getCategories()); assertEquals(bookdetails.getDescription(), result.getDescription()); assertEquals(bookdetails.getLanguage(), result.getLanguage()); } @@ -88,7 +96,11 @@ public class BookConverterTest { @DisplayName("Should preserve empty string values during conversion") void shouldPreserveEmptyStrings() { LocalDate date = LocalDate.of(2026, 3, 24); - BookInfo bookinfo = new BookInfo("La vie de Maxime", "Marvin Aubert", "Kioon", date); + BookInfo bookinfo = new BookInfo("0000000000000","La vie de Maxime", "Marvin Aubert", "Kioon", date); + BookSalesInfo booksalesinfo = BookSalesInfo.builder() + .price(12) + .stock(10) + .build(); ArrayList categories = new ArrayList<>(); categories.add("Thriller"); categories.add("Biographie"); @@ -98,7 +110,7 @@ public class BookConverterTest { .language("Français") .build(); - Book book = BookConverter.ToDomain(bookinfo, bookdetails); + Book book = BookConverter.ToDomain(bookinfo, booksalesinfo, bookdetails); BookDTO result = BookConverter.ToDTO(book); assertEquals("", result.getDescription()); diff --git a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/exception/IllegalBookStockExceptionTest.java b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/exception/IllegalBookStockExceptionTest.java index 2a8f91a..9c4b18f 100644 --- a/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/exception/IllegalBookStockExceptionTest.java +++ b/src/test/java/fr/iut_fbleau/but3/dev62/mylibrary/book/exception/IllegalBookStockExceptionTest.java @@ -1,6 +1,5 @@ package fr.iut_fbleau.but3.dev62.mylibrary.book.exception; -import fr.iut_fbleau.but3.dev62.mylibrary.customer.exception.IllegalCustomerPointException; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest;