diff --git a/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/GuestTechArticleService.java b/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/GuestTechArticleService.java index 2fc6c666..b593c468 100644 --- a/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/GuestTechArticleService.java +++ b/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/GuestTechArticleService.java @@ -129,7 +129,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticle.decrementRecommendTotalCount(); techArticle.changePopularScore(techArticlePopularScorePolicy); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } // 추천 상태가 아니라면 추천 @@ -139,7 +139,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticle.incrementRecommendTotalCount(); techArticle.changePopularScore(techArticlePopularScorePolicy); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } // 추천 생성 @@ -150,7 +150,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticle.incrementRecommendTotalCount(); techArticle.changePopularScore(techArticlePopularScorePolicy); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } /** diff --git a/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/MemberTechArticleService.java b/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/MemberTechArticleService.java index d82613ac..34ec9e46 100644 --- a/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/MemberTechArticleService.java +++ b/src/main/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/techArticle/MemberTechArticleService.java @@ -150,7 +150,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticle.decrementRecommendTotalCount(); techArticle.changePopularScore(techArticlePopularScorePolicy); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } // 추천 상태가 아니라면 추천 @@ -160,7 +160,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticle.incrementRecommendTotalCount(); techArticle.changePopularScore(techArticlePopularScorePolicy); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } // 추천 생성 @@ -172,7 +172,7 @@ public TechArticleRecommendResponse updateRecommend(Long techArticleId, String a techArticleRecommendRepository.save(techArticleRecommend); - return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended()); + return new TechArticleRecommendResponse(techArticle.getId(), techArticleRecommend.isRecommended(), techArticle.getRecommendTotalCount().getCount()); } /** diff --git a/src/main/java/com/dreamypatisiel/devdevdev/web/dto/response/techArticle/TechArticleRecommendResponse.java b/src/main/java/com/dreamypatisiel/devdevdev/web/dto/response/techArticle/TechArticleRecommendResponse.java index d3db1109..87d35e02 100644 --- a/src/main/java/com/dreamypatisiel/devdevdev/web/dto/response/techArticle/TechArticleRecommendResponse.java +++ b/src/main/java/com/dreamypatisiel/devdevdev/web/dto/response/techArticle/TechArticleRecommendResponse.java @@ -7,9 +7,11 @@ public class TechArticleRecommendResponse { public final Long techArticleId; public final Boolean status; + public final Long recommendTotalCount; - public TechArticleRecommendResponse(Long techArticleId, Boolean status) { + public TechArticleRecommendResponse(Long techArticleId, Boolean status, Long recommendTotalCount) { this.techArticleId = techArticleId; this.status = status; + this.recommendTotalCount = recommendTotalCount; } } diff --git a/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/GuestTechArticleServiceTest.java b/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/GuestTechArticleServiceTest.java index e20233c1..4d4080ca 100644 --- a/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/GuestTechArticleServiceTest.java +++ b/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/GuestTechArticleServiceTest.java @@ -310,6 +310,7 @@ void createTechArticleRecommend() { .satisfies(response -> { assertThat(response.getTechArticleId()).isEqualTo(techArticleId); assertThat(response.getStatus()).isTrue(); + assertThat(response.getRecommendTotalCount()).isEqualTo(recommendTotalCount.getCount() + 1); }); TechArticle techArticle = techArticleRepository.findById(techArticleId).get(); diff --git a/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/MemberTechArticleServiceTest.java b/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/MemberTechArticleServiceTest.java index 41be7215..ff70ca5f 100644 --- a/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/MemberTechArticleServiceTest.java +++ b/src/test/java/com/dreamypatisiel/devdevdev/domain/service/techArticle/MemberTechArticleServiceTest.java @@ -468,6 +468,7 @@ void cancelTechArticleRecommend() { .satisfies(response -> { assertThat(response.getTechArticleId()).isEqualTo(techArticleId); assertThat(response.getStatus()).isFalse(); + assertThat(response.getRecommendTotalCount()).isEqualTo(recommendTotalCount.getCount() - 1); }); TechArticle techArticle = techArticleRepository.findById(techArticleId).get(); diff --git a/src/test/java/com/dreamypatisiel/devdevdev/web/controller/techArticle/TechArticleControllerTest.java b/src/test/java/com/dreamypatisiel/devdevdev/web/controller/techArticle/TechArticleControllerTest.java index 39ac8493..28947a86 100644 --- a/src/test/java/com/dreamypatisiel/devdevdev/web/controller/techArticle/TechArticleControllerTest.java +++ b/src/test/java/com/dreamypatisiel/devdevdev/web/controller/techArticle/TechArticleControllerTest.java @@ -573,7 +573,9 @@ void updateRecommend() throws Exception { .andExpect(jsonPath("$.data").isNotEmpty()) .andExpect(jsonPath("$.data").isMap()) .andExpect(jsonPath("$.data.techArticleId").isNumber()) - .andExpect(jsonPath("$.data.status").isBoolean()); + .andExpect(jsonPath("$.data.status").isBoolean()) + .andExpect(jsonPath("$.data.recommendTotalCount").isNumber()); + } @Test diff --git a/src/test/java/com/dreamypatisiel/devdevdev/web/docs/TechArticleControllerDocsTest.java b/src/test/java/com/dreamypatisiel/devdevdev/web/docs/TechArticleControllerDocsTest.java index b91a4fdb..eb6a0ad1 100644 --- a/src/test/java/com/dreamypatisiel/devdevdev/web/docs/TechArticleControllerDocsTest.java +++ b/src/test/java/com/dreamypatisiel/devdevdev/web/docs/TechArticleControllerDocsTest.java @@ -592,7 +592,8 @@ void updateRecommend() throws Exception { fieldWithPath("data").type(JsonFieldType.OBJECT).description("응답 데이터"), fieldWithPath("data.techArticleId").type(JsonFieldType.NUMBER).description("기술블로그 아이디"), - fieldWithPath("data.status").type(JsonFieldType.BOOLEAN).description("추천 상태") + fieldWithPath("data.status").type(JsonFieldType.BOOLEAN).description("추천 상태"), + fieldWithPath("data.recommendTotalCount").type(JsonFieldType.NUMBER).description("기술블로그 총 추천수") ) )); }