From 11a12d9273ff2e58196aa5acb5002e84f83838e4 Mon Sep 17 00:00:00 2001 From: Lukas Karsch <lukas.karsch03@gmail.com> Date: Thu, 30 Nov 2023 20:46:39 +0100 Subject: [PATCH] #29 first test for plant service --- requests.http | 2 +- .../growbros/service/PlantsServiceTest.java | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src/test/java/hdm/mi/growbros/service/PlantsServiceTest.java diff --git a/requests.http b/requests.http index 9401e13..7e78e46 100644 --- a/requests.http +++ b/requests.http @@ -1,6 +1,6 @@ ### Get all plants GET http://localhost:8080/api/v1/plants?page=0 -Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJsdWthcy5rYXJzY2hAZ214LmRlIiwiaWF0IjoxNzAxMjc4MzkzLCJleHAiOjE3MDEzNjQ3OTN9.TVQlG3yAl_zJddPoWDndY9Xj-9EaR0P__x3aGU3sdBA +Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJsdWthcy5rYXJzY2hAZ214LmRlIiwiaWF0IjoxNzAxMzcyNTIxLCJleHAiOjE3MDE0NTg5MjF9.8_rTh-5s4A6D1t_bdRdQFbM5RdNl2fpCLETpTQzInuc ### Get garden entries GET http://localhost:8080/api/v1/garden diff --git a/src/test/java/hdm/mi/growbros/service/PlantsServiceTest.java b/src/test/java/hdm/mi/growbros/service/PlantsServiceTest.java new file mode 100644 index 0000000..9121825 --- /dev/null +++ b/src/test/java/hdm/mi/growbros/service/PlantsServiceTest.java @@ -0,0 +1,44 @@ +package hdm.mi.growbros.service; + +import hdm.mi.growbros.models.dto.CustomPageDto; +import hdm.mi.growbros.models.plant.Plant; +import hdm.mi.growbros.repositories.PlantRepository; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.PageRequest; +import org.springframework.test.context.ActiveProfiles; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@SpringBootTest +@ActiveProfiles("test") +class PlantsServiceTest { + @MockBean + private PlantRepository plantRepository; + + @Autowired + private PlantsService plantsService; + + @Test + void getPlants_withPageEmpty() { + final PageRequest pageable = PageRequest.of(0, 10); + PageImpl<Plant> page = new PageImpl<>(List.of()); + final CustomPageDto<Plant> expected = new CustomPageDto<>(0, 0, page.getContent()); + when(plantRepository.findAll(pageable)) + .thenReturn(page); + + CustomPageDto<Plant> actual = plantsService.getPlants(0, 10); + + verify(plantRepository).findAll(pageable); + assertEquals(actual.currentPage(), expected.currentPage()); + assertEquals(actual.pageSize(), 0); + assertEquals(actual.content(), expected.content()); + } +} \ No newline at end of file -- GitLab