#31 loan: update counsel

This commit is contained in:
haerong22
2023-01-13 00:31:39 +09:00
parent 434fe64941
commit dbca3e6644
4 changed files with 46 additions and 0 deletions

View File

@@ -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));
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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");
}
}