Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ public ResponseEntity<UnivApplyInfoImportResponse> importUnivApplyInfos(
return ResponseEntity.ok(adminUnivApplyInfoService.importUnivApplyInfos(request));
}

@GetMapping("/{id}")
public ResponseEntity<AdminUnivApplyInfoResponse> getUnivApplyInfo(
@PathVariable long id
) {
return ResponseEntity.ok(adminUnivApplyInfoService.getUnivApplyInfo(id));
}

@PostMapping
public ResponseEntity<AdminUnivApplyInfoResponse> createUnivApplyInfo(
@Valid @RequestBody AdminUnivApplyInfoCreateRequest request
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,13 @@ private HostUniversity findHostUniversity(Long hostUniversityId) {
.orElseThrow(() -> new CustomException(UNIVERSITY_NOT_FOUND));
}

@Transactional(readOnly = true)
public AdminUnivApplyInfoResponse getUnivApplyInfo(long id) {
UnivApplyInfo univApplyInfo = univApplyInfoRepository.findById(id)
.orElseThrow(() -> new CustomException(UNIV_APPLY_INFO_NOT_FOUND));
return AdminUnivApplyInfoResponse.from(univApplyInfo);
}

@Transactional
@DefaultCacheOut(
key = {"univApplyInfoTextSearch", "university:recommend:general"},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,43 @@ class 지원_정보_생성 {
}
}

@Nested
class 지원_정보_단건_조회 {

@Test
void 존재하는_id로_조회하면_상세_정보를_반환한다() {
// given
UnivApplyInfo univApplyInfo = univApplyInfoFixtureBuilder.univApplyInfo()
.termId(term.getId()).koreanName("괌대학(A형)")
.university(hostUniversity).homeUniversity(homeUniversity).create();

// when
AdminUnivApplyInfoResponse response = adminUnivApplyInfoService.getUnivApplyInfo(univApplyInfo.getId());

// then
assertAll(
() -> assertThat(response.id()).isEqualTo(univApplyInfo.getId()),
() -> assertThat(response.termId()).isEqualTo(term.getId()),
() -> assertThat(response.homeUniversityId()).isEqualTo(homeUniversity.getId()),
() -> assertThat(response.hostUniversityId()).isEqualTo(hostUniversity.getId()),
() -> assertThat(response.studentCapacity()).isEqualTo(univApplyInfo.getStudentCapacity()),
() -> assertThat(response.semesterRequirement()).isEqualTo(univApplyInfo.getSemesterRequirement()),
() -> assertThat(response.detailsForLanguage()).isEqualTo(univApplyInfo.getDetailsForLanguage()),
() -> assertThat(response.gpaRequirement()).isEqualTo(univApplyInfo.getGpaRequirement()),
() -> assertThat(response.gpaRequirementCriteria()).isEqualTo(univApplyInfo.getGpaRequirementCriteria()),
() -> assertThat(response.detailsForAccommodation()).isEqualTo(univApplyInfo.getDetailsForAccommodation())
);
}

@Test
void 존재하지_않는_id로_조회하면_예외가_발생한다() {
// when & then
assertThatCode(() -> adminUnivApplyInfoService.getUnivApplyInfo(invalidId))
.isInstanceOf(CustomException.class)
.hasMessage(ErrorCode.UNIV_APPLY_INFO_NOT_FOUND.getMessage());
}
}

@Nested
class 지원_정보_수정 {

Expand Down
Loading