From 60b0ea98aee4f6c1fb8d2d8a652870b01b0ab226 Mon Sep 17 00:00:00 2001 From: ddolboghi Date: Fri, 28 Jun 2024 10:03:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?test:=20=EA=B5=AC=EB=8F=85=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=A1=B0=ED=9A=8C=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../subscribe/InfluencerSubscribeTest.java | 52 ++++++++++++++++--- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/src/test/java/com/leeforgiveness/memberservice/subscribe/InfluencerSubscribeTest.java b/src/test/java/com/leeforgiveness/memberservice/subscribe/InfluencerSubscribeTest.java index be9809f..3fca5fb 100644 --- a/src/test/java/com/leeforgiveness/memberservice/subscribe/InfluencerSubscribeTest.java +++ b/src/test/java/com/leeforgiveness/memberservice/subscribe/InfluencerSubscribeTest.java @@ -13,6 +13,7 @@ import com.leeforgiveness.memberservice.subscribe.application.InfluencerSubscriptionServiceImpl; import com.leeforgiveness.memberservice.subscribe.domain.InfluencerSubscription; import com.leeforgiveness.memberservice.subscribe.dto.InfluencerSubscribeRequestDto; +import com.leeforgiveness.memberservice.subscribe.dto.InfluencerSummaryDto; import com.leeforgiveness.memberservice.subscribe.vo.SubscribedInfluencerRequestVo; import com.leeforgiveness.memberservice.subscribe.dto.SubscribedInfluencerResponseDto; import com.leeforgiveness.memberservice.subscribe.infrastructure.InfluencerSubscriptionRepository; @@ -46,7 +47,7 @@ public void setUp() { @Test @DisplayName("사용자가 구독한 적이 없던 인플루언서를 구독한다.") - void subscribeNewSellerTest() { + void subscribeNewInfluencerTest() { //given Mockito.when( influencerSubscriptionRepository.findBySubscriberUuidAndInfluencerUuid( @@ -73,7 +74,7 @@ void subscribeNewSellerTest() { @Test @DisplayName("사용자가 구독 취소했던 인플루언서를 다시 구독한다.") - void subscribeSellerAgainTest() { + void subscribeInfluencerAgainTest() { //given InfluencerSubscription influencerSubscription = InfluencerSubscription.builder() .id(1L) @@ -105,7 +106,7 @@ void subscribeSellerAgainTest() { @Test @DisplayName("사용자가 이미 구독했던 인플루언서를 구독하면 예외를 발생시킨다.") - void subscribeAlreadySubscribedSellerExceptionTest() { + void subscribeAlreadySubscribedInfluencerExceptionTest() { //given Mockito.when( influencerSubscriptionRepository.findBySubscriberUuidAndInfluencerUuid( @@ -121,7 +122,7 @@ void subscribeAlreadySubscribedSellerExceptionTest() { @Test @DisplayName("사용자가 구독 중인 인플루언서를 구독취소한다.") - void unsubscribeSellerTest() { + void unsubscribeInfluencerTest() { //given InfluencerSubscription influencerSubscription = InfluencerSubscription.builder() .id(1L) @@ -154,7 +155,7 @@ void unsubscribeSellerTest() { @Test @DisplayName("사용자가 구독한 적이 없는 인플루언서를 구독취소하면 예외를 발생시킨다.") - void unsubscribeNewSellerExceptionTest() { + void unsubscribeNewInfluencerExceptionTest() { //given Mockito.when( influencerSubscriptionRepository.findBySubscriberUuidAndInfluencerUuid( @@ -170,7 +171,7 @@ void unsubscribeNewSellerExceptionTest() { @Test @DisplayName("사용자가 구독 취소했던 인플루언서를 구독취소하면 예외를 발생시킨다.") - void unsubscribeAlreadyUnsubscribedSellerExceptionTest() { + void unsubscribeAlreadyUnsubscribedInfluencerExceptionTest() { //given InfluencerSubscription influencerSubscription = InfluencerSubscription.builder() .id(1L) @@ -192,9 +193,44 @@ void unsubscribeAlreadyUnsubscribedSellerExceptionTest() { }); } + @Test + @DisplayName("사용자가 구독 내역을 조회하면 인플루언서 이름과 프로필사진을 리스트로 반환한다.") + void getSubscribedInfluencerInfosTest() { + String authorization = "authorization"; + String name = "아이유"; + String profileImage = "https://xxxx.png"; + + SubscribedInfluencerRequestVo subscribedInfluencerRequestVo = SubscribedInfluencerRequestVo.builder() + .subscriberUuid(subscriberUuid) + .authorization(authorization) + .build(); + + List influencerSubscriptions = List.of( + InfluencerSubscription.builder() + .influencerUuid(influencerUuid) + .build() + ); + + Mockito.when(influencerSubscriptionRepository.findBySubscriberUuidAndState( + subscriberUuid, SubscribeState.SUBSCRIBE + )).thenReturn(influencerSubscriptions); + + Mockito.when(externalService.getInfluencerSummarise( + authorization, List.of(influencerUuid) + )).thenReturn(List.of(new InfluencerSummaryDto(name, profileImage))); + + SubscribedInfluencerResponseDto subscribedInfluencerResponseDto = + influencerSubscriptionService.getSubscriptionInfos(subscribedInfluencerRequestVo); + + assertNotNull(subscribedInfluencerResponseDto); + assertThat(subscribedInfluencerResponseDto.getInfluencerSummaries().size()).isEqualTo(1); + assertThat(subscribedInfluencerResponseDto.getInfluencerSummaries().get(0).getName()).isEqualTo(name); + assertThat(subscribedInfluencerResponseDto.getInfluencerSummaries().get(0).getProfileImage()).isEqualTo(profileImage); + } + @Test @DisplayName("사용자가 아무도 구독하지 않았다면 null을 반환한다.") - void getSubscribedSellerHandlesNoneSubscribeTest() { + void noneSubscribedTest() { //given SubscribedInfluencerRequestVo subscribedInfluencerRequestVo = SubscribedInfluencerRequestVo.builder() .subscriberUuid(subscriberUuid) @@ -217,7 +253,7 @@ void getSubscribedSellerHandlesNoneSubscribeTest() { @Test @DisplayName("구독한 인플루언서의 정보가 없으면 null을 반환한다.") - void getSubscribedSellerProfileImageNullSubscribeTest() { + void noneInfluencerInfoTest() { //given String authorization = "authorization"; SubscribedInfluencerRequestVo subscribedInfluencerRequestVo = SubscribedInfluencerRequestVo.builder() From 3b3a691fdd0906dabc083b3f0461ace2816cb17e Mon Sep 17 00:00:00 2001 From: ddolboghi Date: Fri, 28 Jun 2024 10:03:46 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=EA=B5=AC=EB=8F=85=20=EB=82=B4?= =?UTF-8?q?=EC=97=AD=20=EC=A1=B0=ED=9A=8C=20API=20=ED=97=A4=EB=8D=94=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EB=AA=85=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../subscribe/presentation/InfluencerSubscribeController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/leeforgiveness/memberservice/subscribe/presentation/InfluencerSubscribeController.java b/src/main/java/com/leeforgiveness/memberservice/subscribe/presentation/InfluencerSubscribeController.java index 8d7016f..247879e 100644 --- a/src/main/java/com/leeforgiveness/memberservice/subscribe/presentation/InfluencerSubscribeController.java +++ b/src/main/java/com/leeforgiveness/memberservice/subscribe/presentation/InfluencerSubscribeController.java @@ -48,10 +48,10 @@ public SuccessResponse unsubscribe(@RequestHeader String uuid, } @GetMapping - @Operation(summary = "인플루언서 구독 조회", description = "인플루언서 구독내역을 페이지로 조회합니다.") + @Operation(summary = "인플루언서 구독 조회", description = "인플루언서 구독내역을 조회합니다.") @ResponseBody public SuccessResponse getSellerSubscribe( - @RequestHeader String authorization, + @RequestHeader(name = "Authorization") String authorization, @RequestHeader String uuid) { return new SuccessResponse<>( SubscribedInfluencerResponseDto.dtoToVo(