[R9] Unit test classes for Save User and FindUserByLogin use case classes

This commit is contained in:
Mirna Gama 2024-01-12 14:39:17 -03:00 committed by Mirna Gama
parent d363a814bc
commit 00365c534d
2 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,61 @@
package com.mirna.hospitalmanagementapi.unit.application.usecase.user;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
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.usecase.user.FindUserByLoginUseCase;
import com.mirna.hospitalmanagementapi.domain.dtos.auth.UserDTO;
import com.mirna.hospitalmanagementapi.domain.entities.auth.User;
import com.mirna.hospitalmanagementapi.domain.repositories.auth.UserRepository;
/**
*
* @author Mirna Gama
* @version 1.0
*/
@SpringBootTest(classes = HospitalManagementApiApplication.class)
@TestInstance(Lifecycle.PER_CLASS)
@ActiveProfiles("test")
public class FindUserByLoginUseCaseTest {
@Autowired
private FindUserByLoginUseCase findUserByLogin;
@Autowired
private UserRepository userRepository;
@BeforeAll
public void init() {
User user = new User(new UserDTO("test", "password"));
userRepository.save(user);
}
@AfterAll
public void terminate() {
userRepository.deleteAll();
}
/**
* Should execute findUserByLogin method successfully
*
*/
@Test
@DisplayName("Should execute findUserByLogin method")
public void testFindUserByLogin() throws Exception {
User user = (User) findUserByLogin.execute("test");
assertNotNull(user);
}
}

View File

@ -0,0 +1,55 @@
package com.mirna.hospitalmanagementapi.unit.application.usecase.user;
import static org.junit.jupiter.api.Assertions.assertNotNull;
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.usecase.user.SaveUserUseCase;
import com.mirna.hospitalmanagementapi.domain.dtos.auth.UserDTO;
import com.mirna.hospitalmanagementapi.domain.entities.auth.User;
import com.mirna.hospitalmanagementapi.domain.repositories.auth.UserRepository;
/**
*
* @author Mirna Gama
* @version 1.0
*/
@SpringBootTest(classes = HospitalManagementApiApplication.class)
@TestInstance(Lifecycle.PER_CLASS)
@ActiveProfiles("test")
public class SaveUserUseCaseTest {
@Autowired
private SaveUserUseCase saveUser;
@Autowired
private UserRepository userRepository;
@AfterAll
public void terminate() {
userRepository.deleteAll();
}
/**
* Should execute findUserByLogin method successfully
*
*/
@Test
@DisplayName("Should execute save method")
public void testSaveUser() throws Exception {
User user = new User(new UserDTO("test", "password"));
user = (User) saveUser.execute(user);
assertNotNull(user.getId());
}
}