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()); + } +}