Skip to content
Snippets Groups Projects
Commit fba9f79b authored by abdu's avatar abdu
Browse files

add integration test for createuser method

parent 1815571f
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@ import lombok.Setter;
@Getter
@Setter
public class UserDTO {
private Long userId;
private String userId;
private String userName;
private String password;
}
......@@ -10,7 +10,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "users")
public class User {
@Id
private Long userId;
private String userId;
private String userName;
private String passwordHash;
}
......@@ -2,7 +2,9 @@ package com.cloudcomputing.todo.mapper;
import com.cloudcomputing.todo.dto.UserDTO;
import com.cloudcomputing.todo.entity.User;
import org.springframework.stereotype.Component;
@Component
public class UserMapper {
public UserDTO entityToDto(User user) {
UserDTO userDTO = new UserDTO();
......
......
......@@ -4,4 +4,7 @@ import com.cloudcomputing.todo.entity.User;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserRepository extends MongoRepository<User, String> {
boolean existsByUserName(String userName);
boolean existsByUserId(String userId);
User findByUserName(String userName);
}
package com.cloudcomputing.todo.service;public class UserService {
package com.cloudcomputing.todo.service;
import com.cloudcomputing.todo.dto.UserDTO;
import com.cloudcomputing.todo.entity.User;
import com.cloudcomputing.todo.mapper.UserMapper;
import com.cloudcomputing.todo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Autowired
private UserRepository userRepository;
public User createUser(UserDTO userDTO) {
User newUser;
if(userRepository.existsByUserId(userDTO.getUserId()) || userRepository.existsByUserName(userDTO.getUserName())){
newUser = userRepository.findByUserName(userDTO.getUserName());
} else {
newUser = userMapper.dtoToEntity(userDTO);
}
return userRepository.save(newUser);
}
}
package com.cloudcomputing.todo.service;
import com.cloudcomputing.todo.dto.UserDTO;
import com.cloudcomputing.todo.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@SpringBootTest
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testCreateUser(){
UserDTO userToCreate = new UserDTO();
userToCreate.setUserName("abduTest");
userToCreate.setPassword("abduTestPassword");
User createdUser = userService.createUser(userToCreate);
assertNotNull(createdUser);
assertEquals(userToCreate.getUserName(), createdUser.getUserName());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment