add test to find by id with sucesses user service

This commit is contained in:
rayankonecny 2025-12-12 23:22:14 +00:00
parent 3af921296c
commit 712d28f869
2 changed files with 58 additions and 0 deletions

View file

@ -36,6 +36,10 @@ dependencies {
// Testing dependencies // Testing dependencies
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.boot:spring-boot-starter-test'
// Mockito for mocking in tests
testImplementation 'org.mockito:mockito-core:5.12.0'
} }
dependencyManagement { dependencyManagement {

View file

@ -0,0 +1,54 @@
package br.com.rayankonecny.userserviceapi.service;
import static org.junit.jupiter.api.Assertions.*;
import java.util.Optional;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import br.com.rayankonecny.userserviceapi.entity.User;
import br.com.rayankonecny.userserviceapi.mapper.UserMapper;
import br.com.rayankonecny.userserviceapi.repository.UserRepository;
import models.responses.UserResponse;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.times;
@SpringBootTest
public class UserServiceTest {
@InjectMocks
private UserService service;
@Mock
private UserRepository repository;
@Mock
private UserMapper mapper;
@Mock
private BCryptPasswordEncoder encoder;
@Test
public void whenCallFindByIdWithValidIdTheReturnUserResponse() {
when(repository.findById(anyString())).thenReturn(Optional.of(new User()));
when(mapper.fromEntity(any(User.class))).thenReturn(mock(UserResponse.class));
final var response = service.findById("1");
Assertions.assertNotNull(response);
assertEquals(UserResponse.class, response.getClass());
verify(repository, times(1)).findById(anyString());
verify(mapper, times(1)).fromEntity(any(User.class));
}
}