From 4eec98d3670ff21a7d60ad28ab6b1f470026d2cb Mon Sep 17 00:00:00 2001 From: sejeongsong Date: Sun, 10 Mar 2024 17:47:07 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20feedCollectionLikeCount=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EB=B0=A9=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/dto/response/MyFeedCollectionResponse.java | 4 ++-- .../persistence/jpa/MemberQueryDslRepositoryImpl.java | 2 +- .../be/acceptance/member/MemberAcceptanceTest.java | 7 ++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/be/src/main/java/com/foodymoody/be/member/application/dto/response/MyFeedCollectionResponse.java b/be/src/main/java/com/foodymoody/be/member/application/dto/response/MyFeedCollectionResponse.java index aed31055d..39f5c6c85 100644 --- a/be/src/main/java/com/foodymoody/be/member/application/dto/response/MyFeedCollectionResponse.java +++ b/be/src/main/java/com/foodymoody/be/member/application/dto/response/MyFeedCollectionResponse.java @@ -13,7 +13,7 @@ public class MyFeedCollectionResponse { private String title; private String thumbnailUrl; private int feedCount; - private long likeCount; + private int likeCount; private int commentCount; private boolean liked; private LocalDateTime createdAt; @@ -26,7 +26,7 @@ public MyFeedCollectionResponse( String title, String thumbnailUrl, Integer feedCount, - Long likeCount, + Integer likeCount, Integer commentCount, LocalDateTime createdAt, LocalDateTime updatedAt, diff --git a/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberQueryDslRepositoryImpl.java b/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberQueryDslRepositoryImpl.java index 51d209b7b..d9388878f 100644 --- a/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberQueryDslRepositoryImpl.java +++ b/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberQueryDslRepositoryImpl.java @@ -63,7 +63,7 @@ public MyFeedCollectionsResponse fetchMyCollectionResponse(MemberId id, MemberId feedCollection.title, feedCollection.thumbnailUrl, feedCollection.feedIds.ids.size(), - feedCollectionLike.count(), + feedCollection.likeCount, feedCollection.commentIds.ids.size(), feedCollection.createdAt, feedCollection.updatedAt, diff --git a/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java b/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java index a2fa0ff23..c9314bdf3 100644 --- a/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java +++ b/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java @@ -373,7 +373,8 @@ void when_fetch_member_collections_if_not_sign_in_then_response_status_code_200_ @DisplayName("회원이 작성한 컬렉션 목록 조회시 로그인한 사용자가 좋아요를 누른 컬렉션이면, liked가 true이다") @Test - void when_fetch_member_collections_if_liked_by_current_member_then_response_status_code_200_and_liked_true() { + void when_fetch_member_collections_if_liked_by_current_member_then_response_status_code_200_and_liked_true() + throws InterruptedException { // docs api_문서_타이틀("fetch_member_collections_if_liked_by_current_member", spec); @@ -394,8 +395,8 @@ void when_fetch_member_collections_if_liked_by_current_member_then_response_stat () -> 상태코드를_검증한다(response, HttpStatus.OK), () -> assertThat(response.jsonPath().getList("collections.content")) .filteredOn("id", 컬렉션1_아이디) - .extracting("likeCount", "liked") - .containsExactly(Tuple.tuple(1, Boolean.TRUE)) + .extracting("liked") + .containsExactly(Boolean.TRUE) ); } From 41412818dc83094d1ed5f888961e2287e8ef0847 Mon Sep 17 00:00:00 2001 From: sejeongsong Date: Sun, 10 Mar 2024 17:52:25 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=ED=9A=8C=EC=9B=90=EC=9D=B4=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1=ED=95=9C=20feedCollection=20=EC=A0=9C?= =?UTF-8?q?=EB=AA=A9=20=EC=A1=B0=ED=9A=8C=20=EC=8B=9C=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=EB=90=9C=20=EC=97=94=ED=8B=B0=ED=8B=B0=EB=8A=94=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=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 --- .../be/member/infra/persistence/jpa/MemberJpaRepository.java | 2 +- .../be/acceptance/member/MemberAcceptanceTest.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberJpaRepository.java b/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberJpaRepository.java index 3c984f702..d9f1dffb8 100644 --- a/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberJpaRepository.java +++ b/be/src/main/java/com/foodymoody/be/member/infra/persistence/jpa/MemberJpaRepository.java @@ -48,7 +48,7 @@ public interface MemberJpaRepository extends JpaRepository, Me @Query("SELECT new com.foodymoody.be.member.application.dto.response.MyFeedCollectionTitleResponse (fc.id, fc.title, fc.isPrivate) " + "FROM Member m " + "LEFT JOIN FETCH FeedCollection fc ON fc.authorId = m.id " - + "WHERE m.id = :id " + + "WHERE m.id = :id AND fc.isDeleted = false " + "ORDER BY fc.createdAt DESC") List fetchMyCollectionTitles(MemberId id); diff --git a/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java b/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java index c9314bdf3..1b1268c54 100644 --- a/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java +++ b/be/src/test/java/com/foodymoody/be/acceptance/member/MemberAcceptanceTest.java @@ -421,7 +421,7 @@ void when_fetch_member_collection_titles_if_success_then_response_status_code_20 String 무드1_아이디 = 피드_컬렉션_무드를_등록하고_아이디를_가져온다(회원아티_액세스토큰); String 무드2_아이디 = 피드_컬렉션_무드를_등록하고_아이디를_가져온다(회원아티_액세스토큰); String 무드3_아이디 = 피드_컬렉션_무드를_등록하고_아이디를_가져온다(회원아티_액세스토큰); - 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디), 회원아티_액세스토큰, List.of(피드1_아이디)); + String 피드컬렉션1_아이디 = 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디), 회원아티_액세스토큰, List.of(피드1_아이디)); 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디, 무드2_아이디), 회원아티_액세스토큰, List.of(피드1_아이디, 피드2_아이디)); 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디, 무드2_아이디, 무드3_아이디), 회원아티_액세스토큰, List.of(피드1_아이디, 피드2_아이디, 피드3_아이디)); @@ -429,6 +429,7 @@ void when_fetch_member_collection_titles_if_success_then_response_status_code_20 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디), 회원아티_액세스토큰, List.of(피드1_아이디)); 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디), 회원아티_액세스토큰, List.of(피드1_아이디)); 피드_컬렉션_등록하고_피드_리스트도_추가한다(List.of(무드1_아이디), 회원아티_액세스토큰, List.of(피드1_아이디)); + 피드_컬렉션을_삭제한다(피드컬렉션1_아이디, 회원아티_액세스토큰, new RequestSpecBuilder().build()); // when ExtractableResponse response = 회원이_작성한_피드_컬렉션_제목_목록을_조회한다(회원아티_액세스토큰, spec); @@ -436,7 +437,7 @@ void when_fetch_member_collection_titles_if_success_then_response_status_code_20 // then Assertions.assertAll( () -> 상태코드를_검증한다(response, HttpStatus.OK), - () -> assertThat(response.jsonPath().getList("")).hasSize(7) + () -> assertThat(response.jsonPath().getList("")).hasSize(6) ); }