forked from pierront/mylibrary-template
✅ réussite des test pour une future BD
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package fr.iut_fbleau.but3.dev62.mylibrary.book.repository;
|
||||
|
||||
import fr.iut_fbleau.but3.dev62.mylibrary.book.entity.Book;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class BookRepository {
|
||||
|
||||
private final List<Book> books = new ArrayList<>();
|
||||
|
||||
public List<Book> findAll() {
|
||||
return books;
|
||||
}
|
||||
|
||||
public void deleteAll() {
|
||||
books.clear();
|
||||
}
|
||||
|
||||
public Book save(Book newBook) {
|
||||
Optional<Book> optionalBookWithSameIsbn = this.findByIsbn(newBook.getIsbn());
|
||||
optionalBookWithSameIsbn.ifPresent(books::remove);
|
||||
this.books.add(newBook);
|
||||
return newBook;
|
||||
}
|
||||
|
||||
public Optional<Book> findByIsbn(String isbn) {
|
||||
return this.books.stream()
|
||||
.filter(book -> book.getIsbn().equals(isbn))
|
||||
.findFirst();
|
||||
}
|
||||
|
||||
public boolean existsByIsbn(String isbn) {
|
||||
return this.books.stream()
|
||||
.anyMatch(book -> book.getIsbn().equals(isbn));
|
||||
}
|
||||
|
||||
public void delete(Book book) {
|
||||
|
||||
this.books.remove(book);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -87,7 +87,7 @@ public class BookRepositoryTest {
|
||||
void testSaveUpdatesExistingBook() {
|
||||
repository.save(book1);
|
||||
|
||||
String isbn = "1516515616216";
|
||||
String isbn = "1234567891012";
|
||||
LocalDate date = LocalDate.of(2026, 3, 24);
|
||||
ArrayList<String> categories = new ArrayList<>();
|
||||
categories.add("Thriller");
|
||||
@@ -102,7 +102,7 @@ public class BookRepositoryTest {
|
||||
.price(12.99)
|
||||
.stock(50)
|
||||
.categories(categories)
|
||||
.description("C'était un brave partit trop tôt")
|
||||
.description("C'était un brave partit trop tôt beaucoup trop tôt")
|
||||
.language("Français")
|
||||
.build();
|
||||
|
||||
@@ -117,7 +117,7 @@ public class BookRepositoryTest {
|
||||
assertEquals(12.99, savedBook.getPrice());
|
||||
assertEquals(50, savedBook.getStock());
|
||||
assertEquals(categories, savedBook.getCategories());
|
||||
assertEquals("C'était un brave partit trop tôt", savedBook.getDescription());
|
||||
assertEquals("C'était un brave partit trop tôt beaucoup trop tôt", savedBook.getDescription());
|
||||
assertEquals("Français", savedBook.getLanguage());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user