diff --git a/backend/src/test/java/reviewme/member/repository/GithubReviewerGroupRepositoryTest.java b/backend/src/test/java/reviewme/member/repository/GithubReviewerGroupRepositoryTest.java new file mode 100644 index 000000000..ced6c04ce --- /dev/null +++ b/backend/src/test/java/reviewme/member/repository/GithubReviewerGroupRepositoryTest.java @@ -0,0 +1,65 @@ +package reviewme.member.repository; + +import static org.assertj.core.api.Assertions.assertThat; +import static reviewme.fixture.ReviewerGroupFixture.리뷰_그룹; + +import java.util.List; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import reviewme.member.domain.GithubReviewerGroup; +import reviewme.member.domain.Member; +import reviewme.member.domain.ReviewerGroup; + +@DataJpaTest +class GithubReviewerGroupRepositoryTest { + + @Autowired + GithubReviewerGroupRepository githubReviewerGroupRepository; + + @Autowired + ReviewerGroupRepository reviewerGroupRepository; + + @Autowired + MemberRepository memberRepository; + + @Test + void 깃허브_아이디와_리뷰어_그룹이_모두_일치하는_깃허브_리뷰어_그룹이_있는_경우를_확인한다() { // given + // given + String revieweeGithubId = "kirby"; + Member reviewee = new Member("커비", revieweeGithubId); + String reviewerGithubId = "ted"; + Member reviewer = new Member("테드", reviewerGithubId); + memberRepository.saveAll(List.of(reviewee, reviewer)); + + ReviewerGroup reviewerGroup = 리뷰_그룹.create(reviewee); + reviewerGroupRepository.save(reviewerGroup); + githubReviewerGroupRepository.save(new GithubReviewerGroup(reviewerGithubId, reviewerGroup)); + + // when + boolean actual = githubReviewerGroupRepository.existsByGithubIdAndReviewerGroup(reviewerGithubId, reviewerGroup); + + // then + assertThat(actual).isTrue(); + } + + @Test + void 깃허브_아이디와_리뷰어_그룹이_모두_일치하는_깃허브_리뷰어_그룹이_없는_경우를_확인한다() { + // given + String revieweeGithubId = "kirby"; + Member reviewee = new Member("커비", revieweeGithubId); + String reviewerGithubId = "ted"; + Member reviewer = new Member("테드", reviewerGithubId); + memberRepository.saveAll(List.of(reviewee, reviewer)); + + ReviewerGroup reviewerGroup = 리뷰_그룹.create(reviewee); + reviewerGroupRepository.save(reviewerGroup); + githubReviewerGroupRepository.save(new GithubReviewerGroup(reviewerGithubId, reviewerGroup)); + + // when + boolean actual = githubReviewerGroupRepository.existsByGithubIdAndReviewerGroup("aru", reviewerGroup); + + // then + assertThat(actual).isFalse(); + } +} diff --git a/backend/src/test/java/reviewme/review/ReviewServiceTest.java b/backend/src/test/java/reviewme/review/ReviewServiceTest.java index d81490cff..879737c26 100644 --- a/backend/src/test/java/reviewme/review/ReviewServiceTest.java +++ b/backend/src/test/java/reviewme/review/ReviewServiceTest.java @@ -2,6 +2,9 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static reviewme.fixture.KeywordFixture.꼼꼼하게_기록해요; +import static reviewme.fixture.KeywordFixture.회의를_이끌어요; +import static reviewme.fixture.ReviewerGroupFixture.리뷰_그룹; import java.time.LocalDateTime; import java.util.List; @@ -60,8 +63,8 @@ class ReviewServiceTest { new ReviewerGroup(reviewee, "그룹A", "그룹 설명", LocalDateTime.now().minusDays(1)) ); githubReviewerGroupRepository.save(new GithubReviewerGroup("sancho", reviewerGroup)); - Keyword keyword1 = keywordRepository.save(new Keyword("꼼꼼해요")); - Keyword keyword2 = keywordRepository.save(new Keyword("친절해요")); + Keyword keyword1 = keywordRepository.save(꼼꼼하게_기록해요.create()); + Keyword keyword2 = keywordRepository.save(회의를_이끌어요.create()); CreateReviewContentRequest contentRequest1 = new CreateReviewContentRequest( 1L, "소프트스킬이 어떤가요?", "소통을 잘해요" @@ -90,12 +93,7 @@ class ReviewServiceTest { Member reviewer = memberRepository.save(new Member("테드", "ted")); Member reviewee = memberRepository.save(new Member("아루", "aru")); memberRepository.save(new Member("산초", "sancho")); - ReviewerGroup reviewerGroup = reviewerGroupRepository.save(new ReviewerGroup( - reviewee, - "그룹A", - "그룹 설명", - LocalDateTime.of(2024, 1, 1, 1, 1)) - ); + ReviewerGroup reviewerGroup = reviewerGroupRepository.save(리뷰_그룹.create(reviewee)); Review review = reviewRepository.save(new Review(reviewer, reviewerGroup)); // when @@ -111,12 +109,7 @@ class ReviewServiceTest { // given Member reviewee = memberRepository.save(new Member("아루", "aru")); Member reviewer = memberRepository.save(new Member("테드", "ted")); - ReviewerGroup reviewerGroup = reviewerGroupRepository.save(new ReviewerGroup( - reviewee, - "그룹A", - "그룹 설명", - LocalDateTime.of(2024, 1, 1, 1, 1)) - ); + ReviewerGroup reviewerGroup = reviewerGroupRepository.save(리뷰_그룹.create(reviewee)); githubReviewerGroupRepository.save(new GithubReviewerGroup("kirby", reviewerGroup)); CreateReviewRequest createReviewRequest = new CreateReviewRequest( @@ -136,12 +129,7 @@ class ReviewServiceTest { // given Member reviewee = memberRepository.save(new Member("아루", "aru")); Member reviewer = memberRepository.save(new Member("테드", "ted")); - ReviewerGroup reviewerGroup = reviewerGroupRepository.save(new ReviewerGroup( - reviewee, - "그룹A", - "그룹 설명", - LocalDateTime.of(2024, 1, 1, 1, 1)) - ); + ReviewerGroup reviewerGroup = reviewerGroupRepository.save(리뷰_그룹.create(reviewee)); githubReviewerGroupRepository.save(new GithubReviewerGroup("ted", reviewerGroup)); CreateReviewRequest createReviewRequest = new CreateReviewRequest(