Search in sources :

Example 1 with Client

use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.

the class ProfileControllerTest method getClientProfile.

@Test
public void getClientProfile() {
    ClientInfoDTO clientInfoDTO = new ClientInfoDTO(1L, "CLIENT", "client@mail.ru");
    when(clientServiceMock.getClientDTOById(1L)).thenReturn(clientInfoDTO);
    User user = new User();
    user.setId(1L);
    user.setRole(Role.CLIENT);
    UserInfoDTO resultClientDTO = profileController.getProfile(user);
    assertEquals(clientInfoDTO, resultClientDTO);
}
Also used : User(com.ncedu.fooddelivery.api.v1.entities.User) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with Client

use of com.ncedu.fooddelivery.api.v1.entities.Client 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);
}
Also used : Client(com.ncedu.fooddelivery.api.v1.entities.Client) UserChangeInfoDTO(com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with Client

use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.

the class ClientUtils method createClient.

private static Client createClient(Long userId, String fullName, String email, String phoneNumber) {
    User user = new User();
    user.setId(userId);
    user.setFullName(fullName);
    user.setEmail(email);
    user.setRole(Role.CLIENT);
    Client client = new Client();
    client.setPhoneNumber(phoneNumber);
    client.setUser(user);
    return client;
}
Also used : User(com.ncedu.fooddelivery.api.v1.entities.User) Client(com.ncedu.fooddelivery.api.v1.entities.Client)

Example 4 with Client

use of com.ncedu.fooddelivery.api.v1.entities.Client in project 2021-msk-food-delivery by netcracker-edu.

the class AuthServiceImpl method signUp.

@Override
public isCreatedDTO signUp(NewUserDTO userInfo) {
    RegistrationMapper regMapper = RegistrationMapper.INSTANCE;
    userInfo.setPassword(encoder.encode(userInfo.getPassword()));
    User user = regMapper.dtoToUser(userInfo);
    user.setRegDate(Timestamp.valueOf(LocalDateTime.now()));
    if (Role.isCLIENT(userInfo.getRole())) {
        Client client = regMapper.dtoToClient(userInfo);
        user.setClient(client);
    }
    if (Role.isMODERATOR(userInfo.getRole())) {
        Moderator moderator = regMapper.dtoToModerator(userInfo);
        user.setModerator(moderator);
    }
    user = userRepo.save(user);
    Long userId = user.getId();
    return new isCreatedDTO(userId);
}
Also used : RegistrationMapper(com.ncedu.fooddelivery.api.v1.mappers.RegistrationMapper) com.ncedu.fooddelivery.api.v1.dto.isCreatedDTO(com.ncedu.fooddelivery.api.v1.dto.isCreatedDTO)

Example 5 with Client

use of com.ncedu.fooddelivery.api.v1.entities.Client 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;
}
Also used : User(com.ncedu.fooddelivery.api.v1.entities.User) AlreadyExistsException(com.ncedu.fooddelivery.api.v1.errors.badrequest.AlreadyExistsException) Client(com.ncedu.fooddelivery.api.v1.entities.Client)

Aggregations

Client (com.ncedu.fooddelivery.api.v1.entities.Client)7 Test (org.junit.jupiter.api.Test)5 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)5 User (com.ncedu.fooddelivery.api.v1.entities.User)4 UserChangeInfoDTO (com.ncedu.fooddelivery.api.v1.dto.user.UserChangeInfoDTO)2 NotFoundEx (com.ncedu.fooddelivery.api.v1.errors.notfound.NotFoundEx)2 com.ncedu.fooddelivery.api.v1.dto.isCreatedDTO (com.ncedu.fooddelivery.api.v1.dto.isCreatedDTO)1 ClientInfoDTO (com.ncedu.fooddelivery.api.v1.dto.user.ClientInfoDTO)1 Warehouse (com.ncedu.fooddelivery.api.v1.entities.Warehouse)1 AlreadyExistsException (com.ncedu.fooddelivery.api.v1.errors.badrequest.AlreadyExistsException)1 OrderCostChangedEx (com.ncedu.fooddelivery.api.v1.errors.orderRegistration.OrderCostChangedEx)1 RegistrationMapper (com.ncedu.fooddelivery.api.v1.mappers.RegistrationMapper)1 Geometry (com.vividsolutions.jts.geom.Geometry)1 Point (com.vividsolutions.jts.geom.Point)1 ArrayList (java.util.ArrayList)1