Compare commits

..

3 commits

Author SHA1 Message Date
7fc105308a
PMT-37: implement endpoint testing
All checks were successful
Quality Check / Validate OAS (push) Successful in 33s
Quality Check / Linting (push) Successful in 1m10s
Quality Check / Static Analysis (push) Successful in 1m17s
Quality Check / Testing (push) Successful in 1m17s
Quality Check / Validate OAS (pull_request) Successful in 32s
Quality Check / Linting (pull_request) Successful in 1m10s
Quality Check / Static Analysis (pull_request) Successful in 1m20s
Quality Check / Testing (pull_request) Successful in 1m19s
2024-10-24 09:52:07 +02:00
3dd06fbf0c
PMT-37: implement Endpoint 2024-10-24 09:50:42 +02:00
ce038dc725
PMT-37: define Endpoint 2024-10-24 09:50:16 +02:00
4 changed files with 34 additions and 25 deletions

View file

@ -49,6 +49,9 @@ components:
plannedEnd:
type: string
format: date-time
realEnd:
type: string
format: date-time
CreateProjectDTO:
type: object
properties:

View file

@ -74,23 +74,13 @@ public class ApiController implements DefaultApi {
@Override
public ResponseEntity<GetAllProjectInfoDTO> getProjectInfo(Long id){
GetAllProjectInfoDTO response = new GetAllProjectInfoDTO();
Optional<Project> optionalProject = projectRepository.findById(id);
if (optionalProject.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
Project project = optionalProject.get();
response.setId(project.getId());
response.setName(project.getName());
response.setGoal(project.getGoal());
response.setCustomerId(project.getCustomerId());
response.setAdministratorId(project.getAdministratorId());
response.setStart(project.getStart());
response.setPlannedEnd(project.getPlannedEnd());
return ResponseEntity.ok(response);
return ResponseEntity.ok(mapper.mapToGet(project));
}

View file

@ -1,13 +1,10 @@
package de.hmmh.pmt.util;
import de.hmmh.pmt.db.Project;
import de.hmmh.pmt.dtos.CreateProjectDTO;
import de.hmmh.pmt.dtos.CreatedProjectDTO;
import de.hmmh.pmt.dtos.Employee;
import de.hmmh.pmt.dtos.Qualification ;
import de.hmmh.pmt.dtos.*;
import de.hmmh.pmt.employee.dtos.EmployeeResponseDTO;
import de.hmmh.pmt.employee.dtos.QualificationGetDTO;
import de.hmmh.pmt.dtos.UpdateProjectDTO;
import org.springframework.stereotype.Component;
import java.util.List;
@ -37,6 +34,19 @@ public class Mapper {
return dto;
}
public GetAllProjectInfoDTO mapToGet(Project project) {
GetAllProjectInfoDTO dto = new GetAllProjectInfoDTO();
dto.setId(project.getId());
dto.setName(project.getName());
dto.setGoal(project.getGoal());
dto.setCustomerId(project.getCustomerId());
dto.setAdministratorId(project.getAdministratorId());
dto.setStart(project.getStart());
dto.setPlannedEnd(project.getPlannedEnd());
dto.setRealEnd(project.getRealEnd());
return dto;
}
public Employee map(EmployeeResponseDTO employeeResponseDTO) {
Employee dto = new Employee();
dto.setId(employeeResponseDTO.getId());

View file

@ -1,16 +1,13 @@
package de.hmmh.pmt.project;
import static org.hamcrest.Matchers.empty;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.util.Map;
import org.junit.jupiter.api.Test;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.RequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import de.hmmh.pmt.IntegrationTest;
import de.hmmh.pmt.db.Project;
public class GetProjectInfoTest extends IntegrationTest {
@ -22,10 +19,19 @@ public class GetProjectInfoTest extends IntegrationTest {
}
@Test
public RequestBuilder getProjectInfo(Long projectId) throws Exception {
return MockMvcRequestBuilders
.get("/project/" + projectId)
.contentType(MediaType.APPLICATION_JSON);
void getProjectInfo() throws Exception {
Map<String, Project> allProjects = createTestProjectData();
Project spaceStation = allProjects.get("space-station");
mvc
.perform(get(baseUri + "/project/" +spaceStation.getId()))
.andExpect(status().isOk())
.andExpect(jsonPath("$.id").value(spaceStation.getId()))
.andExpect(jsonPath("$.name").value(spaceStation.getName()))
.andExpect(jsonPath("$.goal").value(spaceStation.getGoal()))
.andExpect(jsonPath("$.customerId").value(spaceStation.getCustomerId()))
.andExpect(jsonPath("$.administratorId").value(spaceStation.getAdministratorId()))
;
}
}