You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.8 KiB
92 lines
2.8 KiB
package org.ros.chatto;
|
|
|
|
import static org.junit.Assert.assertArrayEquals;
|
|
import static org.mockito.Mockito.times;
|
|
import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.mockito.InjectMocks;
|
|
import org.mockito.Mock;
|
|
import org.mockito.junit.MockitoJUnitRunner;
|
|
import org.ros.chatto.dto.UserRegistrationDTO;
|
|
import org.ros.chatto.model.ChatUser;
|
|
import org.ros.chatto.model.Role;
|
|
import org.ros.chatto.model.UserRole;
|
|
import org.ros.chatto.repository.RoleRepository;
|
|
import org.ros.chatto.repository.UserRepository;
|
|
import org.ros.chatto.repository.UserRepositoryCustom;
|
|
import org.ros.chatto.repository.UserRoleRepository;
|
|
import org.ros.chatto.repository.UserSessionRepository;
|
|
import org.ros.chatto.service.UserService;
|
|
import org.ros.chatto.service.UserServiceImpl;
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
@SpringBootTest
|
|
@RunWith(MockitoJUnitRunner.class)
|
|
@Slf4j
|
|
public class UnitTest {
|
|
@InjectMocks
|
|
|
|
// private RoleService roleService;
|
|
// private UserTokenService userTokenService;
|
|
|
|
@Mock
|
|
private UserRoleRepository userRoleRepository;
|
|
|
|
@Mock
|
|
private PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
|
|
|
@Mock
|
|
private RoleRepository roleRepository;
|
|
|
|
@Mock
|
|
private UserRepositoryCustom userRepositoryCustom;
|
|
|
|
@Mock
|
|
private UserSessionRepository userSessionRepository;
|
|
|
|
@Mock
|
|
private UserRepository userRepository;
|
|
|
|
private UserService userService = new UserServiceImpl(userRepository, userRoleRepository, passwordEncoder, roleRepository,
|
|
userSessionRepository);
|
|
// private ChatUser chatUser;
|
|
|
|
@Before
|
|
public void setupMock() {
|
|
// userRepository = mock(UserRepository.class);
|
|
// chatUser = mock(ChatUser.class);
|
|
}
|
|
|
|
@Test
|
|
public void userRegistrationTest() {
|
|
UserRegistrationDTO userRegistrationDTO = new UserRegistrationDTO();
|
|
userRegistrationDTO.setUserName("mickey");
|
|
userRegistrationDTO.setPassword("mouse");
|
|
|
|
ChatUser chatUser = new ChatUser();
|
|
chatUser.setUserName("mickey");
|
|
// chatUser.setPassword("mouse");
|
|
|
|
Role role = new Role();
|
|
role.setRoleID(2);
|
|
role.setName("USER");
|
|
when(roleRepository.findByName("USER")).thenReturn(role);
|
|
when(userRepository.save(chatUser)).thenReturn(chatUser);
|
|
|
|
UserRole userRole = userService.registerUser(userRegistrationDTO);
|
|
assertArrayEquals(new Object[] { 2, "USER","mickey" },
|
|
new Object[] { userRole.getRole().getRoleID(),
|
|
userRole.getRole().getName(), userRole.getUser().getUserName() });
|
|
verify(userRepository, times(1)).save(chatUser);
|
|
verify(userRoleRepository,times(1)).save(userRole);
|
|
}
|
|
|
|
}
|