Skip to content

feature/KD-75 : 졸업대상자 상세조회시 phon컬럼 조회로직 추가#335

Open
dkdltm221 wants to merge 4 commits intodevelopfrom
feature/KD-75
Open

feature/KD-75 : 졸업대상자 상세조회시 phon컬럼 조회로직 추가#335
dkdltm221 wants to merge 4 commits intodevelopfrom
feature/KD-75

Conversation

@dkdltm221
Copy link
Copy Markdown
Contributor

Summary

해당 PR에 대한 요약을 작성해주세요.
졸업대상자를 조회하면 phon 컬럼도 조회 되도록 수정했습니다.

Tasks

  • GraduationUserDetailResponse에 phon 필드 추가

  • GraduationUserAdminFacade에서 user조회 로직 추가

  • GraduationUserQueryServiceTest 수정

To Reviewer

(없을 경우 삭제) 더 전달할 내용이 있다면 여기에 작성해주세요.

Screenshot

(없을 경우 삭제) 작업한 내용에 대한 스크린샷을 첨부해주세요.

@dkdltm221 dkdltm221 self-assigned this Mar 31, 2026
@dkdltm221 dkdltm221 added the ✨feature create new feature label Mar 31, 2026
@dkdltm221 dkdltm221 linked an issue Mar 31, 2026 that may be closed by this pull request
3 tasks
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 31, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5d5f8dbb-6f46-4ad1-94ff-e6a013555445

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

GraduationUserAdminFacadeUserQueryService 의존성을 추가하고, getGraduationUserById() 메서드가 사용자 정보를 조회하여 전화번호를 GraduationUserDetailResponse에 포함하도록 변경했습니다. 해당 응답 객체의 필드와 팩토리 메서드 시그니처도 업데이트되었습니다.

Changes

Cohort / File(s) Summary
Facade 의존성 및 로직 확장
aics-admin/src/main/java/kgu/developers/admin/graduationUser/application/GraduationUserAdminFacade.java
UserQueryService 주입 추가, getGraduationUserById()에서 사용자 조회 후 전화번호 정보를 응답에 포함하도록 수정
응답 객체 구조 변경
aics-admin/src/main/java/kgu/developers/admin/graduationUser/presentation/response/GraduationUserDetailResponse.java
phone 필드 추가, from() 팩토리 메서드 시그니처에 String phone 파라미터 포함
테스트 코드 업데이트
aics-admin/src/testFixtures/java/graduationUser/application/GraduationUserAdminFacadeTest.java
userQueryService 주입, 테스트 데이터에 사용자 정보 설정, phone 필드 검증 추가

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • JangYeongHu
  • 2heunxun
  • hoTan35
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed 제목이 변경사항의 핵심을 명확하게 설명하고 있습니다. 졸업대상자 상세조회 시 phone 컬럼 조회 로직 추가라는 주요 변경사항을 직접적으로 반영하고 있습니다.
Description check ✅ Passed 설명이 변경사항과 관련이 있습니다. phone 컬럼 조회 로직 추가, GraduationUserDetailResponse에 phone 필드 추가, GraduationUserAdminFacade에서 user 조회 로직 추가 등 구체적인 작업 내용을 명시하고 있습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/KD-75

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 31, 2026

Test Coverage Report

Overall Project 80.01% -0.15% 🍏
Files changed 76.19% 🍏

Module Coverage
aics-admin 90.83% 🍏
aics-domain 73.6% -0.24%
Files
Module File Coverage
aics-admin GraduationUserAdminFacade.java 86.84% 🍏
aics-domain UserQueryService.java 75% -8.33%

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@              Coverage Diff              @@
##             develop     #335      +/-   ##
=============================================
+ Coverage      85.38%   85.52%   +0.14%     
  Complexity        79       79              
=============================================
  Files             24       24              
  Lines            301      304       +3     
  Branches          30       30              
=============================================
+ Hits             257      260       +3     
  Misses            22       22              
  Partials          22       22              
Files with missing lines Coverage Δ Complexity Δ
...ionUser/application/GraduationUserAdminFacade.java 77.11% <100.00%> (+0.59%) 28.00 <0.00> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3231219...910aea2. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
aics-admin/src/testFixtures/java/graduationUser/application/GraduationUserAdminFacadeTest.java (1)

277-287: 사용자 미존재 예외 경로 테스트도 추가해두면 더 안전합니다.

Line 282 경로는 이제 UserQueryService에 의존하므로, 연결된 User가 없을 때의 동작(예외)을 고정해두는 테스트를 권장합니다.

테스트 추가 예시
+import kgu.developers.domain.user.exception.UserNotFoundException;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+@Test
+@DisplayName("getGraduationUserById는 연결된 User가 없으면 예외를 던진다.")
+void getGraduationUserById_UserNotFound() {
+    // given
+    Long graduationUserId = 2L; // fixture 상 userId=202411002, User 미시드 상태
+
+    // when & then
+    assertThrows(UserNotFoundException.class,
+        () -> graduationUserAdminFacade.getGraduationUserById(graduationUserId));
+}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@aics-admin/src/testFixtures/java/graduationUser/application/GraduationUserAdminFacadeTest.java`
around lines 277 - 287, Add a negative test for the user-not-found path when
calling GraduationUserAdminFacade.getGraduationUserById: create a new test
method in GraduationUserAdminFacadeTest (e.g.,
getGraduationUserById_UserNotFound_ThrowsException) that mocks UserQueryService
to simulate a missing User (return empty/throw the repository's user-not-found
exception) and then assertThrows the expected exception type (e.g.,
UserNotFoundException or the actual domain NotFound exception) when invoking
graduationUserAdminFacade.getGraduationUserById(graduationUserId); ensure the
test references the same fixtures used by getGrduationUserById_Success and
verifies the facade's error path.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@aics-admin/src/testFixtures/java/graduationUser/application/GraduationUserAdminFacadeTest.java`:
- Around line 277-287: Add a negative test for the user-not-found path when
calling GraduationUserAdminFacade.getGraduationUserById: create a new test
method in GraduationUserAdminFacadeTest (e.g.,
getGraduationUserById_UserNotFound_ThrowsException) that mocks UserQueryService
to simulate a missing User (return empty/throw the repository's user-not-found
exception) and then assertThrows the expected exception type (e.g.,
UserNotFoundException or the actual domain NotFound exception) when invoking
graduationUserAdminFacade.getGraduationUserById(graduationUserId); ensure the
test references the same fixtures used by getGrduationUserById_Success and
verifies the facade's error path.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5d720c57-7bac-4044-834b-c3a5c5d3423b

📥 Commits

Reviewing files that changed from the base of the PR and between 3231219 and c7aa210.

📒 Files selected for processing (3)
  • aics-admin/src/main/java/kgu/developers/admin/graduationUser/application/GraduationUserAdminFacade.java
  • aics-admin/src/main/java/kgu/developers/admin/graduationUser/presentation/response/GraduationUserDetailResponse.java
  • aics-admin/src/testFixtures/java/graduationUser/application/GraduationUserAdminFacadeTest.java

Copy link
Copy Markdown
Contributor

@JangYeongHu JangYeongHu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM~! 리뷰만 한번 확인해주시면 좋을 것 같아요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨feature create new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

졸업대상자 상세조회 API에 phon컬럼 추가했습니다.

2 participants