From 85105994cb486c43ade9816900c302115355738f Mon Sep 17 00:00:00 2001 From: Gabriel Lopes <123586763+gabrielldn@users.noreply.github.com> Date: Mon, 9 Jun 2025 00:38:23 -0300 Subject: [PATCH] Add UserService unit test --- pom.xml | 7 ++++ .../com/example/service/UserServiceTest.java | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/test/java/com/example/service/UserServiceTest.java diff --git a/pom.xml b/pom.xml index b410baa..7da0af6 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,13 @@ springdoc-openapi-starter-webmvc-ui 2.1.0 + + + + org.springframework.boot + spring-boot-starter-test + test + diff --git a/src/test/java/com/example/service/UserServiceTest.java b/src/test/java/com/example/service/UserServiceTest.java new file mode 100644 index 0000000..ef9231a --- /dev/null +++ b/src/test/java/com/example/service/UserServiceTest.java @@ -0,0 +1,33 @@ +package com.example.service; + +import com.example.exception.UserNotFoundException; +import com.example.repository.UserRepository; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +class UserServiceTest { + + @Mock + private UserRepository userRepository; + + @InjectMocks + private UserService userService; + + @Test + void deleteUser_shouldThrowException_whenUserNotFound() { + Long userId = 1L; + when(userRepository.existsById(userId)).thenReturn(false); + + assertThrows(UserNotFoundException.class, () -> userService.deleteUser(userId)); + + verify(userRepository, never()).deleteById(anyLong()); + } +}