From ea6df1506d171202b1cefcc3f36a70c32dca363a Mon Sep 17 00:00:00 2001 From: SoliDeoHoneretGloria Date: Mon, 3 Jul 2023 20:12:24 +0200 Subject: [PATCH] =?UTF-8?q?test:=20=ED=8F=AC=EC=8A=A4=ED=8A=B8=EC=99=80=20?= =?UTF-8?q?=ED=95=98=ED=8A=B8=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../savegame/service/PostService.java | 2 +- .../savegame/service/HeartsServiceTest.java | 222 ++++++---- .../savegame/service/PostServiceTest.java | 402 +++++++++++++----- 3 files changed, 423 insertions(+), 203 deletions(-) diff --git a/src/main/java/com/zerototen/savegame/service/PostService.java b/src/main/java/com/zerototen/savegame/service/PostService.java index f73af7b..04c0b22 100644 --- a/src/main/java/com/zerototen/savegame/service/PostService.java +++ b/src/main/java/com/zerototen/savegame/service/PostService.java @@ -66,7 +66,7 @@ public ResponseDto create(CreatePostServiceDto serviceDto, Long challeng Challenge challenge = challengeRepository.findById(challengeId) .orElse(null); if (challenge == null) { - ResponseDto.fail("챌린지가 존재하지 않습니다."); + return ResponseDto.fail("챌린지가 존재하지 않습니다."); } log.info("Create Post"); diff --git a/src/test/java/com/zerototen/savegame/service/HeartsServiceTest.java b/src/test/java/com/zerototen/savegame/service/HeartsServiceTest.java index 4c8a793..2f1238b 100644 --- a/src/test/java/com/zerototen/savegame/service/HeartsServiceTest.java +++ b/src/test/java/com/zerototen/savegame/service/HeartsServiceTest.java @@ -16,6 +16,7 @@ import java.util.Optional; import javax.servlet.http.HttpServletRequest; import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -37,95 +38,144 @@ class HeartsServiceTest { @InjectMocks private HeartService heartsService; - @Test - @DisplayName("하트 생성_성공") - void saveHearts() { - //given - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - ResponseDto validateCheckResponse = ResponseDto.success(member); - Post post = getPost(); - willReturn(Optional.of(post)).given(postRepository).findById(any()); - willReturn(validateCheckResponse) - .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - - //when - ResponseDto responseDto = heartsService.create(request, post.getId()); - - //then - assertTrue(responseDto.isSuccess()); - assertEquals("Heart Create Success", responseDto.getData()); - - } - - @Test - @DisplayName("하트 생성 중복") - void twoTimesSaveHearts() { - //given - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - ResponseDto validateCheckResponse = ResponseDto.success(member); - - Post post = getPost(); - willReturn(Optional.of(post)).given(postRepository).findById(any()); - willReturn(validateCheckResponse) - .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - willReturn(true) - .given(heartRepository).existsByMemberAndPost(member, post); - - //when - CustomException exception = assertThrows(CustomException.class, - () -> heartsService.create(request, post.getId())); - - //then - assertEquals(ErrorCode.ALREADY_REGISTERED_HEART, exception.getErrorCode()); - } - - @Test - @DisplayName("하트 삭제") - void unHearts() { - //given - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - ResponseDto validateCheckResponse = ResponseDto.success(member); - - Post post = getPost(); - willReturn(Optional.of(post)).given(postRepository).findById(any()); - willReturn(validateCheckResponse) - .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - willReturn(true) - .given(heartRepository).existsByMemberAndPost(member, post); - - //when - ResponseDto responseDto = heartsService.delete(request, post.getId()); - - //then - assertTrue(responseDto.isSuccess()); - assertEquals("Heart Delete Success", responseDto.getData()); + @Nested + @DisplayName("성공") + class Success { + @Test + @DisplayName("하트 생성") + void saveHearts() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + //when + ResponseDto responseDto = heartsService.create(request, post.getId()); + + //then + assertTrue(responseDto.isSuccess()); + assertEquals("Heart Create Success", responseDto.getData()); + + } + + @Test + @DisplayName("하트 삭제") + void unHearts() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + willReturn(true) + .given(heartRepository).existsByMemberAndPost(member, post); + + //when + ResponseDto responseDto = heartsService.delete(request, post.getId()); + + //then + assertTrue(responseDto.isSuccess()); + assertEquals("Heart Delete Success", responseDto.getData()); + } } - @Test - @DisplayName("하트 삭제 중복") - void twoTimesUnHearts() { - //given - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - ResponseDto validateCheckResponse = ResponseDto.success(member); - - Post post = getPost(); - willReturn(Optional.of(post)).given(postRepository).findById(any()); - willReturn(validateCheckResponse) - .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - willReturn(false) - .given(heartRepository).existsByMemberAndPost(member, post); - - //when - CustomException exception = assertThrows(CustomException.class, - () -> heartsService.delete(request, post.getId())); - - //then - assertEquals(ErrorCode.NOT_FOUND_HEART, exception.getErrorCode()); + @Nested + @DisplayName("실패") + class Fail { + @Test + @DisplayName("하트 생성_포스트가 없음") + void heartNotFoundPost() { + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.empty()).given(postRepository).findById(1L); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + //when + CustomException exception = assertThrows(CustomException.class, + ()->heartsService.create(request, post.getId())); + + //then + assertEquals(ErrorCode.NOT_FOUND_POST, exception.getErrorCode()); + } + + @Test + @DisplayName("하트삭제_포스트가 없음") + void unHeartNotFoundPost() { + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.empty()).given(postRepository).findById(1L); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + //when + CustomException exception = assertThrows(CustomException.class, + ()->heartsService.delete(request, post.getId())); + + //then + assertEquals(ErrorCode.NOT_FOUND_POST, exception.getErrorCode()); + } + + @Test + @DisplayName("하트 삭제 중복") + void twoTimesUnHearts() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + willReturn(false) + .given(heartRepository).existsByMemberAndPost(member, post); + + //when + CustomException exception = assertThrows(CustomException.class, + () -> heartsService.delete(request, post.getId())); + + //then + assertEquals(ErrorCode.NOT_FOUND_HEART, exception.getErrorCode()); + } + + @Test + @DisplayName("하트 생성 중복") + void twoTimesSaveHearts() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + Post post = getPost(); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + willReturn(true) + .given(heartRepository).existsByMemberAndPost(member, post); + + //when + CustomException exception = assertThrows(CustomException.class, + () -> heartsService.create(request, post.getId())); + + //then + assertEquals(ErrorCode.ALREADY_REGISTERED_HEART, exception.getErrorCode()); + } } private Member getMember() { diff --git a/src/test/java/com/zerototen/savegame/service/PostServiceTest.java b/src/test/java/com/zerototen/savegame/service/PostServiceTest.java index 606c2c7..4d9e253 100644 --- a/src/test/java/com/zerototen/savegame/service/PostServiceTest.java +++ b/src/test/java/com/zerototen/savegame/service/PostServiceTest.java @@ -1,6 +1,9 @@ package com.zerototen.savegame.service; +import static org.assertj.core.api.BDDAssertions.then; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; @@ -8,6 +11,7 @@ import static org.mockito.BDDMockito.times; import static org.mockito.BDDMockito.willReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import com.zerototen.savegame.domain.dto.CreatePostServiceDto; @@ -18,6 +22,7 @@ import com.zerototen.savegame.domain.entity.Member; import com.zerototen.savegame.domain.entity.Post; import com.zerototen.savegame.domain.type.Category; +import com.zerototen.savegame.exception.CustomException; import com.zerototen.savegame.repository.ChallengeRepository; import com.zerototen.savegame.repository.HeartRepository; import com.zerototen.savegame.repository.MemberRepository; @@ -30,12 +35,16 @@ import java.util.Optional; import javax.servlet.http.HttpServletRequest; import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; @ExtendWith(MockitoExtension.class) class PostServiceTest { @@ -61,118 +70,279 @@ class PostServiceTest { @InjectMocks private PostService postService; + @Nested + @DisplayName("성공") + class Success { + + @Test + @DisplayName("5 페이지 이상 포스트 조회 - next True") + void postListMoreThan5Pages() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Pageable pageable = Pageable.ofSize(5); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + List posts = getPosts(13, member, challenge); + Long size = Long.valueOf(posts.size()); + + Page postPage = new PageImpl<>(posts, pageable, size); + + willReturn(postPage) + .given(postRepository).findByChallengeIdOrderByIdDesc(anyLong(), any()); + + //when + ResponseDto responseDto = postService.getPostList(request, 1L, pageable); + Page all = postRepository.findByChallengeIdOrderByIdDesc(1L, pageable); -// @Test -// @Transactional -// @DisplayName("포스트 조회") -// void postList() { -// //given -// HttpServletRequest request = mock(HttpServletRequest.class); -// Member member = getMember(); -// Challenge challenge = getChallenge(null, member.getId()); -// ResponseDto validateCheckResponse = ResponseDto.success(member); -// -// Pageable pageable = Pageable.ofSize(6); -// willReturn(validateCheckResponse) -// .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); -// willReturn(Optional.of(member)) -// .given(memberRepository).findById(anyLong()); -// -// Page postPage = new PageImpl<>(getPosts(13, member, challenge)); -// willReturn(postPage) -// .given(postRepository).findByChallengeIdOrderByIdDesc(anyLong(), any()); -// -// //when -// ResponseDto responseDto = postService.getPostList(1L, request, pageable); -// Page all = postRepository.findByChallengeIdOrderByIdDesc(1L, pageable); -// -// //then -// assertTrue(responseDto.isSuccess()); -// assertEquals(13, all.getNumberOfElements()); -// assertFalse(all.hasNext()); -// } - - @Test - @DisplayName("포스트 작성") - void create() { - //given - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - Challenge challenge = getChallenge(null, member.getId()); - Post post = getPost(); - CreatePostServiceDto serviceDto = getCreateServiceDto(); - ResponseDto validateCheckResponse = ResponseDto.success(member); - - willReturn(validateCheckResponse) + //then + assertTrue(responseDto.isSuccess()); + assertEquals(13, all.getNumberOfElements()); + assertTrue(all.hasNext()); + } + + @Test + @DisplayName("5 페이지 이하 포스트 조회 - next False") + void postListMoreLessThan5Pages() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Pageable pageable = Pageable.ofSize(5); + + willReturn(validateCheckResponse) .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - given(challengeRepository.findById(anyLong())) + + List posts = getPosts(4, member, challenge); + Long size = Long.valueOf(posts.size()); + + Page postPage = new PageImpl<>(posts, pageable, size); + + willReturn(postPage) + .given(postRepository).findByChallengeIdOrderByIdDesc(anyLong(), any()); + + //when + ResponseDto responseDto = postService.getPostList(request, 1L, pageable); + Page all = postRepository.findByChallengeIdOrderByIdDesc(1L, pageable); + + //then + assertTrue(responseDto.isSuccess()); + assertEquals(4, all.getNumberOfElements()); + assertFalse(all.hasNext()); + } + + @Test + @DisplayName("포스트 작성") + void create() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + Post post = getPost(); + CreatePostServiceDto serviceDto = getCreateServiceDto(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + given(challengeRepository.findById(anyLong())) .willReturn(Optional.of(challenge)); - given(postRepository.save(any())) - .willReturn(post); + given(postRepository.save(any())) + .willReturn(post); + + ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Post.class); + + //when + ResponseDto responseDto = postService.create(serviceDto, challenge.getId(), request); + + //then + assertTrue(responseDto.isSuccess()); + verify(postRepository).save(argumentCaptor.capture()); + Post saved = argumentCaptor.getValue(); + assertEquals(2L, saved.getMember().getId()); + assertEquals("내용", saved.getContent()); + } + + @Test + @DisplayName("포스트 수정") + void update() { + //given + UpdatePostServiceDto serviceDto = getUpdateServiceDto(); + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Post post = getPost(member, challenge); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + willReturn(Optional.of(post)).given(postRepository).findById(any()); - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Post.class); + //when + ResponseDto responseDto = postService.update(request, serviceDto); + ArgumentCaptor captor = ArgumentCaptor.forClass(Post.class); - //when - ResponseDto responseDto = postService.create(serviceDto, challenge.getId(), request); + //then + assertTrue(responseDto.isSuccess()); + verify(postRepository, times(1)).save(captor.capture()); + assertEquals("수정내용", captor.getValue().getContent()); + } - //then - assertTrue(responseDto.isSuccess()); - verify(postRepository).save(argumentCaptor.capture()); - Post saved = argumentCaptor.getValue(); - assertEquals(2L, saved.getMember().getId()); - assertEquals("내용", saved.getContent()); + @Test + @DisplayName("포스트 삭제") + void delete() { + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Post post = getPost(member, challenge); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + + willReturn(Optional.of(post)).given(postRepository).findById(1L); + + //when + ResponseDto responseDto = postService.delete(request, 1L); + + //then + assertTrue(responseDto.isSuccess()); + assertEquals("Delete Success", responseDto.getData()); + verify(postRepository).delete(post); + + } } - @Test - @DisplayName("포스트 수정") - void update() { - //given - UpdatePostServiceDto serviceDto = getUpdateServiceDto(); - HttpServletRequest request = mock(HttpServletRequest.class); - Member member = getMember(); - Challenge challenge = getChallenge(null, member.getId()); - ResponseDto validateCheckResponse = ResponseDto.success(member); - Post post = getPost(member, challenge); - - willReturn(validateCheckResponse) + @Nested + @DisplayName("실패") + class Fail { + @Test + @DisplayName("포스트 생성 시, 챌린지가 존재하지 않음") + void notFoundChallenge() { + //given + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + Post post = getPost(member, challenge); + CreatePostServiceDto serviceDto = getCreateServiceDto(); + ResponseDto validateCheckResponse = ResponseDto.success(member); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + given(challengeRepository.findById(anyLong())) + .willReturn(Optional.empty()); + + //when + ResponseDto responseDto = postService.create(serviceDto, challenge.getId(), request); + + //then + assertFalse(responseDto.isSuccess()); + assertEquals("챌린지가 존재하지 않습니다.", responseDto.getData()); + verify(postRepository, never()).save(post); + } + + @Test + @DisplayName("포스트 수정 시, 포스트가 존재하지 않음") + void notFoundPost_Update() { + UpdatePostServiceDto serviceDto = getUpdateServiceDto(); + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Post post = getPost(member, challenge); + + willReturn(validateCheckResponse) .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - willReturn(Optional.of(post)).given(postRepository).findById(any()); + willReturn(Optional.empty()).given(postRepository).findById(any()); + + //when + ResponseDto responseDto = postService.update(request, serviceDto); + + //then + assertFalse(responseDto.isSuccess()); + assertEquals("게시물을 찾을 수 없습니다", responseDto.getData()); + verify(postRepository, never()).save(post); + } + + @Test + @DisplayName("포스트 수정 시, 일치하지 않는 사용자") + void notMatchMember_Update() { + UpdatePostServiceDto serviceDto = getUpdateServiceDto(); + HttpServletRequest request = mock(HttpServletRequest.class); + Member postMember = getMember(); + Member requestMember = getMember(); + postMember.setId(3L); + Challenge challenge = getChallenge(null, postMember.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(requestMember); + Post post = getPost(postMember, challenge); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + + //when + ResponseDto responseDto = postService.update(request, serviceDto); + + //then + assertFalse(responseDto.isSuccess()); + assertEquals("해당 내역이 사용자의 내역이 아닙니다", responseDto.getData()); + verify(postRepository, never()).save(post); + } + + @Test + @DisplayName("포스트 삭제 시, 포스트가 존재하지 않음") + void notFoundPost_Delete() { + HttpServletRequest request = mock(HttpServletRequest.class); + Member member = getMember(); + Challenge challenge = getChallenge(null, member.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(member); + Post post = getPost(member, challenge); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); - //when - ResponseDto responseDto = postService.update(request, serviceDto); - ArgumentCaptor captor = ArgumentCaptor.forClass(Post.class); + willReturn(Optional.empty()).given(postRepository).findById(1L); - //then - assertTrue(responseDto.isSuccess()); - verify(postRepository, times(1)).save(captor.capture()); - assertEquals("수정내용", captor.getValue().getContent()); - } + //when + ResponseDto responseDto = postService.delete(request, 1L); -// @Test -// @DisplayName("포스트 삭제") -// void delete() { -// HttpServletRequest request = mock(HttpServletRequest.class); -// Member member = getMember(); -// Challenge challenge = getChallenge(null, member.getId()); -// ResponseDto validateCheckResponse = ResponseDto.success(member); -// Post post = getPost(member, challenge); -// -// willReturn(validateCheckResponse) -// .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); -// -// willReturn(Optional.of(post)).given(postRepository).findById(any()); -// ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Post.class); -// -// //when -// ResponseDto responseDto = postService.delete(request, 1L); -// -// //then -// assertTrue(responseDto.isSuccess()); -// assertEquals("Delete Success", responseDto.getData()); -// then(postRepository).should().findById(anyLong()); -// then(postRepository).should().delete(argumentCaptor.capture()); -// } + + //then + assertFalse(responseDto.isSuccess()); + assertEquals("게시물을 찾을 수 없습니다", responseDto.getData()); + verify(postRepository, never()).delete(post); + } + + @Test + @DisplayName("포스트 삭제 시, 일치하지 않는 사용자") + void notMatchMember_Delete() { + HttpServletRequest request = mock(HttpServletRequest.class); + Member postMember = getMember(); + Member requestMember = getMember(); + postMember.setId(3L); + Challenge challenge = getChallenge(null, postMember.getId()); + ResponseDto validateCheckResponse = ResponseDto.success(requestMember); + Post post = getPost(postMember, challenge); + + willReturn(validateCheckResponse) + .given(tokenProvider).validateCheck(any(HttpServletRequest.class)); + willReturn(Optional.of(post)).given(postRepository).findById(any()); + + //when + ResponseDto responseDto = postService.delete(request, 1L); + + //then + assertFalse(responseDto.isSuccess()); + assertEquals("해당 내역이 사용자의 내역이 아닙니다", responseDto.getData()); + verify(postRepository, never()).delete(post); + } + } private Member getMember() { return Member.builder() @@ -219,23 +389,23 @@ private Post getPost(Member member, Challenge challenge) { .build(); } -// private List getPosts(int size, Member member, Challenge challenge) { -// List posts = new ArrayList<>(); -// size = Math.max(size, 1); -// -// for (int i = size; i >= 1; i--) { -// Post post = Post.builder() -// .id((long) i) -// .challenge(challenge) -// .member(member) -// .imageList(getImages()) -// .content("내용") -// .heartCnt(0) -// .build(); -// posts.add(post); -// } -// return posts; -// } + private List getPosts(int size, Member member, Challenge challenge) { + List posts = new ArrayList<>(); + size = Math.max(size, 1); + + for (int i = size; i >= 1; i--) { + Post post = Post.builder() + .id((long) i) + .challenge(challenge) + .member(member) + .imageList(getImages()) + .content("내용") + .heartCnt(0) + .build(); + posts.add(post); + } + return posts; + } private Challenge getChallenge(Category category, Long createMemberId) { return Challenge.builder()