Compare commits

...

4 commits

Author SHA1 Message Date
1b171cb085 Merge pull request 'PMT-15: Projekte löschen' (!11) from story/PMT-15-projekte-loeschen into trunk
All checks were successful
Quality Check / Validate OAS (push) Successful in 33s
Quality Check / Linting (push) Successful in 1m9s
Quality Check / Static Analysis (push) Successful in 1m15s
Quality Check / Testing (push) Successful in 1m13s
Reviewed-on: #11
2024-10-09 13:14:40 +00:00
2cf79e3568
PMT-15: Implement Tests for Responses
All checks were successful
Quality Check / Validate OAS (push) Successful in 48s
Quality Check / Validate OAS (pull_request) Successful in 1m6s
Quality Check / Linting (push) Successful in 2m4s
Quality Check / Linting (pull_request) Successful in 2m7s
Quality Check / Testing (push) Successful in 2m12s
Quality Check / Static Analysis (push) Successful in 2m22s
Quality Check / Testing (pull_request) Successful in 2m12s
Quality Check / Static Analysis (pull_request) Successful in 2m16s
2024-10-09 11:48:07 +02:00
d725addef8
PMT-15: added api documentation 2024-10-09 11:36:56 +02:00
165aee2ece
PMT-15: Added a deleteProject by ID method 2024-10-09 11:36:56 +02:00
3 changed files with 68 additions and 1 deletions

View file

@ -51,4 +51,30 @@ paths:
401:
$ref: "#/components/responses/UnAuthorized"
500:
$ref: "#/components/responses/InternalError"
$ref: "#/components/responses/InternalError"
/project/{id}:
delete:
operationId: "deleteProject"
description: "Delete a specific Project"
parameters:
- in: path
name: id
schema:
type: integer
format: int64
required: true
responses:
204:
description: "Deletes a specific Project"
401:
$ref: "#/components/responses/UnAuthorized"
404:
description: "Project not found"
content:
text/plain:
schema:
type: string
500:
$ref: "#/components/responses/InternalError"

View file

@ -35,6 +35,16 @@ public class ApiController implements DefaultApi {
return Optional.empty();
}
@Override
public ResponseEntity<Void> deleteProject(Long id) {
if (!projectRepository.existsById(id)) {
return ResponseEntity.notFound().build();
}
projectRepository.deleteById(id);
return ResponseEntity.noContent().build();
}
@Override
public ResponseEntity<GetAllProjectsDTO> getAllProjects() {
GetAllProjectsDTO response = new GetAllProjectsDTO();

View file

@ -0,0 +1,31 @@
package de.hmmh.pmt.project;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
import de.hmmh.pmt.IntegrationTest;
import de.hmmh.pmt.db.Project;
public class DeleteTest extends IntegrationTest {
@Test
void projectNotFound() throws Exception {
mvc
.perform(delete(baseUri + "/project/1"))
.andExpect(status().isNotFound())
;
}
@Test
void deletedSuccessfully() throws Exception {
Map<String,Project> allProjects = createTestProjectData();
mvc
.perform(delete(baseUri + "/project/" + allProjects.get("space-station").getId()))
.andExpect(status().isNoContent())
;
}
}