[R9] Unit test for add method in user service class
This commit is contained in:
parent
00365c534d
commit
323321350e
@ -0,0 +1,68 @@
|
|||||||
|
package com.mirna.hospitalmanagementapi.unit.application.service;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.TestInstance;
|
||||||
|
import org.junit.jupiter.api.TestInstance.Lifecycle;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
|
||||||
|
import com.mirna.hospitalmanagementapi.HospitalManagementApiApplication;
|
||||||
|
import com.mirna.hospitalmanagementapi.application.services.UserServiceImpl;
|
||||||
|
import com.mirna.hospitalmanagementapi.domain.dtos.auth.UserDTO;
|
||||||
|
import com.mirna.hospitalmanagementapi.domain.entities.auth.User;
|
||||||
|
import com.mirna.hospitalmanagementapi.domain.repositories.auth.UserRepository;
|
||||||
|
|
||||||
|
import jakarta.validation.ConstraintViolationException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Mirna Gama
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@SpringBootTest(classes = HospitalManagementApiApplication.class)
|
||||||
|
@TestInstance(Lifecycle.PER_CLASS)
|
||||||
|
@ActiveProfiles("test")
|
||||||
|
public class UserServiceTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserServiceImpl userService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserRepository userRepository;
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public void terminate() {
|
||||||
|
userRepository.deleteAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a valid doctor.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
@DisplayName("Should add valid user")
|
||||||
|
public void testAddValidUser() {
|
||||||
|
UserDTO userDTO = new UserDTO("test", "password");
|
||||||
|
|
||||||
|
User user = userService.addUser(userDTO);
|
||||||
|
|
||||||
|
assertNotNull(user.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Avoid creating a user with invalid parameter. Example: login being blank
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
@DisplayName("Should not add user with invalid parameter")
|
||||||
|
public void testAddInvalidUser() {
|
||||||
|
UserDTO userDTO = new UserDTO("", "password");
|
||||||
|
|
||||||
|
assertThrows(ConstraintViolationException.class, () -> userService.addUser(userDTO));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user