use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.
the class OrderServiceImpl1 method checkOrderDataActuality.
private void checkOrderDataActuality(CreateOrderDTO dto) {
Double clientCost = dto.getOverallCost();
Double clientDiscount = dto.getDiscount();
Double clientHighDemandCoeff = dto.getHighDemandCoeff();
// checking that client data is still actual
Double[] repeatedCalculation = countOrderCost(dto.getGeo(), dto.getProductAmountPairs(), dto.getWarehouseId());
Double countedCost = repeatedCalculation[0];
Double countedDiscount = repeatedCalculation[1];
Double countedHighDemandCoeff = repeatedCalculation[2];
if (!clientCost.equals(countedCost) || !clientHighDemandCoeff.equals(countedHighDemandCoeff) || !clientDiscount.equals(countedDiscount))
throw new OrderCostChangedEx(countedCost, countedDiscount, countedHighDemandCoeff);
}
use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.
the class UserDetailsServiceImpl method loadUserByUsername.
// TODO: add courier repo for finding user by phoneNumber
@Override
public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException {
User user = userRepo.findByEmail(login);
// if user not found by Email try find client/courier by phoneNumber
if (user == null) {
Client client = clientRepo.findByPhoneNumber(login);
if (client == null) {
throw new NotFoundEx(login);
}
user = client.getUser();
}
return user;
}
use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.
the class ClientServiceTest method getClientDTOByIdSuccess.
@Test
public void getClientDTOByIdSuccess() {
Long userId = 1L;
Client client = ClientUtils.createLeonardHofstadter(userId);
when(clientRepoMock.findById(userId)).thenReturn(Optional.of(client));
ClientInfoDTO resultClientDTO = clientService.getClientDTOById(userId);
ClientInfoDTO perfectClientDTO = ClientUtils.createClientInfoDTO(client);
verify(clientRepoMock, times(1)).findById(userId);
assertEquals(perfectClientDTO, resultClientDTO);
}
use of com.ncedu.fooddelivery.api.v1.entities.Client 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.entities.Client in project 2021-msk-food-delivery by netcracker-edu.
the class ClientServiceTest method getClientByIdSuccess.
@Test
public void getClientByIdSuccess() {
Long userId = 1L;
Client client = ClientUtils.createLeonardHofstadter(userId);
when(clientRepoMock.findById(userId)).thenReturn(Optional.of(client));
Client resultClient = clientService.getClientById(userId);
verify(clientRepoMock, times(1)).findById(userId);
assertEquals(client, resultClient);
}
Aggregations