From aa5e8978c85be99b7b87402398108346dbf88ef9 Mon Sep 17 00:00:00 2001 From: seohyeonmen Date: Wed, 21 May 2025 16:15:11 +0900 Subject: [PATCH 1/5] =?UTF-8?q?test:=20=ED=9A=8C=EC=9B=90=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/AdminMemberServiceTest.java | 57 ++++++++++++++++++- submodule | 2 +- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java index 2b52d2d0..0cb8e851 100644 --- a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java +++ b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java @@ -1,12 +1,19 @@ package org.programmers.signalbuddyfinal.domain.admin.service; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; import java.time.LocalDateTime; +import java.util.Optional; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.programmers.signalbuddyfinal.domain.admin.dto.MemberFilterRequest; +import org.programmers.signalbuddyfinal.domain.bookmark.dto.BookmarkRequest; +import org.programmers.signalbuddyfinal.domain.bookmark.entity.Bookmark; +import org.programmers.signalbuddyfinal.domain.bookmark.service.BookmarkService; import org.programmers.signalbuddyfinal.domain.member.entity.Member; import org.programmers.signalbuddyfinal.domain.member.entity.enums.MemberRole; import org.programmers.signalbuddyfinal.domain.member.entity.enums.MemberStatus; @@ -32,6 +39,9 @@ public class AdminMemberServiceTest extends ServiceTest { @Autowired SocialProviderRepository socialProviderRepository; + @Autowired + BookmarkService bookmarkService; + @BeforeEach void setUp() { createMember("user1@test.com", "user1", MemberRole.USER, MemberStatus.ACTIVITY, null); @@ -46,6 +56,37 @@ void setUp() { pageable = PageRequest.of(0, 10); } + @DisplayName("회원 전체 조회 성공 테스트") + @Test + public void successGetAllMember() { + assertThat(adminService.getAllMembers(pageable).getTotalElements()).isEqualTo(9); + } + + @DisplayName("회원 조회 성공 테스트") + @Test + public void successGetMember() { + Member member = findMemberByEmail("user1@test.com"); + assertThat(adminService.getMember(member.getMemberId()).getEmail()).isEqualTo( + "user1@test.com"); + } + + @DisplayName("회원 조회 실패 예외 발생 테스트") + @Test + public void failGetMember() { + assertThrows(BusinessException.class, () -> { + adminService.getMember(20L); + }); + } + + @DisplayName("회원별 북마크 조회 성공 테스트") + @Test + public void successGetBookmarkTest(){ + bookmarkService.createBookmark(createBookmarkRequest((long) 111.111,"우리집"),1L); + bookmarkService.createBookmark(createBookmarkRequest((long) 222.222,"남의집"),1L); + int count = adminService.getMember(1L).getBookmarkCount(); + assertThat(count).isEqualTo(2); + } + @DisplayName("기간별 조회 시작일 미지정 예외 테스트") @Test public void 기간별_조회_시작일_미지정_테스트() { @@ -64,7 +105,7 @@ void setUp() { MemberFilterRequest afterStartDateFilter = createFilter(null, null, null, LocalDateTime.of(2025, 1, 25, 0, 0, 0), - LocalDateTime.of(2024, 1, 25, 0, 0, 0), null); + LocalDateTime.of(2024, 1, 25, 0, 0, 0), null); assertThrows( BusinessException.class, @@ -105,4 +146,18 @@ private MemberFilterRequest createFilter(MemberStatus status, MemberRole role, .search(search) .build(); } + + private Member findMemberByEmail(String email) { + return memberRepository.findByEmail(email).get(); + } + + private BookmarkRequest createBookmarkRequest(Long lat, String name){ + return BookmarkRequest.builder() + .lng(123.456) + .lat(lat) + .address("서울시 어쩌구") + .name(name) + .build(); + } + } \ No newline at end of file diff --git a/submodule b/submodule index db4fbb0d..8401e930 160000 --- a/submodule +++ b/submodule @@ -1 +1 @@ -Subproject commit db4fbb0da566ef9bc0b317f932ae7d8d4851f6e0 +Subproject commit 8401e930c997d36baaef3de57daaaa745584361a From 40f6ef95d817fc15ec9e60b54dde35592c17132f Mon Sep 17 00:00:00 2001 From: seohyeonmen Date: Wed, 21 May 2025 16:16:31 +0900 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EA=B8=B0=EB=8A=A5=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/admin/controller/AdminMemberController.java | 8 -------- .../domain/admin/service/AdminMemberService.java | 5 ----- 2 files changed, 13 deletions(-) diff --git a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/controller/AdminMemberController.java b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/controller/AdminMemberController.java index dcb011ba..9214afa8 100644 --- a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/controller/AdminMemberController.java +++ b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/controller/AdminMemberController.java @@ -39,14 +39,6 @@ public ResponseEntity getMember(@PathVariable Long id return ResponseEntity.ok(member); } - @GetMapping("/withdrawal") - public ResponseEntity> getAllWithdrawMembers( - @PageableDefault(page = 0, size = 10, sort = "email") Pageable pageable) { - - Page members = adminService.getAllWithdrawalMembers(pageable); - return ResponseEntity.ok(members); - } - @GetMapping("/filter") public ResponseEntity>> getAllFilteredMembers( @PageableDefault(page = 0, size = 10, sort = "email") Pageable pageable, diff --git a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java index 6ccba961..e3ea8829 100644 --- a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java +++ b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java @@ -43,11 +43,6 @@ public AdminMemberDetailResponse getMember(Long id) { return AdminMapper.INSTANCE.toAdminMemberResponse(member, adminBookmarkResponses); } - public Page getAllWithdrawalMembers(Pageable pageable) { - - return memberRepository.findAllWithdrawMembers(pageable); - } - public PageResponse getAllMemberWithFilter(Pageable pageable, MemberFilterRequest memberFilterRequest) { From 9dea20d96a6e99d55d078dcb05dea478a9778066 Mon Sep 17 00:00:00 2001 From: seohyeonmen Date: Wed, 21 May 2025 17:08:20 +0900 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=EC=A1=B0=ED=9A=8C=EC=9D=BC=20?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=EC=A0=95=20NPE=20=EB=B0=9C=EC=83=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/AdminMemberService.java | 4 +++ .../admin/service/AdminMemberServiceTest.java | 30 ++++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java index e3ea8829..d8748128 100644 --- a/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java +++ b/src/main/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberService.java @@ -52,6 +52,10 @@ public PageResponse getAllMemberWithFilter(Pageable pageabl } private void checkFilterException(MemberFilterRequest memberFilterRequest) { + if(memberFilterRequest.getEndDate()== null && memberFilterRequest.getStartDate()==null) { + return; + } + if (memberFilterRequest.getStartDate() != null && memberFilterRequest.getEndDate() == null) { throw new BusinessException(AdminErrorCode.END_DATE_NOT_SELECTED); diff --git a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java index 0cb8e851..aacd94be 100644 --- a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java +++ b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java @@ -10,6 +10,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.programmers.signalbuddyfinal.domain.admin.dto.AdminMemberRequest; import org.programmers.signalbuddyfinal.domain.admin.dto.MemberFilterRequest; import org.programmers.signalbuddyfinal.domain.bookmark.dto.BookmarkRequest; import org.programmers.signalbuddyfinal.domain.bookmark.entity.Bookmark; @@ -80,13 +81,23 @@ public void failGetMember() { @DisplayName("회원별 북마크 조회 성공 테스트") @Test - public void successGetBookmarkTest(){ - bookmarkService.createBookmark(createBookmarkRequest((long) 111.111,"우리집"),1L); - bookmarkService.createBookmark(createBookmarkRequest((long) 222.222,"남의집"),1L); + public void successGetBookmarkTest() { + bookmarkService.createBookmark(createBookmarkRequest((long) 111.111, "우리집"), 1L); + bookmarkService.createBookmark(createBookmarkRequest((long) 222.222, "남의집"), 1L); int count = adminService.getMember(1L).getBookmarkCount(); assertThat(count).isEqualTo(2); } + @DisplayName("회원 필터링 조회 성공 테스트") + @Test + public void successGetAllMemberWithFilterTest() { + // given + MemberFilterRequest request = createFilter(null, null, null, null, + null, null); + //when + assertThat(adminService.getAllMemberWithFilter(pageable, request).getTotalElements()).isEqualTo(9); + } + @DisplayName("기간별 조회 시작일 미지정 예외 테스트") @Test public void 기간별_조회_시작일_미지정_테스트() { @@ -99,6 +110,17 @@ public void successGetBookmarkTest(){ () -> adminService.getAllMemberWithFilter(pageable, noStartDateFilter)); } + @DisplayName("기간별 조회 종료일 미지정 예외 테스트") + @Test + public void 기간별_조회_종료일_미지정_테스트(){ + MemberFilterRequest noEndDateFilter = createFilter(null, null, null, LocalDateTime.of(2025, 1, 25, 0, 0, 0), + null, null); + + assertThrows( + BusinessException.class, + () -> adminService.getAllMemberWithFilter(pageable, noEndDateFilter)); + } + @DisplayName("기간별 조회 시작일 > 종료일 예외 테스트") @Test public void 기간별_조회_시작일_종료일_비교_테스트() { @@ -151,7 +173,7 @@ private Member findMemberByEmail(String email) { return memberRepository.findByEmail(email).get(); } - private BookmarkRequest createBookmarkRequest(Long lat, String name){ + private BookmarkRequest createBookmarkRequest(Long lat, String name) { return BookmarkRequest.builder() .lng(123.456) .lat(lat) From 195807ad67fd68dc5978c4302781c4cb22aee445 Mon Sep 17 00:00:00 2001 From: seohyeonmen Date: Wed, 21 May 2025 17:30:18 +0900 Subject: [PATCH 4/5] =?UTF-8?q?test:=20=EA=B8=B0=EA=B0=84=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/AdminMemberServiceTest.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java index aacd94be..137cae2c 100644 --- a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java +++ b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java @@ -91,11 +91,10 @@ public void successGetBookmarkTest() { @DisplayName("회원 필터링 조회 성공 테스트") @Test public void successGetAllMemberWithFilterTest() { - // given MemberFilterRequest request = createFilter(null, null, null, null, null, null); - //when - assertThat(adminService.getAllMemberWithFilter(pageable, request).getTotalElements()).isEqualTo(9); + assertThat( + adminService.getAllMemberWithFilter(pageable, request).getTotalElements()).isEqualTo(9); } @DisplayName("기간별 조회 시작일 미지정 예외 테스트") @@ -112,8 +111,9 @@ public void successGetAllMemberWithFilterTest() { @DisplayName("기간별 조회 종료일 미지정 예외 테스트") @Test - public void 기간별_조회_종료일_미지정_테스트(){ - MemberFilterRequest noEndDateFilter = createFilter(null, null, null, LocalDateTime.of(2025, 1, 25, 0, 0, 0), + public void 기간별_조회_종료일_미지정_테스트() { + MemberFilterRequest noEndDateFilter = createFilter(null, null, null, + LocalDateTime.of(2025, 1, 25, 0, 0, 0), null, null); assertThrows( @@ -134,6 +134,30 @@ public void successGetAllMemberWithFilterTest() { () -> adminService.getAllMemberWithFilter(pageable, afterStartDateFilter)); } + @DisplayName("기간별 조회 성공 테스트") + @Test + public void 기간별_조회_성공_테스트() { + + MemberFilterRequest filter = createFilter(null, null, null, + LocalDateTime.of(2024, 1, 25, 0, 0, 0), + LocalDateTime.of(2025, 6, 1, 0, 0, 0), null); + + assertThat(adminService.getAllMemberWithFilter(pageable, filter) + .getTotalElements()).isEqualTo(9); + } + + @DisplayName("기간별 조회 성공 테스트") + @Test + public void 기간별_조회_미지정_성공_테스트() { + + MemberFilterRequest filter = createFilter(null, null, null, + null, null, null); + + assertThat(adminService.getAllMemberWithFilter(pageable, filter) + .getTotalElements()).isEqualTo(9); + } + + private void createMember(String email, String nickname, MemberRole role, MemberStatus status, String oAuthProvider) { Member member = Member.builder() From 5f33958715cf1d7f7050ee4de6c528f884d9a6fe Mon Sep 17 00:00:00 2001 From: seohyeonmen Date: Wed, 21 May 2025 17:39:43 +0900 Subject: [PATCH 5/5] =?UTF-8?q?test:=20=EB=8B=A8=EC=96=B8=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/admin/service/AdminMemberServiceTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java index 137cae2c..cbe8c3f7 100644 --- a/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java +++ b/src/test/java/org/programmers/signalbuddyfinal/domain/admin/service/AdminMemberServiceTest.java @@ -1,6 +1,7 @@ package org.programmers.signalbuddyfinal.domain.admin.service; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.assertThatCode; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -153,8 +154,9 @@ public void successGetAllMemberWithFilterTest() { MemberFilterRequest filter = createFilter(null, null, null, null, null, null); - assertThat(adminService.getAllMemberWithFilter(pageable, filter) - .getTotalElements()).isEqualTo(9); + assertThatCode(() -> + adminService.getAllMemberWithFilter(pageable, filter) + ).doesNotThrowAnyException(); }