use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ProfileControllerTest method changeAdminName.
@Test
public void changeAdminName() {
UserChangeInfoDTO userChangeInfoDTO = new UserChangeInfoDTO();
userChangeInfoDTO.setFullName("Howard Joel Wolowitz");
Long authedUserId = 1L;
when(userServiceMock.changeFullName(authedUserId, userChangeInfoDTO.getFullName())).thenReturn(true);
User user = new User();
user.setId(authedUserId);
user.setRole(Role.ADMIN);
ResponseEntity<?> resultResponse = profileController.changeUserInfo(userChangeInfoDTO, user);
ResponseEntity<?> perfectResponse = createModifyResponse(true);
assertEquals(perfectResponse, resultResponse);
}
use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ProfileControllerTest method changeAdminNameWithNullName.
@Test
public void changeAdminNameWithNullName() {
// in DTO fullName not presented
UserChangeInfoDTO userChangeInfoDTO = new UserChangeInfoDTO();
userChangeInfoDTO.setPhoneNumber("+7 (800) 555 35-35");
Long authedUserId = 1L;
when(userServiceMock.changeFullName(authedUserId, userChangeInfoDTO.getFullName())).thenReturn(false);
User user = new User();
user.setId(authedUserId);
user.setRole(Role.ADMIN);
ResponseEntity<?> resultResponse = profileController.changeUserInfo(userChangeInfoDTO, user);
ResponseEntity<?> perfectResponse = createModifyResponse(false);
assertEquals(perfectResponse, resultResponse);
}
use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ClientServiceTest method changeClientInfoSuccess.
@Test
public void changeClientInfoSuccess() {
Long userID = 1L;
Client client = ClientUtils.createPennyTeller(userID);
when(clientRepoMock.findById(userID)).thenReturn(Optional.of(client));
when(clientRepoMock.save(client)).thenReturn(null);
String newFullName = "Penny Hofstadter";
String newPhoneNumber = "+7 (800) 555 35-35";
UserChangeInfoDTO userChangeInfoDTO = new UserChangeInfoDTO(newFullName, newPhoneNumber);
boolean result = clientService.changeClientInfo(userID, userChangeInfoDTO);
verify(clientRepoMock, times(1)).findById(userID);
verify(clientRepoMock, times(1)).save(client);
assertEquals(newFullName, client.getUser().getFullName());
assertEquals(newPhoneNumber, client.getPhoneNumber());
assertTrue(result);
}
use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ClientServiceImpl method changeClientInfo.
@Override
public boolean changeClientInfo(Long id, UserChangeInfoDTO newUserInfo) {
Client client = getClientById(id);
String newFullName = newUserInfo.getFullName();
if (newFullName != null) {
User user = client.getUser();
user.setFullName(newFullName);
client.setUser(user);
}
String newPhoneNumber = newUserInfo.getPhoneNumber();
if (newPhoneNumber != null) {
Client clientWithNewNumber = clientRepo.findByPhoneNumber(newPhoneNumber);
if (clientWithNewNumber != null) {
throw new AlreadyExistsException(newPhoneNumber);
}
client.setPhoneNumber(newPhoneNumber);
}
clientRepo.save(client);
return true;
}
use of com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO in project 2021-msk-food-delivery by netcracker-edu.
the class ProfileControllerTest method changeClientName.
@Test
public void changeClientName() {
UserChangeInfoDTO userChangeInfoDTO = new UserChangeInfoDTO();
userChangeInfoDTO.setFullName("Sheldon Lee Cooper");
Long authedUserId = 1L;
when(clientServiceMock.changeClientInfo(authedUserId, userChangeInfoDTO)).thenReturn(true);
User user = new User();
user.setId(authedUserId);
user.setRole(Role.CLIENT);
ResponseEntity<?> resultResponse = profileController.changeUserInfo(userChangeInfoDTO, user);
ResponseEntity<?> perfectResponse = createModifyResponse(true);
assertEquals(perfectResponse, resultResponse);
}
Aggregations