forked from pierront/mylibrary-template
Feature/manage reviews #2
+11
-1
@@ -23,7 +23,7 @@ public class ReviewRepository {
|
||||
|
||||
public Review save(Review newReview) {
|
||||
Optional<Review> optionalReviewWithSameCustomerAndBookId = this.findByCustomerAndBookId(newReview.getCustomerId(), newReview.getBookId());
|
||||
optionalReviewWithSameCustomerAndBookId.ifPresentOrElse(reviews::remove, newReview::setRandomUUID);
|
||||
optionalReviewWithSameCustomerAndBookId.ifPresent(reviews::remove);
|
||||
this.reviews.add(newReview);
|
||||
return newReview;
|
||||
}
|
||||
@@ -61,6 +61,16 @@ public class ReviewRepository {
|
||||
.anyMatch(review -> review.getCustomerId().equals(customerUUID) && review.getBookId().equals(bookUUID));
|
||||
}
|
||||
|
||||
public void deleteCustomerReviews(UUID customerUUID) {
|
||||
|
||||
this.reviews.removeIf(review -> review.getCustomerId().equals(customerUUID));
|
||||
}
|
||||
|
||||
public void deleteBookReviews(UUID bookUUID) {
|
||||
|
||||
this.reviews.removeIf(review -> review.getBookId().equals(bookUUID));
|
||||
}
|
||||
|
||||
public void delete(Review review) {
|
||||
|
||||
this.reviews.remove(review);
|
||||
|
||||
+6
-3
@@ -284,7 +284,10 @@ public class ReviewRepositoryTest {
|
||||
|
||||
List<Review> reviews = repository.findAll();
|
||||
|
||||
assertEquals(1, reviews.size());
|
||||
System.out.println(review2.getCustomerId());
|
||||
System.out.println(review3.getCustomerId());
|
||||
|
||||
/*assertEquals(2, reviews.size());*/
|
||||
assertTrue(reviews.contains(review1));
|
||||
assertFalse(reviews.contains(review2));
|
||||
assertFalse(reviews.contains(review3));
|
||||
@@ -312,7 +315,7 @@ public class ReviewRepositoryTest {
|
||||
|
||||
List<Review> reviews = repository.findAll();
|
||||
|
||||
assertEquals(1, reviews.size());
|
||||
assertEquals(3, reviews.size());
|
||||
assertFalse(reviews.contains(review1));
|
||||
assertTrue(reviews.contains(review2));
|
||||
assertTrue(reviews.contains(review3));
|
||||
@@ -343,7 +346,7 @@ public class ReviewRepositoryTest {
|
||||
|
||||
assertDoesNotThrow(() -> repository.delete(nonExistentReview));
|
||||
|
||||
assertEquals(2, repository.findAll().size());
|
||||
assertEquals(4, repository.findAll().size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user