// 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); // } // }