Skip to content
Snippets Groups Projects
Commit 9c4956db authored by Diana Gulčíková's avatar Diana Gulčíková
Browse files

test_for_driver

parent a49efaf1
No related branches found
No related tags found
2 merge requests!60Docker,!45Tests for driver
Pipeline #
......@@ -94,6 +94,7 @@ public class DriverServiceImpl implements DriverService {
* @return all stored drivers dto list
*/
public List<DriverInsightDto> getAllDrivers() {
System.out.println();
return driverRepository.findAll()
.stream()
.map(driverMapper::convertToInsightDto)
......
......@@ -9,12 +9,10 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
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.service.DriverService;
import java.util.HashMap;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
......@@ -39,7 +37,7 @@ class DriverControllerTest {
@Test
void driverAddTest() throws Exception {
var driver = getAddDriver();
var driver = DriverTestUtil.getAddDriver();
given(driverService.addDriver(driver)).willReturn(new DriverResponseDto(1L));
String response = mockMvc.perform(post("/driver/add")
......@@ -54,7 +52,7 @@ class DriverControllerTest {
@Test
void badRequestTest() throws Exception {
var driver = getAddDriver();
var driver = DriverTestUtil.getAddDriver();
given(driverService.addDriver(driver)).willReturn(new DriverResponseDto(1L));
mockMvc.perform(post("/driver/add")
......@@ -67,8 +65,8 @@ class DriverControllerTest {
@Test
void driverGetAllTest() throws Exception {
var driver = getAddDriver();
given(driverService.getAllDrivers()).willReturn(List.of(getInsightDriver()));
var driver = DriverTestUtil.getAddDriver();
given(driverService.getAllDrivers()).willReturn(List.of(DriverTestUtil.getInsightDriver()));
String response = mockMvc.perform(get("/driver/get/all"))
.andExpect(status().isOk())
......@@ -105,8 +103,8 @@ class DriverControllerTest {
@Test
void driverGetByIdTest() throws Exception {
var driver = getAddDriver();
given(driverService.getDriverById(anyLong())).willReturn(getInsightDriver());
var driver = DriverTestUtil.getAddDriver();
given(driverService.getDriverById(anyLong())).willReturn(DriverTestUtil.getInsightDriver());
String response = mockMvc.perform(get("/driver/get/id=1"))
.andExpect(status().isOk())
......@@ -122,8 +120,9 @@ class DriverControllerTest {
@Test
void driverUpdateByIdTest() throws Exception {
DriverUpdateDto driverUpdateDto = getUpdateDriver();
given(driverService.updateDriverById(1L, driverUpdateDto)).willReturn(new DriverResponseDto(1L));
DriverUpdateDto driverUpdateDto = DriverTestUtil.getUpdateDriver();
given(driverService.updateDriverById(1L, driverUpdateDto)).willReturn(
new DriverResponseDto(1L));
String response = mockMvc.perform(put("/driver/update/id=1")
.contentType(MediaType.APPLICATION_JSON)
......@@ -133,20 +132,4 @@ class DriverControllerTest {
var driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class);
Assertions.assertEquals(1L, driverResponseDto.id());
}
private DriverAddDto getAddDriver() {
var driver = new DriverAddDto("Name",
"Surname", "Nationality", new HashMap<>());
return driver;
}
private DriverInsightDto getInsightDriver() {
return new DriverInsightDto(1L, "Name",
"Surname", "Nationality", new HashMap<>());
}
private DriverUpdateDto getUpdateDriver() {
return new DriverUpdateDto("Name",
"Surname", "Nationality", new HashMap<>());
}
}
package cz.muni.pa165.driver.rest;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.when;
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.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.driver.data.model.Driver;
import cz.muni.pa165.driver.data.repository.DriverRepository;
import cz.muni.pa165.driver.service.DriverService;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import org.junit.jupiter.api.Assertions;
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.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
@SpringBootTest
@AutoConfigureMockMvc
public class DriverServiceTest {
@Autowired
private MockMvc mockMvc;
@Autowired
private ObjectMapper objectMapper;
@Autowired
private DriverService driverService;
@Mock
private DriverRepository driverRepository;
@Test
void driverAddTest() throws Exception {
var driverAddDTO = DriverTestUtil.getAddDriver();
var driverDao = DriverTestUtil.getDaoDriver();
given(driverRepository.save(driverDao)).willReturn(driverDao);
String response = mockMvc.perform(post("/driver/add")
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(driverAddDTO)))
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
DriverResponseDto driverResponseDto = objectMapper.readValue(response, DriverResponseDto.class);
Assertions.assertEquals(driverDao.getId(), 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"))
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
var driverResponseDto = objectMapper.readValue(response, DriverInsightDto[].class);
Assertions.assertAll(
() -> Assertions.assertEquals(1L, driverResponseDto[0].id()),
() -> Assertions.assertEquals(driver.name(), driverResponseDto[0].name()),
() -> Assertions.assertEquals(driver.surname(), driverResponseDto[0].surname()),
() -> Assertions.assertEquals(driver.characteristics(),
driverResponseDto[0].characteristics())
);
}
@Test
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()));
String response = mockMvc.perform(get("/driver/get/id=1"))
.andExpect(status().isOk())
.andReturn().getResponse().getContentAsString();
var driverResponseDto = objectMapper.readValue(response, DriverInsightDto.class);
Assertions.assertAll(
() -> Assertions.assertEquals(1L, driverResponseDto.id()),
() -> Assertions.assertEquals(driver.name(), driverResponseDto.name()),
() -> Assertions.assertEquals(driver.surname(), driverResponseDto.surname()),
() -> Assertions.assertEquals(driver.characteristics(),
driverResponseDto.characteristics())
);
}
}
package cz.muni.pa165.driver.rest;
import cz.muni.pa165.common_library.dtos.DriverAddDto;
import cz.muni.pa165.common_library.dtos.DriverInsightDto;
import cz.muni.pa165.common_library.dtos.DriverUpdateDto;
import cz.muni.pa165.driver.data.model.Driver;
import java.util.HashMap;
public class DriverTestUtil {
public static DriverAddDto getAddDriver() {
var driver = new DriverAddDto("Name",
"Surname", "Nationality", new HashMap<>());
return driver;
}
public static DriverInsightDto getInsightDriver() {
return new DriverInsightDto(1L, "Name",
"Surname", "Nationality", new HashMap<>());
}
public static DriverUpdateDto getUpdateDriver() {
return new DriverUpdateDto("Name",
"Surname", "Nationality", new HashMap<>());
}
public static Driver getDaoDriver() {
return Driver.builder()
.name("name")
.id(1L)
.surname("surname")
.characteristics(new HashMap<>())
.build();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment