@Transactional(readOnly = true)
    public ReceivedReviewsResponse findReceivedReviews(String reviewRequestCode, String groupAccessCode) {
        ReviewGroup reviewGroup = reviewGroupRepository.findByReviewRequestCode(reviewRequestCode)
                .orElseThrow(() -> new ReviewGroupNotFoundByReviewRequestCodeException(reviewRequestCode));

        if (!reviewGroup.matchesGroupAccessCode(groupAccessCode)) {
            throw new ReviewGroupUnauthorizedException(reviewGroup.getId());
        }

        List<ReceivedReviewResponse> reviewResponses =
                reviewRepository.findReceivedReviewsByGroupId(reviewGroup.getId())
                        .stream()
                        .map(this::createReceivedReviewResponse)
                        .toList();

        return new ReceivedReviewsResponse(reviewGroup.getReviewee(), reviewGroup.getProjectName(), reviewResponses);
    }
@Test
    void 리뷰_요청_코드가_존재하지_않는_경우_예외가_발생한다() {
        assertThatThrownBy(() -> reviewService.findReceivedReviews("abc", "groupAccessCode"))
                .isInstanceOf(ReviewGroupNotFoundByReviewRequestCodeException.class);
    }