✅ 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() {
|
void testSaveUpdatesExistingBook() {
|
||||||
repository.save(book1);
|
repository.save(book1);
|
||||||
|
|
||||||
String isbn = "1516515616216";
|
String isbn = "1234567891012";
|
||||||
LocalDate date = LocalDate.of(2026, 3, 24);
|
LocalDate date = LocalDate.of(2026, 3, 24);
|
||||||
ArrayList<String> categories = new ArrayList<>();
|
ArrayList<String> categories = new ArrayList<>();
|
||||||
categories.add("Thriller");
|
categories.add("Thriller");
|
||||||
@@ -102,7 +102,7 @@ public class BookRepositoryTest {
|
|||||||
.price(12.99)
|
.price(12.99)
|
||||||
.stock(50)
|
.stock(50)
|
||||||
.categories(categories)
|
.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")
|
.language("Français")
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ public class BookRepositoryTest {
|
|||||||
assertEquals(12.99, savedBook.getPrice());
|
assertEquals(12.99, savedBook.getPrice());
|
||||||
assertEquals(50, savedBook.getStock());
|
assertEquals(50, savedBook.getStock());
|
||||||
assertEquals(categories, savedBook.getCategories());
|
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());
|
assertEquals("Français", savedBook.getLanguage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user