From 00365c534d4fb2d11a67f03bf7561067e99daf1b Mon Sep 17 00:00:00 2001 From: Mirna Gama Date: Fri, 12 Jan 2024 14:39:17 -0300 Subject: [PATCH] [R9] Unit test classes for Save User and FindUserByLogin use case classes --- .../user/FindUserByLoginUseCaseTest.java | 61 +++++++++++++++++++ .../usecase/user/SaveUserUseCaseTest.java | 55 +++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/FindUserByLoginUseCaseTest.java create mode 100644 src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/SaveUserUseCaseTest.java diff --git a/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/FindUserByLoginUseCaseTest.java b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/FindUserByLoginUseCaseTest.java new file mode 100644 index 0000000..59876ec --- /dev/null +++ b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/FindUserByLoginUseCaseTest.java @@ -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); + } + + +} diff --git a/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/SaveUserUseCaseTest.java b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/SaveUserUseCaseTest.java new file mode 100644 index 0000000..347aede --- /dev/null +++ b/src/test/java/com/mirna/hospitalmanagementapi/unit/application/usecase/user/SaveUserUseCaseTest.java @@ -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()); + } +}