#31 loan: update judgement

This commit is contained in:
haerong22
2023-03-28 00:27:02 +09:00
parent d72d45e2ad
commit 07abdbdf45
4 changed files with 47 additions and 0 deletions

View File

@@ -31,4 +31,12 @@ public class JudgementController extends AbstractController {
) {
return ok(judgementService.getJudgementOfApplication(applicationId));
}
@PutMapping("/{judgementId}")
public ResponseDto<JudgementDto.Response> update(
@PathVariable Long judgementId,
@RequestBody JudgementDto.Request request
) {
return ok(judgementService.update(judgementId, request));
}
}

View File

@@ -9,4 +9,6 @@ public interface JudgementService {
JudgementDto.Response get(Long judgementId);
JudgementDto.Response getJudgementOfApplication(Long applicationId);
JudgementDto.Response update(Long judgementId, JudgementDto.Request request);
}

View File

@@ -55,6 +55,19 @@ public class JudgementServiceImpl implements JudgementService {
return modelMapper.map(judgement, JudgementDto.Response.class);
}
@Override
public JudgementDto.Response update(Long judgementId, JudgementDto.Request request) {
Judgement judgement = judgementRepository.findById(judgementId)
.orElseThrow(() -> new BaseException(ResultType.SYSTEM_ERROR));
judgement.setName(request.getName());
judgement.setApprovalAmount(request.getApprovalAmount());
judgementRepository.save(judgement);
return modelMapper.map(judgement, JudgementDto.Response.class);
}
private boolean isPresentApplication(Long applicationId) {
return applicationRepository.findById(applicationId).isPresent();
}

View File

@@ -91,4 +91,28 @@ class JudgementServiceImplTest {
assertThat(actual.getJudgementId()).isSameAs(1L);
}
@Test
void Should_ReturnUpdatedResponseOfExistJudgementEntity_When_RequestUpdateExistJudgementInfo() {
Judgement entity = Judgement.builder()
.judgementId(1L)
.name("kim")
.approvalAmount(BigDecimal.valueOf(5000000))
.build();
JudgementDto.Request request = JudgementDto.Request.builder()
.name("lee")
.approvalAmount(BigDecimal.valueOf(10000000))
.build();
when(judgementRepository.findById(1L)).thenReturn(Optional.ofNullable(entity));
when(judgementRepository.save(ArgumentMatchers.any(Judgement.class))).thenReturn(entity);
JudgementDto.Response actual = judgementService.update(1L, request);
assertThat(actual.getJudgementId()).isSameAs(1L);
assertThat(actual.getName()).isSameAs(request.getName());
assertThat(actual.getApprovalAmount()).isSameAs(request.getApprovalAmount());
}
}