Skip to content

Commit ac13e62

Browse files
api-cp-crime-schedulingandlisting-courtschedule project setup; (#2)
* api-cp-crime-schedulingandlisting-courtschedule project setup; * update courtschedule related changes
1 parent abf064b commit ac13e62

File tree

8 files changed

+76
-54
lines changed

8 files changed

+76
-54
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "openapi"]
22
path = openapi
3-
url = ../api-cp-refdata-courthearing-courthouses.git
3+
url = ../api-cp-crime-schedulingandlisting-courtschedule.git
44
branch = master

build.gradle

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,8 @@ ext {
155155
ext['snakeyaml.version'] = '2.0'
156156

157157
def openApiModule = project(":openapi")
158-
def inputSpecFile = new File(openApiModule.projectDir, "src/main/resources/openapi/courtHouses.yml")
158+
def inputSpecFile = new File(openApiModule.projectDir, "src/main/resources/openapi/courtSchedule.yml")
159159

160-
if (!inputSpecFile.exists()) {
161-
throw new GradleException("OpenAPI spec file not found: $inputSpecFile")
162-
}
163160

164161
openApiGenerate {
165162
generatorName = "spring"

openapi

src/integrationTest/java/uk/gov/hmcts/cp/controllers/OpenApiControllerTest.java renamed to src/integrationTest/java/uk/gov/hmcts/cp/controllers/CourtSceduleControllerTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package uk.gov.hmcts.cp.controllers;
22

3-
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
4-
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
5-
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
6-
73
import org.junit.jupiter.api.DisplayName;
84
import org.junit.jupiter.api.Test;
95
import org.junit.jupiter.api.extension.ExtendWith;
@@ -13,18 +9,22 @@
139
import org.springframework.test.context.junit.jupiter.SpringExtension;
1410
import org.springframework.test.web.servlet.MockMvc;
1511

12+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
13+
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
14+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
15+
1616
@ExtendWith(SpringExtension.class)
1717
@SpringBootTest
1818
@AutoConfigureMockMvc
19-
class OpenApiControllerTest {
19+
class CourtSceduleControllerTest {
2020

2121
@Autowired
2222
private MockMvc mockMvc;
2323

24-
@DisplayName("Should /courthouses/{court_id} request with 200 response code")
24+
@DisplayName("Should /case/{case_urn}/courtschedule request with 200 response code")
2525
@Test
2626
void shouldCallActuatorAndGet200() throws Exception {
27-
mockMvc.perform(get("/courthouses/123"))
27+
mockMvc.perform(get("/case/123/courtschedule"))
2828
.andDo(print())
2929
.andExpect(status().isOk());
3030
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package uk.gov.hmcts.cp.controllers;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import org.springframework.http.HttpStatus;
5+
import org.springframework.http.ResponseEntity;
6+
import org.springframework.web.bind.annotation.RestController;
7+
import uk.gov.hmcts.cp.openapi.api.CourtScheduleApi;
8+
import uk.gov.hmcts.cp.openapi.model.CourtScheduleschema;
9+
import uk.gov.hmcts.cp.services.CourtScheduleService;
10+
11+
@RestController
12+
@RequiredArgsConstructor
13+
public class CourtSceduleController implements CourtScheduleApi {
14+
15+
private final CourtScheduleService courtScheduleService;
16+
17+
@Override
18+
public ResponseEntity<CourtScheduleschema> getCourtScheduleByCaseUrn(String caseUrn) {
19+
CourtScheduleschema courtScheduleschema = courtScheduleService.getCourtScheduleschema(caseUrn);
20+
return new ResponseEntity<>(courtScheduleschema, HttpStatus.OK);
21+
}
22+
23+
}

src/main/java/uk/gov/hmcts/cp/controllers/OpenApiController.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package uk.gov.hmcts.cp.services;
2+
3+
import static java.util.UUID.randomUUID;
4+
5+
import org.springframework.stereotype.Service;
6+
import uk.gov.hmcts.cp.openapi.model.CourtScheduleschema;
7+
import uk.gov.hmcts.cp.openapi.model.CourtScheduleschemaCourtScheduleInner;
8+
import uk.gov.hmcts.cp.openapi.model.CourtScheduleschemaCourtScheduleInnerHearingsInner;
9+
import uk.gov.hmcts.cp.openapi.model.CourtScheduleschemaCourtScheduleInnerHearingsInnerCourtSittingsInner;
10+
11+
import java.time.OffsetDateTime;
12+
13+
import java.util.List;
14+
15+
@Service
16+
public class CourtScheduleService {
17+
18+
public CourtScheduleschema getCourtScheduleschema(String caseUrn) {
19+
20+
CourtScheduleschemaCourtScheduleInnerHearingsInnerCourtSittingsInner courtSittingsItem =
21+
new CourtScheduleschemaCourtScheduleInnerHearingsInnerCourtSittingsInner();
22+
courtSittingsItem.courtHouse(randomUUID().toString());
23+
courtSittingsItem.sittingStart(OffsetDateTime.now());
24+
courtSittingsItem.setSittingEnd(OffsetDateTime.now().plusMinutes(30));
25+
courtSittingsItem.judiciaryId(randomUUID().toString());
26+
27+
CourtScheduleschemaCourtScheduleInnerHearingsInner hearingsItem =
28+
new CourtScheduleschemaCourtScheduleInnerHearingsInner();
29+
hearingsItem.hearingId(randomUUID().toString());
30+
hearingsItem.listNote("Requires interpreter");
31+
hearingsItem.hearingDescription("Sentencing for theft case");
32+
hearingsItem.hearingType("Trial");
33+
hearingsItem.courtSittings(List.of(courtSittingsItem));
34+
35+
CourtScheduleschemaCourtScheduleInner courtScheduleInner = new CourtScheduleschemaCourtScheduleInner();
36+
courtScheduleInner.addHearingsItem(hearingsItem);
37+
38+
CourtScheduleschema courtScheduleschema = new CourtScheduleschema();
39+
courtScheduleschema.courtSchedule(List.of(courtScheduleInner));
40+
41+
return courtScheduleschema;
42+
}
43+
}

src/main/java/uk/gov/hmcts/cp/services/OpenApiService.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)