Skip to content

[Release] dev → main: 지원자 평가 시스템 + CSV 필터 + 테스트 보강#177

Merged
seoyeon83 merged 27 commits into
mainfrom
dev
Jun 26, 2026
Merged

[Release] dev → main: 지원자 평가 시스템 + CSV 필터 + 테스트 보강#177
seoyeon83 merged 27 commits into
mainfrom
dev

Conversation

@seoyeon83

@seoyeon83 seoyeon83 commented Jun 26, 2026

Copy link
Copy Markdown
Member

💡 개요

dev 에 누적된 변경사항을 main 으로 반영하는 통합 PR 입니다. 지원자 평가 시스템 신규 기능과 CSV 추출 필터 개선, 그리고 모집 어드민·Admin 도메인 테스트 코드 보강이 포함됩니다. (포함 PR: #171, #175, #173, #176)

🪐 주요 변경 사항

✅ 상세 내용

지원자 평가 (#171)

  • 엔티티/Enum: ApplicantEval, EvaluationDecision, DecisionFilter, Applicant 최종 평가 필드
  • API: PUT/GET …/applicants/{id}/evaluations/me, GET …/{recruitmentId}/applicants[/evaluations], GET …/applicants/{id}/{evaluations,answers,interview-questions}, PATCH …/applicants/{id}/final-decision
  • 권한: 부문별 평가자 풀, 최종 평가는 대표진 전용

CSV decision 필터 (#175)

  • RecruitmentService/CsvService 에 decision(PASS/FAIL/ALL) 필터 + 최종 평가 컬럼 반영

테스트 (#173, #176)

  • 모집 어드민 CRUD(REC-ADMIN-002~009) 및 평가 기능 테스트
  • Admin 도메인 Service/Controller/Repository/Integration 75 tests

🔔 참고 사항

  • 4계층 테스트 프레임워크(Service Mockito / Controller @WebMvcTest / Repository·통합 Testcontainers) 준수 — 머지 전 CI/로컬에서 그린 확인 권장
  • 권한 거부 상태코드는 코드 기준 401(UNAUTHORIZED) 단언 (노션 명세 403 표기와 불일치 — 팀 정렬 필요)
  • 테스트 명세서(docs/test/*)는 gitignore 대상이라 diff 에 미포함

@CodeRabbit ignore

  • 변경 목적: 관리자용 지원서 평가/최종결정 기능을 추가하고, CSV 다운로드 필터링을 개선했습니다. 동시에 관리자 도메인 API와 모집 도메인의 테스트 커버리지를 대폭 확장했습니다.
  • 주요 변경 내용:
    • Admin 도메인
      • /accounts/me 조회 API 추가
      • AdminMeResponse DTO 추가
      • Admin.TeamName차기대표진 추가 및 관련 Swagger 메타데이터 갱신
      • Admin 리포지토리/서비스/컨트롤러 테스트 추가
    • Recruitment 도메인
      • 지원서 평가용 신규 엔티티/리포지토리 추가: ApplicantEval, EvaluationDecision, DecisionFilter, ApplicantEvalRepository
      • 지원자 finalDecision 저장/수정 기능 추가
      • 관리자용 평가 API 추가: 지원서 목록, 평가 집계, 최종결정 수정, 평가자/면접질문/답변 조회, 본인 평가 조회 및 upsert
      • 평가/응답용 DTO 다수 추가: ApplicantSummaryResponse, ApplicantEvaluationResponse, ApplicantEvaluatorsResponse, ApplicantInterviewQuestionsResponse, ApplicantAnswersResponse, FinalDecisionResponse, MyEvaluationResponse
      • CSV 다운로드에 final_decision 컬럼 추가, decision(PASS/FAIL/ALL) 필터 지원
      • 관련 Repository/Service/Controller 수정
    • 설정/시드
      • application-dev.yml, application-prod.ymladmin.bigdataboaz.com CORS 허용 추가
      • data.sql에 평가/필터링 테스트용 시드 데이터 추가 및 정리
    • 테스트
      • Admin CRUD/통합/리포지토리/서비스 테스트 추가
      • Recruitment CRUD/평가/CSV/리포지토리/통합 테스트 대폭 추가 및 갱신
  • 영향 범위: API 변경 있음 / DB 스키마 변경 있음 / 설정 변경 있음

seoyeon83 and others added 26 commits June 18, 2026 20:24
- Service: 공고/질문 CRUD 39개 (Given-When-Then, Mockito)
- Controller: @WebMvcTest 정상/예외/Valid/Security 38개
- Integration: @SpringBootTest Testcontainers 13개
- Repository: existsByRecruitmentId 등 파생 쿼리 보강
- createRecruitment: end < start 케이스 추가 (== 외)
- createQuestions: TABLE metadata 누락 → MISSING_PARAMETER 분기
- updateRecruitment/updateQuestion: JsonNullable undefined→기존 유지 전용 케이스
- Controller: item @positive(order_num) @Valid cascade 위반 → 400
- Integration: 다건 등록 2번째 충돌 시 전체 미저장(원자성) 검증
- CreateQuestions TABLE metadata 누락: TC-008 → TC-007b (기존 TC-008=multiple과 충돌 회피)
- Controller order_num @positive: EX-002 → TC-009b (기존 EX-002=limit_length와 충돌 회피)
- applicant_eval 엔티티 + applicant.final_decision 컬럼 추가
- 지원자/평가 대시보드 조회, 최종 평가 수정(대표진), 지원서별/개인 평가 조회, 개인 평가 저장(upsert)
- 권한 검증(대표진 SUPER&대표진, 쓰기 본인 부문 제한) + 평가 집계 서버 계산
- 개인 평가 저장은 네이티브 ON DUPLICATE KEY UPDATE로 동시성 멱등 보장
같은 트랜잭션에서 applicant/admin 저장 직후 네이티브 INSERT 실행 시
FK 대상 미flush로 인한 위반 방지 (통합 테스트 환경 보정)
- Service(Mockito): 집계·권한·부문·예외 분기
- Controller(@WebMvcTest): 계약·@Valid·401/403
- Repository(Testcontainers): upsert insert/update/멱등/null
- 통합(@SpringBootTest): 저장→집계, upsert 재저장, 권한
GET /api/v1/admin/accounts/me 엔드포인트로 인증된 본인의 id, 소속, 이름 반환
- 전체 주석 해제하여 local(sql.init always+ddl create) 시드 복구
- applicants에 final_decision 명시 (NOT NULL, DB 기본값 없음)
- 차기대표진 + 부문별 평가자 admin 추가, applicant_eval 시드 5건 추가
[Feat] 지원서 평가 어드민 기능 + 관리자 본인 정보 기능
…-crud

#136 recruitment admin CRUD 테스트 (REC-ADMIN-002~009)
서류 평가 결과 전달용으로 CSV에 '최종 평가' 컬럼을 추가한다.
전화번호 다음 위치에 배치하고, 값은 한글로 표기한다.
(PASS→합격, FAIL→불합격, HOLD→보류, PENDING→미정)
decision 파라미터(PASS/FAIL/ALL, 기본 ALL)로 추출 범위를 지정한다.
- DecisionFilter enum 신설 (ALL → final_decision 필터 미적용)
- 리포지토리에 final_decision nullable 필터 조건 추가 (DB 레벨 필터)
- S3 키에 추출 필터 표기하여 합격/불합격/전체 파일 구분
- decision 미지정 시 ALL로 동작하여 기존 호출과 하위호환 유지
- CsvServiceTest: '최종 평가' 컬럼 위치·한글 표기 검증
- RecruitmentServiceTest: decision=PASS 필터 전달·S3 키 표기, ALL→null 검증
- ApplicantRepositoryTest: 메서드 시그니처 변경 반영, final_decision 필터 케이스 추가
- RecruitmentIntegrationTest: decision=PASS end-to-end (합격자만 포함) 검증
- RecruitmentAdminControllerTest: decision 파라미터 전달·잘못된 값 400 검증
term 26(recruitment_id=1)에 부문별 final_decision=PASS·FAIL 지원자를
추가하여 decision=PASS/FAIL/ALL 추출 결과를 수동 검증할 수 있게 한다.
(user/applicant id 5~10, 기존 지원자는 그대로 유지)
[Feat] 지원서 CSV 추출 고도화 (최종 평가 컬럼 + decision 필터)
…tion)

- AdminServiceTest: 계정 CRUD·비밀번호·권한 분기 단위 테스트 (Mockito)
- AdminControllerTest: HTTP 계약·@Valid·Security 슬라이스 (@WebMvcTest)
- AdminRepositoryTest: soft delete 제외·정렬·평가자 풀 커스텀 쿼리 (@DataJpaTest)
- AdminIntegrationTest: 생성/수정/삭제/비번 end-to-end + RefreshToken 삭제 (@SpringBootTest)
[Test] Admin 도메인 테스트 코드 작성 (#174)
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

관리자 본인 계정 조회, 관리자 계정 조회·수정·삭제, 지원서 평가 저장·조회·최종결정, CSV 다운로드의 결정 필터, 관련 DTO/엔티티/레포지토리, 테스트와 시드 데이터가 함께 변경되었습니다.

Changes

관리자 계정 흐름

Layer / File(s) Summary
본인 계정 DTO와 엔드포인트
src/main/java/com/boaz/backend/domain/admin/..., src/test/java/com/boaz/backend/domain/admin/.../AdminControllerTest.java, src/test/java/com/boaz/backend/domain/admin/.../AdminServiceTest.java
AdminMeResponse/api/v1/admin/accounts/me가 추가되고, Admin.TeamName차기대표진이 포함되었습니다.
관리자 조회 쿼리
src/main/java/com/boaz/backend/domain/admin/repository/AdminRepository.java, src/test/java/com/boaz/backend/domain/admin/repository/AdminRepositoryTest.java
관리자 목록과 평가자 풀 조회 쿼리가 추가되고, 소프트 삭제 필터와 정렬 조건이 테스트로 검증됩니다.
계정 CRUD와 접근 제어
src/test/java/com/boaz/backend/domain/admin/.../AdminControllerTest.java, src/test/java/com/boaz/backend/domain/admin/.../AdminServiceTest.java, src/test/java/com/boaz/backend/domain/admin/.../AdminIntegrationTest.java
계정 목록, 생성, 조회, 수정, 삭제, 비밀번호 변경 흐름과 관련 오류 케이스가 테스트에 추가되었습니다.

지원서 평가 흐름

Layer / File(s) Summary
평가 엔티티와 리포지토리
src/main/java/com/boaz/backend/domain/recruitment/entity/..., src/main/java/com/boaz/backend/domain/recruitment/repository/..., src/test/java/com/boaz/backend/domain/recruitment/repository/...Test.java
EvaluationDecision, DecisionFilter, ApplicantEval, finalDecision, 답변 조회, 평가 저장/조회 쿼리와 저장/조회 테스트가 추가되었습니다.
평가 DTO와 컨트롤러
src/main/java/com/boaz/backend/domain/recruitment/dto/..., src/main/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminController.java, src/test/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminControllerTest.java
지원서 평가 요청/응답 DTO와 관리자 평가 API가 추가되어 지원서 목록, 평가 집계, 최종결정, 개인 평가를 반환합니다.
평가 서비스 흐름
src/main/java/com/boaz/backend/domain/recruitment/service/RecruitmentService.java, src/test/java/com/boaz/backend/domain/recruitment/service/RecruitmentEvaluationServiceTest.java, src/test/java/com/boaz/backend/domain/recruitment/integration/ApplicantEvaluationIntegrationTest.java
지원서 평가 대시보드, 최종결정 변경, 평가자 병합, 개인 평가 upsert, 답변 매핑 로직이 서비스와 통합 테스트에 추가되었습니다.
CSV 필터와 내보내기
src/main/java/com/boaz/backend/domain/recruitment/controller/RecruitmentAdminController.java, src/main/java/com/boaz/backend/domain/recruitment/service/CsvService.java, src/main/resources/application-*.yml, src/main/resources/data.sql, src/test/java/com/boaz/backend/domain/recruitment/service/CsvServiceTest.java, src/test/java/com/boaz/backend/domain/recruitment/service/RecruitmentServiceTest.java, src/test/java/com/boaz/backend/domain/recruitment/integration/RecruitmentIntegrationTest.java, src/test/java/com/boaz/backend/domain/recruitment/controller/RecruitmentAdminControllerTest.java
downloadApplicationsDecisionFilter를 받도록 바뀌고, CSV에 최종 평가 컬럼이 추가되며, 관련 설정과 시드 데이터가 갱신되었습니다.
모집공고 CRUD 테스트
src/test/java/com/boaz/backend/domain/recruitment/service/RecruitmentServiceTest.java, src/test/java/com/boaz/backend/domain/recruitment/integration/RecruitmentIntegrationTest.java, src/test/java/com/boaz/backend/domain/recruitment/repository/ApplicationQuestionRepositoryTest.java
모집공고와 질문 CRUD, 중복 검증, 정렬, 타입 변경, 삭제 가드 테스트가 확장되었습니다.

Sequence Diagram(s)

평가 저장 흐름

sequenceDiagram
  participant ApplicantEvaluationAdminController
  participant RecruitmentService
  participant ApplicantRepository
  participant ApplicantEvalRepository
  ApplicantEvaluationAdminController->>RecruitmentService: saveMyEvaluation(applicantId, request, currentAdmin)
  RecruitmentService->>ApplicantRepository: load Applicant and verify track
  RecruitmentService->>ApplicantEvalRepository: upsert(applicantId, adminId, decision, score, memo, interviewQuestion)
  RecruitmentService-->>ApplicantEvaluationAdminController: MyEvaluationResponse
Loading

CSV 다운로드 흐름

sequenceDiagram
  participant RecruitmentAdminController
  participant RecruitmentService
  participant ApplicantRepository
  participant CsvService
  participant S3Service
  RecruitmentAdminController->>RecruitmentService: downloadApplications(term, decision)
  RecruitmentService->>ApplicantRepository: findSubmittedByRecruitmentIdAndTrackAndDecision(...)
  RecruitmentService->>CsvService: generateCsv(applicants)
  CsvService-->>RecruitmentService: CSV bytes
  RecruitmentService->>S3Service: uploadCsv(...)
  RecruitmentService-->>RecruitmentAdminController: uploaded file key
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.97% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 지원자 평가 시스템, CSV 필터, 테스트 보강이라는 PR의 핵심 변경점을 잘 요약합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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.

@seoyeon83 seoyeon83 self-assigned this Jun 26, 2026

@minseo0313 minseo0313 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
src/test/java/com/boaz/backend/domain/recruitment/service/CsvServiceTest.java (1)

140-145: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

선택 제안: 셀 분리 로직을 재사용하면 더 견고해질 수 있어요.

decisionCellsplit(",")로 셀을 나누는데, 현재 고정 컬럼들엔 콤마가 없어 정상 동작합니다. 다만 위쪽 generateAndExtractCell의 따옴표 인식 정규식과 분리 방식이 달라, 향후 콤마 포함 값이 끼어들면 인덱스가 어긋날 여지가 있습니다. 동일한 분리 헬퍼를 공유하면 미래 변경에 더 안전할 것 같아요. 지금 당장 문제는 아니니 참고만 부탁드립니다. 🙂

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/test/java/com/boaz/backend/domain/recruitment/service/CsvServiceTest.java`
around lines 140 - 145, The CSV cell extraction in decisionCell uses a different
splitting approach than generateAndExtractCell, which can make the test brittle
if quoted values or commas appear later. Refactor decisionCell to reuse the same
CSV parsing/splitting helper already used by generateAndExtractCell, keeping the
logic consistent and centered around CsvServiceTest's shared extraction flow
instead of duplicating split(",") handling.
src/main/java/com/boaz/backend/domain/recruitment/service/RecruitmentService.java (1)

1038-1076: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

평가자 풀 조회 + evalByAdmin 맵 빌드 로직 공통화 제안 (선택)

getApplicantEvaluatorsgetApplicantInterviewQuestions가 평가자 풀 조회와 applicantEvalRepository.findByApplicantIdWithAdmin(...)evalByAdmin 맵 생성까지 거의 동일하게 반복하고 있어요. 응답 매핑부만 다르니, 풀+맵 빌드를 작은 private 헬퍼로 추출하면 한쪽만 고쳐도 양쪽이 어긋나는 일을 막을 수 있을 것 같습니다. 지금 동작에는 문제 없으니 여유 될 때 다듬으시면 좋겠어요. 🙂

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/main/java/com/boaz/backend/domain/recruitment/service/RecruitmentService.java`
around lines 1038 - 1076, Both getApplicantEvaluators and
getApplicantInterviewQuestions duplicate the same evaluator-pool lookup and
evalByAdmin map-building logic. Extract that shared work into a small private
helper in RecruitmentService, then reuse it from both methods so the evaluator
selection and applicantEvalRepository.findByApplicantIdWithAdmin(...) handling
stay consistent; keep the response mapping differences only in the two public
methods.
src/test/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminControllerTest.java (1)

150-160: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

성공 케이스에서 응답 계약까지 같이 검증해 두면 더 안전합니다.

지금은 Line 153에서 null을 반환하도록 stub 해 둬서, 서비스가 실수로 null을 내려도 이 테스트는 계속 통과합니다. 이 엔드포인트는 FinalDecisionResponse를 반환하므로 $.data.applicant_id, $.data.final_decision까지 확인해 두면 회귀를 더 잘 잡을 수 있어요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/test/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminControllerTest.java`
around lines 150 - 160, The success test for ApplicantEvaluationAdminController
should validate the actual response contract, not just the HTTP 200 and status
field. In success() for the PATCH endpoint, replace the null stub on
recruitmentService.updateFinalDecision with a valid FinalDecisionResponse and
assert the returned payload fields such as $.data.applicant_id and
$.data.final_decision. Keep the checks in ApplicantEvaluationAdminControllerTest
aligned with the controller’s FinalDecisionResponse shape so a null service
return or contract regression is caught.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@src/main/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminController.java`:
- Around line 82-84: The OpenAPI description on
ApplicantEvaluationAdminController#getApplicantAnswers should be updated to
match the real access rule used by
ApplicantEvaluationIntegrationTest#getApplicantAnswersTrackAccess: do not
describe “대표진” as broadly allowed, and instead state that only the explicitly
permitted role (currently 차기대표진) can access other tracks while others are
restricted to their own track’s applicants. Keep the summary unchanged and
revise only the description text so it reflects the actual authorization
contract.

In
`@src/main/java/com/boaz/backend/domain/recruitment/dto/request/FinalDecisionUpdateRequest.java`:
- Around line 12-13: The FinalDecisionUpdateRequest DTO currently accepts the
full EvaluationDecision enum, which allows non-final states like HOLD or PENDING
to be persisted through RecruitmentService.updateFinalDecision() into
Applicant.finalDecision. Restrict this request to PASS/FAIL only by adding
validation at the DTO boundary or by introducing a dedicated final-decision
enum, and update updateFinalDecision() to only accept/store those two values.

---

Nitpick comments:
In
`@src/main/java/com/boaz/backend/domain/recruitment/service/RecruitmentService.java`:
- Around line 1038-1076: Both getApplicantEvaluators and
getApplicantInterviewQuestions duplicate the same evaluator-pool lookup and
evalByAdmin map-building logic. Extract that shared work into a small private
helper in RecruitmentService, then reuse it from both methods so the evaluator
selection and applicantEvalRepository.findByApplicantIdWithAdmin(...) handling
stay consistent; keep the response mapping differences only in the two public
methods.

In
`@src/test/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminControllerTest.java`:
- Around line 150-160: The success test for ApplicantEvaluationAdminController
should validate the actual response contract, not just the HTTP 200 and status
field. In success() for the PATCH endpoint, replace the null stub on
recruitmentService.updateFinalDecision with a valid FinalDecisionResponse and
assert the returned payload fields such as $.data.applicant_id and
$.data.final_decision. Keep the checks in ApplicantEvaluationAdminControllerTest
aligned with the controller’s FinalDecisionResponse shape so a null service
return or contract regression is caught.

In
`@src/test/java/com/boaz/backend/domain/recruitment/service/CsvServiceTest.java`:
- Around line 140-145: The CSV cell extraction in decisionCell uses a different
splitting approach than generateAndExtractCell, which can make the test brittle
if quoted values or commas appear later. Refactor decisionCell to reuse the same
CSV parsing/splitting helper already used by generateAndExtractCell, keeping the
logic consistent and centered around CsvServiceTest's shared extraction flow
instead of duplicating split(",") handling.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 91a4cfa0-a066-41c8-815f-2e37923ad2fa

📥 Commits

Reviewing files that changed from the base of the PR and between 6a3c0fa and cbf2273.

📒 Files selected for processing (46)
  • src/main/java/com/boaz/backend/domain/admin/controller/AdminController.java
  • src/main/java/com/boaz/backend/domain/admin/dto/request/AdminCreateRequest.java
  • src/main/java/com/boaz/backend/domain/admin/dto/response/AdminMeResponse.java
  • src/main/java/com/boaz/backend/domain/admin/entity/Admin.java
  • src/main/java/com/boaz/backend/domain/admin/repository/AdminRepository.java
  • src/main/java/com/boaz/backend/domain/admin/service/AdminService.java
  • src/main/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminController.java
  • src/main/java/com/boaz/backend/domain/recruitment/controller/RecruitmentAdminController.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/request/EvaluationSaveRequest.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/request/FinalDecisionUpdateRequest.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/ApplicantAnswersResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/ApplicantEvaluationResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/ApplicantEvaluatorsResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/ApplicantInterviewQuestionsResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/ApplicantSummaryResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/EvaluatorEvaluationResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/EvaluatorInterviewQuestionResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/FinalDecisionResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/dto/response/MyEvaluationResponse.java
  • src/main/java/com/boaz/backend/domain/recruitment/entity/Applicant.java
  • src/main/java/com/boaz/backend/domain/recruitment/entity/ApplicantEval.java
  • src/main/java/com/boaz/backend/domain/recruitment/entity/DecisionFilter.java
  • src/main/java/com/boaz/backend/domain/recruitment/entity/EvaluationDecision.java
  • src/main/java/com/boaz/backend/domain/recruitment/repository/ApplicantAnswerRepository.java
  • src/main/java/com/boaz/backend/domain/recruitment/repository/ApplicantEvalRepository.java
  • src/main/java/com/boaz/backend/domain/recruitment/repository/ApplicantRepository.java
  • src/main/java/com/boaz/backend/domain/recruitment/service/CsvService.java
  • src/main/java/com/boaz/backend/domain/recruitment/service/RecruitmentService.java
  • src/main/resources/application-dev.yml
  • src/main/resources/application-prod.yml
  • src/main/resources/data.sql
  • src/test/java/com/boaz/backend/domain/admin/controller/AdminControllerTest.java
  • src/test/java/com/boaz/backend/domain/admin/integration/AdminIntegrationTest.java
  • src/test/java/com/boaz/backend/domain/admin/repository/AdminRepositoryTest.java
  • src/test/java/com/boaz/backend/domain/admin/service/AdminServiceTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/controller/ApplicantEvaluationAdminControllerTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/controller/RecruitmentAdminControllerTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/integration/ApplicantEvaluationIntegrationTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/integration/RecruitmentIntegrationTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/repository/ApplicantAnswerRepositoryTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/repository/ApplicantEvalRepositoryTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/repository/ApplicantRepositoryTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/repository/ApplicationQuestionRepositoryTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/service/CsvServiceTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/service/RecruitmentEvaluationServiceTest.java
  • src/test/java/com/boaz/backend/domain/recruitment/service/RecruitmentServiceTest.java

@seoyeon83
seoyeon83 merged commit a3e20f3 into main Jun 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants