Skip to content

Commit

Permalink
test: 리뷰 삭제 테스트 추가 (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
pdohyung committed Mar 25, 2024
1 parent 0948d3b commit 51e2854
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 4 deletions.
17 changes: 17 additions & 0 deletions src/test/java/com/jisungin/api/review/ReviewControllerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,4 +94,21 @@ void createReviewWithoutRating() throws Exception {
.andDo(print());
}

@DisplayName("리뷰를 삭제한다.")
@Test
void deleteReview() throws Exception {
//given
Long deleteReviewId = 1L;

//when //then
mockMvc.perform(
delete("/v1/reviews/{reviewId}", deleteReviewId)
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(jsonPath("$.code").value("200"))
.andExpect(jsonPath("$.status").value("OK"))
.andExpect(jsonPath("$.message").value("OK"))
.andDo(print());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void tearDown() {
@Test
void createReview() {
//given
User user = createUser();
User user = createUser("1");
userRepository.save(user);

Book book = createBook();
Expand Down Expand Up @@ -81,7 +81,7 @@ void createReview() {
@Test
void createReviewWithoutBook() {
//given
User user = createUser();
User user = createUser("1");
userRepository.save(user);

ReviewCreateServiceRequest request = ReviewCreateServiceRequest.builder()
Expand All @@ -107,13 +107,58 @@ void createReviewWithoutUser() {
.hasMessage("사용자를 찾을 수 없습니다.");
}

private static User createUser() {
@DisplayName("리뷰를 삭제한다.")
@Test
void deleteReview() {
//given
User user = createUser("1");
Book book = createBook();
Review review = createReview(user, book);
userRepository.save(user);
bookRepository.save(book);
reviewRepository.save(review);

//when
reviewService.deleteReview(review.getId(), user.getId());

//then
assertThat(reviewRepository.findAll()).isEmpty();
}

@DisplayName("다른 유저가 리뷰를 삭제한다.")
@Test
void deleteReviewWithAnotherUser() {
//given
User user1 = createUser("1");
User user2 = createUser("2");
Book book = createBook();
Review review = createReview(user1, book);
userRepository.saveAll(List.of(user1, user2));
bookRepository.save(book);
reviewRepository.save(review);

//when //then
assertThatThrownBy(() -> reviewService.deleteReview(review.getId(), user2.getId()))
.isInstanceOf(BusinessException.class)
.hasMessage("권한이 없는 사용자입니다.");
}

private static Review createReview(User user, Book book) {
return Review.builder()
.user(user)
.book(book)
.content("내용")
.rating(4.5)
.build();
}

private static User createUser(String oauthId) {
return User.builder()
.name("김도형")
.profileImage("image")
.oauthId(
OauthId.builder()
.oauthId("oauthId")
.oauthId(oauthId)
.oauthType(OauthType.KAKAO)
.build()
)
Expand Down

0 comments on commit 51e2854

Please sign in to comment.