From 2dfc82a793e53a0fa82b27d1c2539ae238f6bb2a Mon Sep 17 00:00:00 2001 From: Baris Ozturkmen Date: Fri, 10 Jul 2026 02:15:30 +0100 Subject: [PATCH] Rename courtRoomId to roomId in change-court-room-for-multiday-hearing command Renames the nonDefaultDays[].courtRoomId field to roomId in the input command schema listing.command.change-court-room-for-multiday-hearing (stays a uuid), aligning it with the roomId naming used by other listing commands' nonDefaultDays. Updates the example, the single input read in ListingCommandApi (new ROOM_ID constant), and the command-api unit test and integration test payloads. The enriched command (changedDays[].courtRoomId) is left unchanged as an internal contract; courtscheduler is unaffected as its request is keyed on courtScheduleId. --- .../moj/cpp/listing/command/api/ListingCommandApi.java | 3 ++- ...command.change-court-room-for-multiday-hearing.json | 4 ++-- ...command.change-court-room-for-multiday-hearing.json | 4 ++-- .../cpp/listing/command/api/ListingCommandApiTest.java | 10 +++++----- .../it/ChangeCourtRoomForMultidayHearingIT.java | 8 ++++---- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/listing-command/listing-command-api/src/main/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApi.java b/listing-command/listing-command-api/src/main/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApi.java index bda0a3d31..239416b8d 100644 --- a/listing-command/listing-command-api/src/main/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApi.java +++ b/listing-command/listing-command-api/src/main/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApi.java @@ -100,6 +100,7 @@ public class ListingCommandApi { private static final String ESTIMATED_MINUTES = "estimatedMinutes"; private static final String COURT_SCHEDULE_ID = "courtScheduleId"; private static final String COURT_ROOM_ID = "courtRoomId"; + private static final String ROOM_ID = "roomId"; private static final String SESSION_DATE = "sessionDate"; private static final String SESSION_START_TIME = "sessionStartTime"; private static final String SESSION_END_TIME = "sessionEndTime"; @@ -549,7 +550,7 @@ public void handleChangeCourtRoomForMultidayHearing(final JsonEnvelope envelope) .add(DAY_START_TIME, session.sessionStartTime() != null ? session.sessionStartTime() : requested.getString(DAY_START_TIME)) .add(DAY_DURATION_MINUTES, requested.getInt(NON_DEFAULT_DAY_DURATION)) .add(COURT_CENTRE_ID, requested.getString(COURT_CENTRE_ID)) - .add(COURT_ROOM_ID, session.courtRoomId() != null ? session.courtRoomId() : requested.getString(COURT_ROOM_ID)) + .add(COURT_ROOM_ID, session.courtRoomId() != null ? session.courtRoomId() : requested.getString(ROOM_ID)) .add(COURT_SCHEDULE_ID, session.courtScheduleId().toString())); } diff --git a/listing-command/listing-command-api/src/raml/json/listing.command.change-court-room-for-multiday-hearing.json b/listing-command/listing-command-api/src/raml/json/listing.command.change-court-room-for-multiday-hearing.json index 9da4a6df1..4bcb5af12 100644 --- a/listing-command/listing-command-api/src/raml/json/listing.command.change-court-room-for-multiday-hearing.json +++ b/listing-command/listing-command-api/src/raml/json/listing.command.change-court-room-for-multiday-hearing.json @@ -5,7 +5,7 @@ "startTime": "2026-07-15T09:30:00Z", "duration": 360, "courtCentreId": "07e45c88-9e5d-3e44-b664-d5345bb13be2", - "courtRoomId": "9d324f4f-6c3b-451f-ac1e-f459db781153", + "roomId": "9d324f4f-6c3b-451f-ac1e-f459db781153", "courtScheduleId": "6e1bef55-7e13-4615-b3ba-8663f4438e16", "virtual": true }, @@ -13,7 +13,7 @@ "startTime": "2026-07-16T09:30:00Z", "duration": 360, "courtCentreId": "07e45c88-9e5d-3e44-b664-d5345bb13be2", - "courtRoomId": "9d324f4f-6c3b-451f-ac1e-f459db781153", + "roomId": "9d324f4f-6c3b-451f-ac1e-f459db781153", "courtScheduleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "virtual": true } diff --git a/listing-command/listing-command-api/src/raml/json/schema/listing.command.change-court-room-for-multiday-hearing.json b/listing-command/listing-command-api/src/raml/json/schema/listing.command.change-court-room-for-multiday-hearing.json index 9383b6584..94ef46ffe 100644 --- a/listing-command/listing-command-api/src/raml/json/schema/listing.command.change-court-room-for-multiday-hearing.json +++ b/listing-command/listing-command-api/src/raml/json/schema/listing.command.change-court-room-for-multiday-hearing.json @@ -14,11 +14,11 @@ "startTime": { "type": "string", "format": "date-time" }, "duration": { "type": "integer", "maximum": 360 }, "courtCentreId": { "$ref": "http://justice.gov.uk/domain/core/common/definitions.json#/definitions/uuid" }, - "courtRoomId": { "$ref": "http://justice.gov.uk/domain/core/common/definitions.json#/definitions/uuid" }, + "roomId": { "$ref": "http://justice.gov.uk/domain/core/common/definitions.json#/definitions/uuid" }, "courtScheduleId": { "$ref": "http://justice.gov.uk/domain/core/common/definitions.json#/definitions/uuid" }, "virtual": { "type": "boolean", "enum": [true] } }, - "required": ["startTime", "duration", "courtCentreId", "courtRoomId", "courtScheduleId", "virtual"], + "required": ["startTime", "duration", "courtCentreId", "roomId", "courtScheduleId", "virtual"], "additionalProperties": false } } diff --git a/listing-command/listing-command-api/src/test/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApiTest.java b/listing-command/listing-command-api/src/test/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApiTest.java index 2686386cc..2e59a50b1 100644 --- a/listing-command/listing-command-api/src/test/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApiTest.java +++ b/listing-command/listing-command-api/src/test/java/uk/gov/moj/cpp/listing/command/api/ListingCommandApiTest.java @@ -841,14 +841,14 @@ public void shouldChangeCourtRoomForMultidayHearingBuildingChangedDaysFromAdapte .add("startTime", d2 + "T09:30:00Z") .add("duration", 360) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", requestedCourtRoomId.toString()) + .add("roomId", requestedCourtRoomId.toString()) .add("courtScheduleId", courtScheduleId2b.toString()) .add("virtual", true)) .add(Json.createObjectBuilder() .add("startTime", d3 + "T09:30:00Z") .add("duration", 360) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", requestedCourtRoomId.toString()) + .add("roomId", requestedCourtRoomId.toString()) .add("courtScheduleId", courtScheduleId3b.toString()) .add("virtual", true)) .build(); @@ -990,14 +990,14 @@ public void shouldRejectChangeCourtRoomForMultidayHearingWhenDuplicateDayDates() .add("startTime", d2 + "T09:30:00Z") .add("duration", 360) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", courtRoomId.toString()) + .add("roomId", courtRoomId.toString()) .add("courtScheduleId", courtScheduleIdA.toString()) .add("virtual", true)) .add(Json.createObjectBuilder() .add("startTime", d2 + "T14:00:00Z") .add("duration", 360) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", courtRoomId.toString()) + .add("roomId", courtRoomId.toString()) .add("courtScheduleId", courtScheduleIdB.toString()) .add("virtual", true)) .build(); @@ -1037,7 +1037,7 @@ public void shouldPropagateAdapterExceptionAndNotSendWhenCourtschedulerRejectsCh .add("startTime", d2 + "T09:30:00Z") .add("duration", 360) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", courtRoomId.toString()) + .add("roomId", courtRoomId.toString()) .add("courtScheduleId", courtScheduleId.toString()) .add("virtual", true)) .build(); diff --git a/listing-integration-test/src/test/java/uk/gov/moj/cpp/listing/it/ChangeCourtRoomForMultidayHearingIT.java b/listing-integration-test/src/test/java/uk/gov/moj/cpp/listing/it/ChangeCourtRoomForMultidayHearingIT.java index 3c5d16a62..85a7922eb 100644 --- a/listing-integration-test/src/test/java/uk/gov/moj/cpp/listing/it/ChangeCourtRoomForMultidayHearingIT.java +++ b/listing-integration-test/src/test/java/uk/gov/moj/cpp/listing/it/ChangeCourtRoomForMultidayHearingIT.java @@ -189,7 +189,7 @@ void shouldReturn400WhenVirtualIsNotTrue() { + "\"startTime\":\"" + hearing.day2 + "T09:00:00Z\"," + "\"duration\":" + DAY_DURATION_MINUTES + "," + "\"courtCentreId\":\"" + hearing.courtCentreId + "\"," - + "\"courtRoomId\":\"" + hearing.courtRoomId + "\"," + + "\"roomId\":\"" + hearing.courtRoomId + "\"," + "\"courtScheduleId\":\"" + UUID.randomUUID() + "\"," + "\"virtual\":false}]}"; @@ -207,7 +207,7 @@ void shouldReturn400WhenDurationExceedsMaximum() { + "\"startTime\":\"" + hearing.day2 + "T09:00:00Z\"," + "\"duration\":720," + "\"courtCentreId\":\"" + hearing.courtCentreId + "\"," - + "\"courtRoomId\":\"" + hearing.courtRoomId + "\"," + + "\"roomId\":\"" + hearing.courtRoomId + "\"," + "\"courtScheduleId\":\"" + UUID.randomUUID() + "\"," + "\"virtual\":true}]}"; @@ -225,7 +225,7 @@ void shouldReturn400WhenCourtScheduleIdMissing() { + "\"startTime\":\"" + hearing.day2 + "T09:00:00Z\"," + "\"duration\":" + DAY_DURATION_MINUTES + "," + "\"courtCentreId\":\"" + hearing.courtCentreId + "\"," - + "\"courtRoomId\":\"" + hearing.courtRoomId + "\"," + + "\"roomId\":\"" + hearing.courtRoomId + "\"," + "\"virtual\":true}]}"; final Response response = postChangeCourtRoom(hearing.hearingId, payload); @@ -468,7 +468,7 @@ private static String changeCourtRoomPayload(final UUID courtCentreId, final Lis .add("startTime", day.date + "T09:00:00Z") .add("duration", DAY_DURATION_MINUTES) .add("courtCentreId", courtCentreId.toString()) - .add("courtRoomId", day.courtRoomId.toString()) + .add("roomId", day.courtRoomId.toString()) .add("courtScheduleId", day.targetCourtScheduleId.toString()) .add("virtual", true); nonDefaultDays.add(dayBuilder);