Estou criando um teste para um método que tem um find de outro repository, inseri 2 mocks de repository, mas o primeiro para de funcionar
@ExtendWith(MockitoExtension.class)
@SpringBootTest(classes = { Translator.class, ResourceBundleMessageSource.class, LocaleResolver.class })
public class ClientServiceTest {
@Mock
private ClientRepository clientRepository;
@Mock
private CityRepository cityRepository;
@InjectMocks
private ClientService clientService;
@Test
public void findByIdTest() throws Exception {
Client client = clientBuilder.client();
when(clientService.getUser()).thenReturn(new KeycloackUserDTO<>());
when(this.clientRepository.findById(1L)).thenReturn(Optional.of(client));
this.clientService.findById(1L);
}
}
quando vou chamar este fragmento
when(this.clientRepository.findById(1L)).thenReturn(Optional.of(client))
Da forma que está ele dá como em branco "Optional.empty"
Mas quando eu comento o outro repository este:
@Mock
private CityRepository cityRepository;
O teste dá certo "Optional[Cliente]"
Mas preciso de mockar o outro repository que é utilizado em outro teste, gostaria de saber o que acontece e qual seria a melhor solução