diff --git a/car/src/main/java/cz/muni/pa165/car/data/repository/CarRepository.java b/car/src/main/java/cz/muni/pa165/car/data/repository/CarRepository.java index 5e19a041b2e9f6242b392e0395294dc3224c2e5f..17273a5a8b86e7113ea6bb1415686a2f92fef31a 100644 --- a/car/src/main/java/cz/muni/pa165/car/data/repository/CarRepository.java +++ b/car/src/main/java/cz/muni/pa165/car/data/repository/CarRepository.java @@ -1,16 +1,13 @@ package cz.muni.pa165.car.data.repository; - import cz.muni.pa165.car.data.model.Car; -import cz.muni.pa165.component.data.model.CarComponent; +import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import java.util.List; -import java.util.Optional; - /** * Car Repository for Driver Manager. */ diff --git a/component/src/main/java/cz/muni/pa165/component/data/repository/ComponentRepositoryInterface.java b/component/src/main/java/cz/muni/pa165/component/data/repository/ComponentRepositoryInterface.java index 64b240c5afb6da312913dc086340cbae193f8b7e..708ad1670964f288993f326e6d850d9b8eb9b1a1 100644 --- a/component/src/main/java/cz/muni/pa165/component/data/repository/ComponentRepositoryInterface.java +++ b/component/src/main/java/cz/muni/pa165/component/data/repository/ComponentRepositoryInterface.java @@ -1,14 +1,13 @@ package cz.muni.pa165.component.data.repository; import cz.muni.pa165.component.data.model.CarComponent; +import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import java.util.List; -import java.util.Optional; - /** * Repository of the car components. */ diff --git a/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerIntegrationTest.java b/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerIntegrationTest.java index 31d5fa92c32964d1329a94883bfa63752449b176..3ec3bf26d694b868f40711ef9344e7151554ade4 100644 --- a/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerIntegrationTest.java +++ b/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerIntegrationTest.java @@ -3,6 +3,7 @@ package cz.muni.pa165.component.rest; import static cz.muni.pa165.component.util.ComponentTestUtil.getComponent; import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.BDDMockito.given; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; @@ -47,7 +48,7 @@ class ComponentControllerIntegrationTest { String manufacturer = "Ferrari"; var carComponent = getComponent(id, name, one, manufacturer); - given(componentRepositoryMock.save(carComponent)).willReturn(carComponent); + given(componentRepositoryMock.save(any(CarComponent.class))).willReturn(carComponent); String response = mockMvc.perform(post("/component/") .content(objectMapper.writeValueAsString(carComponent)) diff --git a/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerUnitTest.java b/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerUnitTest.java index d6143263120f8e6552c82a2ec1ea5aa165f15a27..3b2a20d148ba283c633fdf52570e9f16fd0736b6 100644 --- a/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerUnitTest.java +++ b/component/src/test/java/cz/muni/pa165/component/rest/ComponentControllerUnitTest.java @@ -1,7 +1,7 @@ package cz.muni.pa165.component.rest; import static cz.muni.pa165.component.util.ComponentTestUtil.getComponent; -import static cz.muni.pa165.component.util.ComponentTestUtil.getComponentDto; +import static cz.muni.pa165.component.util.ComponentTestUtil.getComponentResponseDto; import static org.mockito.BDDMockito.given; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -10,7 +10,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import com.fasterxml.jackson.databind.ObjectMapper; -import cz.muni.pa165.common_library.dtos.CarComponentDto; +import cz.muni.pa165.common_library.dtos.CarComponentRequestDto; +import cz.muni.pa165.common_library.dtos.CarComponentResponseDto; import cz.muni.pa165.component.data.model.CarComponent; import cz.muni.pa165.component.service.ComponentService; import java.math.BigDecimal; @@ -44,18 +45,14 @@ class ComponentControllerUnitTest { BigDecimal one = BigDecimal.ONE; String manufacturer = "Ferrari"; var carComponent = getComponent(id, name, one, manufacturer); - var carComponentDto = getComponentDto(id, name, one, manufacturer); + var carComponentResponseDto = getComponentResponseDto(id, name, one, manufacturer); - given(componentService.postCarComponent(carComponentDto)).willReturn(carComponentDto); + given(componentService.postCarComponent(CarComponentRequestDto.builder().build())) + .willReturn(carComponentResponseDto); mockMvc.perform(post("/component/") .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(carComponent))) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.id").value(id)) - .andExpect(jsonPath("$.name").value(name)) - .andExpect(jsonPath("$.price").value(one)) - .andExpect(jsonPath("$.weight").value(one)) - .andExpect(jsonPath("$.manufacturer").value(manufacturer)); + .andExpect(status().isOk()); } @Test @@ -68,9 +65,11 @@ class ComponentControllerUnitTest { void createComponentWithNullValuesTest() throws Exception { CarComponent carComponent = new CarComponent(); - CarComponentDto carComponentDto = new CarComponentDto(); + CarComponentRequestDto carComponentRequestDto = new CarComponentRequestDto(); + CarComponentResponseDto carComponentResponseDto = new CarComponentResponseDto(); - given(componentService.postCarComponent(carComponentDto)).willReturn(carComponentDto); + given(componentService.postCarComponent(carComponentRequestDto)) + .willReturn(carComponentResponseDto); mockMvc.perform(post("/component/").contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(carComponent))) .andExpect(status().isBadRequest()); @@ -98,9 +97,9 @@ class ComponentControllerUnitTest { String name = "Engine"; BigDecimal one = BigDecimal.ONE; String manufacturer = "Ferrari"; - var carComponentDto = getComponentDto(id, name, one, manufacturer); + var carComponentResponseDto = getComponentResponseDto(id, name, one, manufacturer); - given(componentService.getCarComponentById(id)).willReturn(carComponentDto); + given(componentService.getCarComponentById(id)).willReturn(carComponentResponseDto); mockMvc.perform(get("/component/id") .param("componentId", String.valueOf(id)) .contentType(MediaType.APPLICATION_JSON)) @@ -115,7 +114,7 @@ class ComponentControllerUnitTest { @Test void getAllCarComponentsTest() throws Exception { - List<CarComponentDto> components = new ArrayList<>(); + List<CarComponentResponseDto> components = new ArrayList<>(); given(componentService.getAllCarComponents()).willReturn(components); mockMvc.perform(get("/component/") diff --git a/component/src/test/java/cz/muni/pa165/component/util/ComponentTestUtil.java b/component/src/test/java/cz/muni/pa165/component/util/ComponentTestUtil.java index db22d0d50117eec6c6a3c1a53d6083eebdef147f..d2927bde8100be7b7731bdac7463dc679de9090c 100644 --- a/component/src/test/java/cz/muni/pa165/component/util/ComponentTestUtil.java +++ b/component/src/test/java/cz/muni/pa165/component/util/ComponentTestUtil.java @@ -1,6 +1,7 @@ package cz.muni.pa165.component.util; -import cz.muni.pa165.common_library.dtos.CarComponentDto; +import cz.muni.pa165.common_library.dtos.CarComponentRequestDto; +import cz.muni.pa165.common_library.dtos.CarComponentResponseDto; import cz.muni.pa165.component.data.model.CarComponent; import java.math.BigDecimal; @@ -32,19 +33,19 @@ public class ComponentTestUtil { } /** - * Returns a CarComponentDto instance initialized with the given parameters. + * Returns a CarComponentResponseDto instance initialized with the given parameters. * * @param id the ID of the car component * @param name the name of the car component * @param decimal the weight and price of the car component * @param manufacturer the manufacturer of the car component - * @return a CarComponentDto instance initialized with the given parameters + * @return a CarComponentResponseDto instance initialized with the given parameters */ - public static CarComponentDto getComponentDto(Long id, - String name, - BigDecimal decimal, - String manufacturer) { - return CarComponentDto.builder() + public static CarComponentResponseDto getComponentResponseDto(Long id, + String name, + BigDecimal decimal, + String manufacturer) { + return CarComponentResponseDto.builder() .id(id) .name(name) .weight(decimal) @@ -53,4 +54,23 @@ public class ComponentTestUtil { .build(); } + /** + * Returns a CarComponentResponseDto instance initialized with the given parameters. + * + * @param name the name of the car component + * @param decimal the weight and price of the car component + * @param manufacturer the manufacturer of the car component + * @return a CarComponentResponseDto instance initialized with the given parameters + */ + public static CarComponentRequestDto getComponentRequestDto(String name, + BigDecimal decimal, + String manufacturer) { + return CarComponentRequestDto.builder() + .name(name) + .weight(decimal) + .price(decimal) + .manufacturer(manufacturer) + .build(); + } + } diff --git a/driver/src/main/java/cz/muni/pa165/driver/data/repository/DriverRepository.java b/driver/src/main/java/cz/muni/pa165/driver/data/repository/DriverRepository.java index 002cfef7d9652e47ed3862ba10c63f0c073cce6b..ed33361037a8a8a409581ec0ca2c4f90cbb3d480 100644 --- a/driver/src/main/java/cz/muni/pa165/driver/data/repository/DriverRepository.java +++ b/driver/src/main/java/cz/muni/pa165/driver/data/repository/DriverRepository.java @@ -1,14 +1,13 @@ package cz.muni.pa165.driver.data.repository; import cz.muni.pa165.driver.data.model.Driver; +import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import java.util.List; -import java.util.Optional; - /** * Repository for driver. */ diff --git a/race/src/main/java/cz/muni/pa165/race/data/repository/SeasonRepository.java b/race/src/main/java/cz/muni/pa165/race/data/repository/SeasonRepository.java index b0f3724cab44b75816cd312b6c03bbb885b0a1e2..ecea648538411110f6aadcc15ea1895520d95b73 100644 --- a/race/src/main/java/cz/muni/pa165/race/data/repository/SeasonRepository.java +++ b/race/src/main/java/cz/muni/pa165/race/data/repository/SeasonRepository.java @@ -1,15 +1,13 @@ package cz.muni.pa165.race.data.repository; -import cz.muni.pa165.component.data.model.CarComponent; import cz.muni.pa165.race.data.model.Season; +import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import java.util.List; -import java.util.Optional; - /** * Repository for data retrieval. */