oublie des test général pour booksalesinfo et bookdetails

This commit is contained in:
2026-04-26 16:36:21 +02:00
parent adb6a885ae
commit 182fcc0259
@@ -23,13 +23,39 @@ public class BookValidatorTest {
@Test @Test
@DisplayName("Should validate book with valid data") @DisplayName("Should validate book with valid data")
void testValidateValidCustomer() { void testValidateValidBook() {
LocalDate date = LocalDate.of(2026, 3, 24); LocalDate date = LocalDate.of(2026, 3, 24);
BookInfo validBook = new BookInfo("0000000000000","La vie de Maxime", "Marvin Aubert", "Kioon", date); BookInfo validBook = new BookInfo("0000000000000","La vie de Maxime", "Marvin Aubert", "Kioon", date);
assertDoesNotThrow(() -> BookValidator.validate(validBook)); assertDoesNotThrow(() -> BookValidator.validate(validBook));
} }
@Test
@DisplayName("Should validate book details with valid data")
void testValidateValidBookDetails() {
ArrayList<String> categories = new ArrayList<>();
categories.add("Thriller");
categories.add("Biographie");
BookDetails validBookDetails = BookDetails.builder()
.categories(categories)
.description("C'était un brave partit trop tôt")
.language("Français")
.build();
assertDoesNotThrow(() -> BookValidator.validate(validBookDetails));
}
@Test
@DisplayName("Should validate book sales informations with valid data")
void testValidateValidBookSalesInfo() {
BookSalesInfo validBookSalesInfo = BookSalesInfo.builder()
.price(15)
.stock(10)
.build();
assertDoesNotThrow(() -> BookValidator.validate(validBookSalesInfo));
}
@Nested @Nested
@DisplayName("ISBN validation tests") @DisplayName("ISBN validation tests")
class ISBNValidationTests { class ISBNValidationTests {
@@ -45,12 +71,12 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithBlankTitle) () -> BookValidator.validate(bookWithBlankTitle)
); );
assertEquals(BookValidator.ISBN_CANNOT_BE_BLANK, exception.getMessage()); assertEquals(BookValidator.ISBN_IS_NOT_VALID, exception.getMessage());
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(strings = {" ", " ", "\t", "\n"}) @ValueSource(strings = {" ", " ", "\t", "\n"})
@DisplayName("Should throw exception when title contains only whitespace") @DisplayName("Should throw exception when isbn contains only whitespace")
void testValidateWhitespaceISBN(String whitespace) { void testValidateWhitespaceISBN(String whitespace) {
LocalDate date = LocalDate.of(2026, 3, 24); LocalDate date = LocalDate.of(2026, 3, 24);
BookInfo bookWithWhitespaceTitle = new BookInfo(whitespace, "La vie de Maxime", "Marvin Aubert", "Kioon", date); BookInfo bookWithWhitespaceTitle = new BookInfo(whitespace, "La vie de Maxime", "Marvin Aubert", "Kioon", date);
@@ -60,7 +86,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithWhitespaceTitle) () -> BookValidator.validate(bookWithWhitespaceTitle)
); );
assertEquals(BookValidator.TITLE_CANNOT_BE_BLANK, exception.getMessage()); assertEquals(BookValidator.ISBN_IS_NOT_VALID, exception.getMessage());
} }
@ParameterizedTest @ParameterizedTest
@@ -75,7 +101,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithWhitespaceTitle) () -> BookValidator.validate(bookWithWhitespaceTitle)
); );
assertEquals(BookValidator.ISBN_CANNOT_CONTAIN_MORE_OR_LESS_THIRTEEN_CHARACTER, exception.getMessage()); assertEquals(BookValidator.ISBN_IS_NOT_VALID, exception.getMessage());
} }
} }
@@ -196,7 +222,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithFuturDate) () -> BookValidator.validate(bookWithFuturDate)
); );
assertEquals(BookValidator.DATE_CANNOT_BE_AFTER_TODAY, exception.getMessage()); assertEquals(BookValidator.DATE_IS_NOT_VALID, exception.getMessage());
} }
} }
@@ -218,7 +244,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithNegativePrice) () -> BookValidator.validate(bookWithNegativePrice)
); );
assertEquals(BookValidator.PRICE_CANNOT_BE_NEGATIVE_OR_EQUAL_ZERO, exception.getMessage()); assertEquals(BookValidator.PRICE_IS_NOT_VALID, exception.getMessage());
} }
} }
@@ -239,7 +265,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithNegativeStock) () -> BookValidator.validate(bookWithNegativeStock)
); );
assertEquals(BookValidator.STOCK_CANNOT_BE_NEGATIVE, exception.getMessage()); assertEquals(BookValidator.STOCK_IS_NOT_VALID, exception.getMessage());
} }
} }
@@ -264,7 +290,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithEmptyCategories) () -> BookValidator.validate(bookWithEmptyCategories)
); );
assertEquals(BookValidator.Categories_CANNOT_BE_EMPTY, exception.getMessage()); assertEquals(BookValidator.CATEGORIES_IS_NOT_VALID, exception.getMessage());
} }
@ParameterizedTest @ParameterizedTest
@@ -284,7 +310,7 @@ public class BookValidatorTest {
() -> BookValidator.validate(bookWithWhitespaceCategories) () -> BookValidator.validate(bookWithWhitespaceCategories)
); );
assertEquals(BookValidator.Categories_CANNOT_CONTAIN_BLANK, exception.getMessage()); assertEquals(BookValidator.CATEGORIES_IS_NOT_VALID, exception.getMessage());
} }
static Stream<ArrayList<String>> provideLists() { static Stream<ArrayList<String>> provideLists() {