diff --git a/backend/src/main/java/corea/domain/JoinInfo.java b/backend/src/main/java/corea/domain/JoinInfo.java index 40edf1b6c..8fd570fcc 100644 --- a/backend/src/main/java/corea/domain/JoinInfo.java +++ b/backend/src/main/java/corea/domain/JoinInfo.java @@ -25,6 +25,6 @@ public class JoinInfo { private long roomId; public JoinInfo(final long memberId, final long roomId) { - this(null,memberId,roomId); + this(null, memberId, roomId); } } diff --git a/backend/src/main/java/corea/dto/JoinInfoResponse.java b/backend/src/main/java/corea/dto/JoinInfoResponse.java index 3b900f1a4..4ff5a56b6 100644 --- a/backend/src/main/java/corea/dto/JoinInfoResponse.java +++ b/backend/src/main/java/corea/dto/JoinInfoResponse.java @@ -6,8 +6,9 @@ public record JoinInfoResponse( long id, long memberId, long roomId -){ - public static JoinInfoResponse from(final JoinInfo joinInfo){ +) { + + public static JoinInfoResponse from(final JoinInfo joinInfo) { return new JoinInfoResponse( joinInfo.getId(), joinInfo.getMemberId(), diff --git a/backend/src/main/java/corea/dto/RoomCreateRequest.java b/backend/src/main/java/corea/dto/RoomCreateRequest.java index 655066263..c26d71fed 100644 --- a/backend/src/main/java/corea/dto/RoomCreateRequest.java +++ b/backend/src/main/java/corea/dto/RoomCreateRequest.java @@ -24,6 +24,7 @@ public Room toEntity() { matchingSize, keyword, submissionDeadline, - reviewDeadline); + reviewDeadline + ); } } diff --git a/backend/src/main/java/corea/dto/RoomResponse.java b/backend/src/main/java/corea/dto/RoomResponse.java index 510826de8..4d1b4387c 100644 --- a/backend/src/main/java/corea/dto/RoomResponse.java +++ b/backend/src/main/java/corea/dto/RoomResponse.java @@ -14,10 +14,9 @@ public record RoomResponse( String keyword, LocalDateTime submissionDeadline, LocalDateTime reviewDeadline - ) { - public static RoomResponse from(final Room room,final String memberEmail) { + public static RoomResponse of(final Room room, final String memberEmail) { return new RoomResponse( room.getId(), room.getTitle(), diff --git a/backend/src/main/java/corea/member/domain/Matching.java b/backend/src/main/java/corea/member/domain/Matching.java index de23b7084..8f050e23c 100644 --- a/backend/src/main/java/corea/member/domain/Matching.java +++ b/backend/src/main/java/corea/member/domain/Matching.java @@ -9,8 +9,8 @@ import static lombok.AccessLevel.PROTECTED; -@NoArgsConstructor(access = PROTECTED) @Component +@NoArgsConstructor(access = PROTECTED) public class Matching { public Map> matchGroup(final List members, final int matchingSize) { diff --git a/backend/src/main/java/corea/member/repository/MemberRepository.java b/backend/src/main/java/corea/member/repository/MemberRepository.java deleted file mode 100644 index 61c9db44e..000000000 --- a/backend/src/main/java/corea/member/repository/MemberRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package corea.member.repository; - -import corea.domain.Member; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface MemberRepository extends JpaRepository { -} diff --git a/backend/src/main/java/corea/member/service/MatchingService.java b/backend/src/main/java/corea/member/service/MatchingService.java index 6ab052005..5bcd82492 100644 --- a/backend/src/main/java/corea/member/service/MatchingService.java +++ b/backend/src/main/java/corea/member/service/MatchingService.java @@ -1,8 +1,8 @@ package corea.member.service; +import corea.domain.Member; import corea.member.domain.Matching; import corea.member.entity.MatchedGroup; -import corea.domain.Member; import corea.member.repository.MatchedGroupRepository; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/corea/service/RoomService.java b/backend/src/main/java/corea/service/RoomService.java index dae391660..d67353527 100644 --- a/backend/src/main/java/corea/service/RoomService.java +++ b/backend/src/main/java/corea/service/RoomService.java @@ -30,35 +30,27 @@ public class RoomService { public RoomResponse create(final RoomCreateRequest request) { final Room room = roomRepository.save(request.toEntity()); - final long memberId = request.memberId(); - final Member member = getMember(memberId); - return RoomResponse.from(room, member.getEmail()); + return toRoomResponse(room); } public RoomResponse findOne(final long id) { - final Room room = roomRepository.findById(id) - .orElseThrow(() -> new IllegalArgumentException(String.format("%d에 해당하는 방이 없습니다.", id))); - final Member member = getMember(room.getMemberId()); - - return RoomResponse.from(room, member.getEmail()); - } - - private Member getMember(final long memberId) { - return memberRepository.findById(memberId) - .orElseThrow(() -> new IllegalArgumentException(String.format("%d에 해당하는 멤버가 없습니다.", memberId))); + final Room room = getRoom(id); + return toRoomResponse(room); } public RoomResponses findAll() { final List rooms = roomRepository.findAll(); + return rooms.stream() - .map(room -> { - final long memberId = room.getMemberId(); - final Member member = getMember(memberId); - return RoomResponse.from(room, member.getEmail()); - }) + .map(this::toRoomResponse) .collect(collectingAndThen(toList(), RoomResponses::new)); } + private RoomResponse toRoomResponse(final Room room) { + final Member member = getMember(room.getMemberId()); + return RoomResponse.of(room, member.getEmail()); + } + public JoinInfoResponse join(final long roomId, final long memberId) { final Room room = getRoom(roomId); final Member member = getMember(memberId); @@ -67,8 +59,13 @@ public JoinInfoResponse join(final long roomId, final long memberId) { return JoinInfoResponse.from(joinInfoRepository.save(joinInfo)); } + private Member getMember(final long memberId) { + return memberRepository.findById(memberId) + .orElseThrow(() -> new IllegalArgumentException(String.format("해당 Id의 멤버가 없습니다. 입력된 Id=%d", memberId))); + } + public Room getRoom(final long roomId) { return roomRepository.findById(roomId) - .orElseThrow(() -> new IllegalArgumentException(String.format("%d에 해당하는 방이 없습니다.", roomId))); + .orElseThrow(() -> new IllegalArgumentException(String.format("해당 Id의 방이 없습니다. 입력된 Id=%d", roomId))); } } diff --git a/backend/src/test/java/corea/fixture/MemberFixture.java b/backend/src/test/java/corea/fixture/MemberFixture.java new file mode 100644 index 000000000..48de7d33b --- /dev/null +++ b/backend/src/test/java/corea/fixture/MemberFixture.java @@ -0,0 +1,10 @@ +package corea.fixture; + +import corea.domain.Member; + +public class MemberFixture { + + public static Member MEMBER_PORORO() { + return new Member("pororo@gmail.com"); + } +} diff --git a/backend/src/test/java/corea/fixture/RoomFixture.java b/backend/src/test/java/corea/fixture/RoomFixture.java index fcc91c74d..c5f384c1f 100644 --- a/backend/src/test/java/corea/fixture/RoomFixture.java +++ b/backend/src/test/java/corea/fixture/RoomFixture.java @@ -6,7 +6,8 @@ import java.time.LocalDateTime; public class RoomFixture { - public static RoomCreateRequest CREATE_REQUEST(final long memberId){ + + public static RoomCreateRequest ROOM_CREATE_REQUEST(final long memberId){ return new RoomCreateRequest( "레이싱 카와 함께하는 TDD", memberId, @@ -18,7 +19,8 @@ public static RoomCreateRequest CREATE_REQUEST(final long memberId){ LocalDateTime.now().plusDays(14) ); } - public static Room GET_DOMAIN(final long memberId){ + + public static Room ROOM_RACING_CAR(final long memberId){ return new Room( "레이싱 카와 함께하는 TDD", memberId, diff --git a/backend/src/test/java/corea/member/domain/MatchingTest.java b/backend/src/test/java/corea/member/domain/MatchingTest.java index 291add7b8..503847ecb 100644 --- a/backend/src/test/java/corea/member/domain/MatchingTest.java +++ b/backend/src/test/java/corea/member/domain/MatchingTest.java @@ -15,13 +15,13 @@ class MatchingTest { @Test @DisplayName("멤버 리스트를 받아서 매칭 결과를 반환한다.") - void matchGroup(){ + void matchGroup() { List members = List.of( new Member(1L, "test1@email.com"), new Member(2L, "test2@email.com"), new Member(3L, "test3@email.com"), new Member(4L, "test4@email.com") - ); + ); int matchingSize = 2; Map> results = matching.matchGroup(members, matchingSize); diff --git a/backend/src/test/java/corea/member/service/MatchingServiceTest.java b/backend/src/test/java/corea/member/service/MatchingServiceTest.java index d429f7a5e..2f7ce4885 100644 --- a/backend/src/test/java/corea/member/service/MatchingServiceTest.java +++ b/backend/src/test/java/corea/member/service/MatchingServiceTest.java @@ -1,27 +1,24 @@ package corea.member.service; +import config.ServiceTest; import corea.domain.Member; import corea.member.repository.MatchedGroupRepository; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; -@SpringBootTest +@ServiceTest class MatchingServiceTest { - private final MatchingService matchingService; - private final MatchedGroupRepository matchedGroupRepository; + @Autowired + MatchingService matchingService; @Autowired - public MatchingServiceTest(MatchingService matchingService, MatchedGroupRepository matchedGroupRepository) { - this.matchingService = matchingService; - this.matchedGroupRepository = matchedGroupRepository; - } + MatchedGroupRepository matchedGroupRepository; @Test @DisplayName("멤버 리스트를 받아 매칭 결과를 반환한다.") @@ -38,5 +35,4 @@ void matchMaking() { assertThat(matchedGroupRepository.findAll()).hasSize(4); } - } diff --git a/backend/src/test/java/corea/service/RoomServiceTest.java b/backend/src/test/java/corea/service/RoomServiceTest.java index d9d3745d4..af55e5fa7 100644 --- a/backend/src/test/java/corea/service/RoomServiceTest.java +++ b/backend/src/test/java/corea/service/RoomServiceTest.java @@ -7,6 +7,7 @@ import corea.dto.RoomCreateRequest; import corea.dto.RoomResponse; import corea.dto.RoomResponses; +import corea.fixture.MemberFixture; import corea.fixture.RoomFixture; import corea.repository.MemberRepository; import corea.repository.RoomRepository; @@ -14,15 +15,13 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.time.LocalDateTime; - import static org.assertj.core.api.Assertions.assertThat; @ServiceTest class RoomServiceTest { @Autowired - RoomService sut; + RoomService roomService; @Autowired RoomRepository roomRepository; @@ -31,23 +30,12 @@ class RoomServiceTest { MemberRepository memberRepository; @Test - @DisplayName("요청을 통해 엔티티를 생성한다.") + @DisplayName("요청을 통해 방을 생성한다.") void create() { - final Member member = memberRepository.save(new Member( - "pororo@gmail.com" - )); - - final RoomCreateRequest request = new RoomCreateRequest( - "레이싱 카와 함께하는 TDD", - member.getId(), - "https://github.com/jcoding-play/java-racingcar", - "data:image/jpeg;base64,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", - 3, - "TDD", - LocalDateTime.now().plusDays(7), - LocalDateTime.now().plusDays(14) - ); - final RoomResponse response = sut.create(request); + final Member member = memberRepository.save(MemberFixture.MEMBER_PORORO()); + + final RoomCreateRequest request = RoomFixture.ROOM_CREATE_REQUEST(member.getId()); + final RoomResponse response = roomService.create(request); assertThat(response.memberEmail()).isEqualTo("pororo@gmail.com"); } @@ -55,23 +43,11 @@ void create() { @Test @DisplayName("방을 조회한다.") void findOne() { - final Member member = memberRepository.save(new Member( - "pororo@gmail.com" - )); - - final RoomCreateRequest request = new RoomCreateRequest( - "레이싱 카와 함께하는 TDD", - member.getId(), - "https://github.com/jcoding-play/java-racingcar", - "data:image/jpeg;base64,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", - 3, - "TDD", - LocalDateTime.now().plusDays(7), - LocalDateTime.now().plusDays(14) - ); - final RoomResponse response = sut.create(request); - - final RoomResponse findRoom = sut.findOne(response.id()); + final Member member = memberRepository.save(MemberFixture.MEMBER_PORORO()); + final RoomCreateRequest request = RoomFixture.ROOM_CREATE_REQUEST(member.getId()); + final RoomResponse response = roomService.create(request); + + final RoomResponse findRoom = roomService.findOne(response.id()); assertThat(findRoom).isEqualTo(response); } @@ -79,27 +55,22 @@ void findOne() { @Test @DisplayName("전체 방을 조회한다.") void findAll() { - final Member member = memberRepository.save(new Member( - "pororo@gmail.com" - )); - - final RoomCreateRequest request = RoomFixture.CREATE_REQUEST(member.getId()); - sut.create(request); + final Member member = memberRepository.save(MemberFixture.MEMBER_PORORO()); + final RoomCreateRequest request = RoomFixture.ROOM_CREATE_REQUEST(member.getId()); + roomService.create(request); - final RoomResponses response = sut.findAll(); + final RoomResponses response = roomService.findAll(); assertThat(response.rooms()).hasSize(1); } @Test @DisplayName("방에 참가한다.") - void join(){ - final Member member = memberRepository.save(new Member( - "pororo@gmail.com" - )); - final Room room = roomRepository.save(RoomFixture.GET_DOMAIN(member.getId())); + void join() { + final Member member = memberRepository.save(MemberFixture.MEMBER_PORORO()); + final Room room = roomRepository.save(RoomFixture.ROOM_RACING_CAR(member.getId())); - final JoinInfoResponse response = sut.join(room.getId(),member.getId()); + final JoinInfoResponse response = roomService.join(room.getId(), member.getId()); assertThat(response.memberId()).isEqualTo(member.getId()); assertThat(response.roomId()).isEqualTo(room.getId());