Skip to content

Commit

Permalink
Merge pull request #79 from HongDam-org/feat/group-people-fix
Browse files Browse the repository at this point in the history
[FEAT] GroupInfoResponse 에 해당 그룹의 소속 그룹원 정보 추가
  • Loading branch information
jinjoo-lab authored Dec 20, 2023
2 parents 3d94f36 + eb60188 commit af2ea1c
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package com.twtw.backend.domain.group.dto.response;

import com.twtw.backend.domain.member.dto.response.MemberResponse;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;

import java.util.List;
import java.util.UUID;

@Getter
Expand All @@ -14,4 +17,5 @@ public class GroupInfoResponse {
private UUID leaderId;
private String name;
private String groupImage;
private List<MemberResponse> groupMembers;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.twtw.backend.domain.group.dto.response.ShareInfoResponse;
import com.twtw.backend.domain.group.entity.Group;
import com.twtw.backend.domain.group.entity.GroupMember;
import com.twtw.backend.domain.member.dto.response.MemberResponse;
import com.twtw.backend.domain.member.entity.Member;

import org.mapstruct.IterableMapping;
Expand All @@ -21,7 +22,17 @@ public interface GroupMapper {
@Mapping(target = "groupImage", source = "groupDto.groupImage")
Group toGroupEntity(MakeGroupRequest groupDto, Member leader);

@Named("groupMemberToMemberResponse")
@Mapping(target = "id", source = "groupMember.member.id")
@Mapping(target = "nickname", source = "groupMember.member.nickname")
MemberResponse toGroupMemberResponse(GroupMember groupMember);

@Named("groupMemberToMemberResponseList")
@IterableMapping(qualifiedByName = "groupMemberToMemberResponse")
List<MemberResponse> toGroupMemberResponseList(List<GroupMember> groupMemberList);

@Mapping(target = "groupId", source = "id")
@Mapping(target = "groupMembers", qualifiedByName = "groupMemberToMemberResponseList")
GroupInfoResponse toGroupInfo(Group group);

@Mapping(target = "groupId", source = "group.id")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.twtw.backend.domain.group.dto.response.ShareInfoResponse;
import com.twtw.backend.domain.group.dto.response.SimpleGroupInfoResponse;
import com.twtw.backend.domain.group.service.GroupService;
import com.twtw.backend.domain.member.dto.response.MemberResponse;
import com.twtw.backend.support.docs.RestDocsTest;

import org.junit.jupiter.api.DisplayName;
Expand Down Expand Up @@ -49,7 +50,10 @@ void getGroupById() throws Exception {
UUID.fromString("550e8400-e29b-41d4-a716-446655440000"),
UUID.randomUUID(),
"HDJ",
"GROUP-IMAGE");
"GROUP-IMAGE",
List.of(
new MemberResponse(UUID.randomUUID(), "DEAN"),
new MemberResponse(UUID.randomUUID(), "ZION-T")));
given(groupService.getGroupById(UUID.fromString("550e8400-e29b-41d4-a716-446655440000")))
.willReturn(expected);

Expand All @@ -75,7 +79,10 @@ void makeGroup() throws Exception {
UUID.fromString("550e8400-e29b-41d4-a716-446655440000"),
UUID.randomUUID(),
"HDJ",
"GROUP-IMAGE");
"GROUP-IMAGE",
List.of(
new MemberResponse(UUID.randomUUID(), "DEAN"),
new MemberResponse(UUID.randomUUID(), "ZION-T")));
given(groupService.makeGroup(any())).willReturn(expected);

final ResultActions perform =
Expand Down Expand Up @@ -128,7 +135,13 @@ void inviteGroup() throws Exception {
// given
final GroupInfoResponse expected =
new GroupInfoResponse(
UUID.randomUUID(), UUID.randomUUID(), "홍담진", "http://someUrlToS3");
UUID.randomUUID(),
UUID.randomUUID(),
"홍담진",
"http://someUrlToS3",
List.of(
new MemberResponse(UUID.randomUUID(), "DEAN"),
new MemberResponse(UUID.randomUUID(), "ZION-T")));
given(groupService.inviteGroup(any())).willReturn(expected);

// when
Expand Down Expand Up @@ -252,9 +265,23 @@ void getMyGroups() throws Exception {
List<GroupInfoResponse> responseList = new ArrayList<>();

GroupInfoResponse response1 =
new GroupInfoResponse(UUID.randomUUID(), leaderId, "BLACK_PINK", "I_LOVE_YOU_LOSE");
new GroupInfoResponse(
UUID.randomUUID(),
leaderId,
"BLACK_PINK",
"I_LOVE_YOU_LOSE",
List.of(
new MemberResponse(UUID.randomUUID(), "LISA"),
new MemberResponse(UUID.randomUUID(), "제니")));
GroupInfoResponse response2 =
new GroupInfoResponse(UUID.randomUUID(), leaderId, "LE_SSERAFIM", "I_LOVE_YOU_채원");
new GroupInfoResponse(
UUID.randomUUID(),
leaderId,
"LE_SSERAFIM",
"I_LOVE_YOU_채원",
List.of(
new MemberResponse(UUID.randomUUID(), "카즈하"),
new MemberResponse(UUID.randomUUID(), "사쿠라")));

responseList.add(response1);
responseList.add(response2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,4 +149,25 @@ void getMyGroups() {
// then
assertThat(responses).hasSize(2);
}

@Test
@DisplayName("GroupId를 통한 Group 조회가 성공적인가")
void getGroupById() {
// given
Member leader = memberRepository.save(MemberEntityFixture.FIRST_MEMBER.toEntity());

Group group1 = new Group("BABY_MONSTER", "YG_OFFICIAL_IMAGE", leader);

GroupMember groupMember1 = new GroupMember(group1, loginUser);

group1.getGroupMembers().add(groupMember1);

Group saveGroup1 = groupRepository.save(group1);
// when

GroupInfoResponse response = groupService.getGroupById(saveGroup1.getId());

// then
assertThat(response.getGroupMembers()).hasSize(2);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,13 @@ void getPlanById() throws Exception {
127.420430538256,
37.0766874564297),
new GroupInfoResponse(
UUID.randomUUID(), UUID.randomUUID(), "홍담진", "http://someUrlToS3"),
UUID.randomUUID(),
UUID.randomUUID(),
"홍담진",
"http://someUrlToS3",
List.of(
new MemberResponse(UUID.randomUUID(), "카즈하"),
new MemberResponse(UUID.randomUUID(), "사쿠라"))),
List.of(new MemberResponse(UUID.randomUUID(), "진호정")));
given(planService.getPlanById(any())).willReturn(expected);

Expand Down Expand Up @@ -263,7 +269,10 @@ void getPlans() throws Exception {
UUID.randomUUID(),
UUID.randomUUID(),
"홍담진",
"http://someUrlToS3"),
"http://someUrlToS3",
List.of(
new MemberResponse(UUID.randomUUID(), "카즈하"),
new MemberResponse(UUID.randomUUID(), "사쿠라"))),
List.of(new MemberResponse(UUID.randomUUID(), "진호정"))),
new PlanInfoResponse(
UUID.randomUUID(),
Expand All @@ -279,7 +288,10 @@ void getPlans() throws Exception {
UUID.randomUUID(),
UUID.randomUUID(),
"HongDamJin",
"http://someUrlToS3"),
"http://someUrlToS3",
List.of(
new MemberResponse(UUID.randomUUID(), "카즈하"),
new MemberResponse(UUID.randomUUID(), "사쿠라"))),
List.of(new MemberResponse(UUID.randomUUID(), "JinHoJeong"))));

given(planService.getPlans()).willReturn(expected);
Expand Down

0 comments on commit af2ea1c

Please sign in to comment.