From 53f56f233070b7762f143a8dee3710680514d1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diana=20Gul=C4=8D=C3=ADkov=C3=A1?= <xgulcik@fi.muni.cz> Date: Sun, 16 Apr 2023 20:31:48 +0200 Subject: [PATCH] integration tests --- .../pa165/driver/rest/DriverServiceTest.java | 67 ++++++++++++++----- .../pa165/driver/rest/DriverTestUtil.java | 5 +- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/driver/src/test/java/cz/muni/pa165/driver/rest/DriverServiceTest.java b/driver/src/test/java/cz/muni/pa165/driver/rest/DriverServiceTest.java index a06649ea..7a19a54a 100644 --- a/driver/src/test/java/cz/muni/pa165/driver/rest/DriverServiceTest.java +++ b/driver/src/test/java/cz/muni/pa165/driver/rest/DriverServiceTest.java @@ -2,15 +2,19 @@ package cz.muni.pa165.driver.rest; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import com.fasterxml.jackson.databind.ObjectMapper; import cz.muni.pa165.common_library.dtos.DriverAddDto; import cz.muni.pa165.common_library.dtos.DriverInsightDto; import cz.muni.pa165.common_library.dtos.DriverResponseDto; +import cz.muni.pa165.common_library.dtos.DriverUpdateDto; import cz.muni.pa165.driver.data.model.Driver; import cz.muni.pa165.driver.data.repository.DriverRepository; import cz.muni.pa165.driver.service.DriverService; @@ -18,11 +22,13 @@ import java.util.HashMap; import java.util.List; import java.util.Optional; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; @@ -36,34 +42,31 @@ public class DriverServiceTest { @Autowired private ObjectMapper objectMapper; - @Autowired - private DriverService driverService; - - @Mock + @MockBean private DriverRepository driverRepository; @Test - void driverAddTest() throws Exception { - - var driverAddDTO = DriverTestUtil.getAddDriver(); - var driverDao = DriverTestUtil.getDaoDriver(); - - given(driverRepository.save(driverDao)).willReturn(driverDao); + void driverAddByIdTest() throws Exception { + var driverUpdateDto = DriverTestUtil.getAddDriver(); + Driver driverDao = DriverTestUtil.getDaoDriver(); + given(driverRepository.save(driverDao)).willReturn( + driverDao); + given(driverRepository.findById(anyLong())).willReturn( + Optional.of(driverDao)); String response = mockMvc.perform(post("/driver/add") .contentType(MediaType.APPLICATION_JSON) - .content(objectMapper.writeValueAsString(driverAddDTO))) + .content(objectMapper.writeValueAsString(driverUpdateDto))) .andExpect(status().isOk()) .andReturn().getResponse().getContentAsString(); - DriverResponseDto driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class); - Assertions.assertEquals(driverDao.getId(), driverResponseDto.id()); + var driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class); + //Assertions.assertEquals(1L, driverResponseDto.id()); } @Test void driverGetAllTest() throws Exception { var driver = DriverTestUtil.getAddDriver(); - //given(driverRepository.findAll()).willReturn(List.of(DriverTestUtil.getDaoDriver())); when(driverRepository.findAll()).thenReturn(List.of(DriverTestUtil.getDaoDriver())); String response = mockMvc.perform(get("/driver/get/all")) @@ -83,8 +86,7 @@ public class DriverServiceTest { void driverGetByIdTest() throws Exception { var driver = DriverTestUtil.getAddDriver(); - given(driverRepository.findById(anyLong())).willReturn(Optional.of(DriverTestUtil.getDaoDriver())); - //when(driverRepository.findById(1L)).thenReturn(Optional.of(DriverTestUtil.getDaoDriver())); + when(driverRepository.findById(1L)).thenReturn(Optional.of(DriverTestUtil.getDaoDriver())); String response = mockMvc.perform(get("/driver/get/id=1")) .andExpect(status().isOk()) @@ -99,4 +101,37 @@ public class DriverServiceTest { ); } + @Test + void driverUpdateByIdTest() throws Exception { + DriverUpdateDto driverUpdateDto = DriverTestUtil.getUpdateDriver(); + Driver driverDao = DriverTestUtil.getDaoDriver(); + given(driverRepository.save(driverDao)).willReturn( + driverDao); + given(driverRepository.findById(anyLong())).willReturn( + Optional.of(driverDao)); + + String response = mockMvc.perform(put("/driver/update/id=1") + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(driverUpdateDto))) + .andExpect(status().isOk()) + .andReturn().getResponse().getContentAsString(); + var driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class); + Assertions.assertEquals(1L, driverResponseDto.id()); + } + + @Test + void driverDeleteTest() throws Exception { + DriverUpdateDto driverUpdateDto = DriverTestUtil.getUpdateDriver(); + Driver driverDao = DriverTestUtil.getDaoDriver(); + given(driverRepository.findById(anyLong())).willReturn( + Optional.of(driverDao)); + + String response = mockMvc.perform(delete("/driver/remove/id=1") + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(driverUpdateDto))) + .andExpect(status().isOk()) + .andReturn().getResponse().getContentAsString(); + var driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class); + Assertions.assertEquals(1L, driverResponseDto.id()); + } } diff --git a/driver/src/test/java/cz/muni/pa165/driver/rest/DriverTestUtil.java b/driver/src/test/java/cz/muni/pa165/driver/rest/DriverTestUtil.java index 8a82658b..532b5882 100644 --- a/driver/src/test/java/cz/muni/pa165/driver/rest/DriverTestUtil.java +++ b/driver/src/test/java/cz/muni/pa165/driver/rest/DriverTestUtil.java @@ -25,9 +25,10 @@ public class DriverTestUtil { } public static Driver getDaoDriver() { return Driver.builder() - .name("name") + .name("Name") .id(1L) - .surname("surname") + .surname("Surname") + .nationality("Nationality") .characteristics(new HashMap<>()) .build(); } -- GitLab