Skip to content

Commit 3f15a28

Browse files
add visitReference to cancel message (#772)
Co-authored-by: Tom Watkins <tom.watkins@justice.gov.uk>
1 parent 2eadd1e commit 3f15a28

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/CancelVisitRequest.kt

+7-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,19 @@ data class CancelVisitRequest(
99
@Schema(description = "Username for user who actioned this request", required = false)
1010
val actionedBy: String?,
1111
) {
12-
fun toHmppsMessage(who: String): HmppsMessage =
12+
fun toHmppsMessage(
13+
who: String,
14+
visitReference: String,
15+
): HmppsMessage =
1316
HmppsMessage(
1417
eventType = HmppsMessageEventType.VISIT_CANCELLED,
15-
messageAttributes = modelToMap(),
18+
messageAttributes = modelToMap(visitReference),
1619
who = who,
1720
)
1821

19-
private fun modelToMap(): Map<String, Any?> =
22+
private fun modelToMap(visitReference: String): Map<String, Any?> =
2023
mapOf(
24+
"visitReference" to visitReference,
2125
"cancelOutcome" to this.cancelOutcome,
2226
"actionedBy" to this.actionedBy,
2327
)

src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/services/VisitQueueService.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class VisitQueueService(
6969
return Response(data = null, errors = visitResponse.errors)
7070
}
7171

72-
val hmppsMessage = visit.toHmppsMessage(who)
72+
val hmppsMessage = visit.toHmppsMessage(who, visitReference)
7373

7474
try {
7575
val stringifiedMessage = objectMapper.writeValueAsString(hmppsMessage)

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/integration/VisitsIntegrationTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ class VisitsIntegrationTest : IntegrationTestBase() {
210210
queueMessages.size.shouldBe(1)
211211

212212
val messageJson = queueMessages[0].body()
213-
val expectedMessage = cancelVisitRequest.toHmppsMessage(defaultCn)
213+
val expectedMessage = cancelVisitRequest.toHmppsMessage(defaultCn, visitReference)
214214
messageJson.shouldContainJsonKeyValue("$.eventType", expectedMessage.eventType.eventTypeCode)
215215
messageJson.shouldContainJsonKeyValue("$.who", defaultCn)
216216
val objectMapper = jacksonObjectMapper()

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/models/hmpps/CancelVisitRequestTest.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class CancelVisitRequestTest :
1111
{
1212
it("correctly creates cancel visit queue event") {
1313
val consumerName = "client-name"
14-
val timestamp = "2020-12-04T10:42:43"
14+
val visitReference = "v9-d7-ed-7u"
1515
val cancelVisitRequest =
1616
CancelVisitRequest(
1717
cancelOutcome =
@@ -22,12 +22,13 @@ class CancelVisitRequestTest :
2222
actionedBy = "test-consumer",
2323
)
2424

25-
val hmppsMessage = cancelVisitRequest.toHmppsMessage(consumerName)
25+
val hmppsMessage = cancelVisitRequest.toHmppsMessage(consumerName, visitReference)
2626
hmppsMessage.eventType.shouldBe(HmppsMessageEventType.VISIT_CANCELLED)
2727
hmppsMessage.who.shouldBe(consumerName)
2828

2929
val hmppsMessageString = objectMapper.writeValueAsString(hmppsMessage)
3030
hmppsMessageString.shouldBeValidJson()
31+
hmppsMessageString.shouldContainJsonKeyValue("$.messageAttributes.visitReference", visitReference)
3132
hmppsMessageString.shouldContainJsonKeyValue("$.messageAttributes.cancelOutcome.text", cancelVisitRequest.cancelOutcome.text)
3233
hmppsMessageString.shouldContainJsonKeyValue("$.messageAttributes.cancelOutcome.outcomeStatus", cancelVisitRequest.cancelOutcome.outcomeStatus.toString())
3334
}

0 commit comments

Comments
 (0)