Я использую весенние данные jpa в своем проекте весенней загрузки.
Я запускаю запрос JPQL и использую проекцию для сохранения результата запроса. Моя проекция:
public interface VeryBasicProjection {
String getTitle();
String getUrl();
}
Мой сервис, вызывающий эту проекцию:
public List<VeryBasicDTO> getLatestData(int limit){
// Pageable for Limit
Pageable pageable = new PageRequest(0, limit);
// Get Data from DB
List<VeryBasicProjection> latestData = tableRepository.getLatestData("live", 2,pageable);
List<VeryBasicDTO> responseDTO = new ArrayList<>();
// Map Projection to DTO
for(VeryBasicProjection veryBasicProjection : latestData){
VeryBasicDTO veryBasicDTO = new VeryBasicDTO();
veryBasicDTO.buildDTO(veryBasicProjection);
responseDTO.add(veryBasicDTO);
}
return responseDTO;
}
Теперь я хочу протестировать эту службу с помощью Mockito (модульный тестовый пример). Я издеваюсь над вызовом репозитория, используя when и thenReturn.
Мой вопрос: как мне издеваться над результатом репозитория? Что должно быть в thenReturn? Я имею в виду, как мне создать экземпляр проекции и установить для него данные?