use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ClientServiceTest method changeClientInfoError.
@Test
public void changeClientInfoError() {
Long userID = 0L;
Client client = ClientUtils.createPennyTeller(userID);
when(clientRepoMock.findById(userID)).thenReturn(Optional.ofNullable(null));
when(clientRepoMock.save(client)).thenReturn(null);
UserChangeInfoDTO userChangeInfoDTO = new UserChangeInfoDTO();
Exception exception = assertThrows(NotFoundEx.class, () -> {
clientService.changeClientInfo(userID, userChangeInfoDTO);
});
String resultMessage = exception.getMessage();
String perfectMessage = new NotFoundEx(userID.toString()).getMessage();
verify(clientRepoMock, times(1)).findById(userID);
verify(clientRepoMock, never()).save(client);
assertEquals(perfectMessage, resultMessage);
}
use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class UserController method changeUserInfo.
@PutMapping("/api/v1/user/{id}")
@PreAuthorize("hasAnyAuthority('MODERATOR', 'ADMIN')")
public ResponseEntity<?> changeUserInfo(@PathVariable Long id, @Valid @RequestBody UserChangeInfoDTO newUserInfo) {
User user = userService.getUserById(id);
String userRole = user.getRole().name();
boolean isModified = false;
if (Role.isCLIENT(userRole)) {
isModified = clientService.changeClientInfo(id, newUserInfo);
}
// for admin and moderator we can change only full name
String newFullName = newUserInfo.getFullName();
isModified = userService.changeFullName(id, newFullName);
log.debug("User with id " + id + " modified " + isModified);
return createModifyResponse(isModified);
}
Aggregations