#31 loan: update counsel
This commit is contained in:
@@ -23,4 +23,9 @@ public class CounselController extends AbstractController {
|
||||
return ok(counselService.get(counselId));
|
||||
}
|
||||
|
||||
@PutMapping("/{counselId}")
|
||||
public ResponseDto<CounselDto.Response> update(@PathVariable Long counselId, @RequestBody CounselDto.Request request) {
|
||||
return ok(counselService.update(counselId, request));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,4 +7,6 @@ public interface CounselService {
|
||||
CounselDto.Response create(CounselDto.Request request);
|
||||
|
||||
CounselDto.Response get(Long counselId);
|
||||
|
||||
CounselDto.Response update(Long counselId, CounselDto.Request request);
|
||||
}
|
||||
|
||||
@@ -35,4 +35,21 @@ public class CounselServiceImpl implements CounselService {
|
||||
|
||||
return modelMapper.map(counsel, CounselDto.Response.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CounselDto.Response update(Long counselId, CounselDto.Request request) {
|
||||
Counsel counsel = counselRepository.findById(counselId)
|
||||
.orElseThrow(() -> new BaseException(ResultType.SYSTEM_ERROR));
|
||||
|
||||
counsel.setName(request.getName());
|
||||
counsel.setCellPhone(request.getCellPhone());
|
||||
counsel.setEmail(request.getEmail());
|
||||
counsel.setMemo(request.getMemo());
|
||||
counsel.setAddress(request.getAddress());
|
||||
counsel.setAddressDetail(request.getAddressDetail());
|
||||
counsel.setZipCode(request.getZipCode());
|
||||
|
||||
counselRepository.save(counsel);
|
||||
return modelMapper.map(counsel, CounselDto.Response.class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,4 +86,26 @@ class CounselServiceTest {
|
||||
assertThatThrownBy(() -> counselService.get(findId))
|
||||
.isInstanceOf(BaseException.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
void Should_ReturnUpdatedResponseOfExistCounselEntity_When_RequestUpdateExistCounselInfo() {
|
||||
Long findId = 1L;
|
||||
|
||||
Counsel entity = Counsel.builder()
|
||||
.counselId(1L)
|
||||
.name("kim")
|
||||
.build();
|
||||
|
||||
CounselDto.Request request = CounselDto.Request.builder()
|
||||
.name("jung")
|
||||
.build();
|
||||
|
||||
when(counselRepository.save(ArgumentMatchers.any(Counsel.class))).thenReturn(entity);
|
||||
when(counselRepository.findById(findId)).thenReturn(Optional.ofNullable(entity));
|
||||
|
||||
CounselDto.Response actual = counselService.update(findId, request);
|
||||
|
||||
assertThat(actual.getCounselId()).isSameAs(findId);
|
||||
assertThat(actual.getName()).isSameAs("jung");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user