Skip to content

Commit ee41fb8

Browse files
author
popey2700
committed
Implement JsonInclude for SentencekeyDate
1 parent a8425e1 commit ee41fb8

File tree

4 files changed

+96
-109
lines changed

4 files changed

+96
-109
lines changed

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

+2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps
22

3+
import com.fasterxml.jackson.annotation.JsonInclude
34
import java.time.LocalDate
45

6+
@JsonInclude(JsonInclude.Include.NON_NULL)
57
data class SentenceKeyDate(
68
val date: LocalDate? = null,
79
val overrideDate: LocalDate? = null,

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/person/sentences/LatestSentenceKeyDatesAndAdjustmentsControllerTest.kt

+94-99
Original file line numberDiff line numberDiff line change
@@ -157,106 +157,101 @@ internal class LatestSentenceKeyDatesAndAdjustmentsControllerTest(
157157

158158
result.response.contentAsString.shouldContain(
159159
"""
160-
{
161-
"data": {
162-
"adjustments": {
163-
"additionalDaysAwarded": 7,
164-
"unlawfullyAtLarge": 10,
165-
"lawfullyAtLarge": 2,
166-
"restoredAdditionalDaysAwarded": 0,
167-
"specialRemission": 11,
168-
"recallSentenceRemand": 1,
169-
"recallSentenceTaggedBail": 3,
170-
"remand": 6,
171-
"taggedBail": 3,
172-
"unusedRemand": 6
173-
},
174-
"automaticRelease": {
175-
"date": "2023-04-01",
176-
"overrideDate": "2023-04-01",
177-
"calculatedDate": null
178-
},
179-
"conditionalRelease": {
180-
"date": "2023-05-01",
181-
"overrideDate": "2023-05-01",
182-
"calculatedDate": null
183-
},
184-
"dtoPostRecallRelease": {
185-
"date": "2024-01-02",
186-
"overrideDate": "2024-01-02",
187-
"calculatedDate": null
188-
},
189-
"earlyTerm": {
190-
"date": "2021-11-02",
191-
"overrideDate": "2021-11-02",
192-
"calculatedDate": "2021-11-02"
193-
},
194-
"homeDetentionCurfew": {
195-
"actualDate": "2022-04-01",
196-
"eligibilityCalculatedDate": "2022-04-01",
197-
"eligibilityDate": "2022-04-01",
198-
"eligibilityOverrideDate": "2022-04-01",
199-
"endDate": "2022-04-01"
200-
},
201-
"lateTerm": {
202-
"date": "2022-01-01",
203-
"overrideDate": "2022-01-01",
204-
"calculatedDate": "2022-01-01"
205-
},
206-
"licenceExpiry": {
207-
"date": "2025-02-01",
208-
"overrideDate": "2025-02-01",
209-
"calculatedDate": "2025-02-01"
210-
},
211-
"midTerm": {
212-
"date": "2024-02-01",
213-
"overrideDate": "2024-02-01",
214-
"calculatedDate": "2024-02-01"
215-
},
216-
"nonDto": {
217-
"date": "2024-02-01",
218-
"releaseDateType": "CRD"
219-
},
220-
"nonParole": {
221-
"date": "2026-11-02",
222-
"overrideDate": "2026-11-02",
223-
"calculatedDate": null
224-
},
225-
"paroleEligibility": {
226-
"date": "2027-02-01",
227-
"overrideDate": "2027-02-01",
228-
"calculatedDate": "2027-02-01"
229-
},
230-
"postRecallRelease": {
231-
"date": "2028-02-01",
232-
"overrideDate": "2028-02-01",
233-
"calculatedDate": null
234-
},
235-
"release": {
236-
"date": "2030-02-01",
237-
"confirmedDate": "2030-02-01"
238-
},
239-
"sentence": {
240-
"effectiveEndDate": "2025-02-01",
241-
"expiryCalculatedDate": "2025-02-01",
242-
"expiryDate": "2025-02-01",
243-
"expiryOverrideDate": "2025-02-01",
244-
"startDate": "2025-02-01"
245-
},
246-
"topupSupervision": {
247-
"expiryCalculatedDate": "2022-04-01",
248-
"expiryDate": "2022-04-01",
249-
"expiryOverrideDate": "2022-04-01",
250-
"startDate": "2022-04-01"
251-
},
252-
"actualParoleDate": "2031-02-01",
253-
"earlyRemovalSchemeEligibilityDate": "2031-02-01",
254-
"releaseOnTemporaryLicenceDate": "2031-02-01",
255-
"tariffDate": "2031-02-01",
256-
"tariffEarlyRemovalSchemeEligibilityDate": "2031-02-01"
160+
{
161+
"data": {
162+
"adjustments": {
163+
"additionalDaysAwarded": 7,
164+
"unlawfullyAtLarge": 10,
165+
"lawfullyAtLarge": 2,
166+
"restoredAdditionalDaysAwarded": 0,
167+
"specialRemission": 11,
168+
"recallSentenceRemand": 1,
169+
"recallSentenceTaggedBail": 3,
170+
"remand": 6,
171+
"taggedBail": 3,
172+
"unusedRemand": 6
173+
},
174+
"automaticRelease": {
175+
"date": "2023-04-01",
176+
"overrideDate": "2023-04-01"
177+
},
178+
"conditionalRelease": {
179+
"date": "2023-05-01",
180+
"overrideDate": "2023-05-01"
181+
},
182+
"dtoPostRecallRelease": {
183+
"date": "2024-01-02",
184+
"overrideDate": "2024-01-02"
185+
},
186+
"earlyTerm": {
187+
"date": "2021-11-02",
188+
"overrideDate": "2021-11-02",
189+
"calculatedDate": "2021-11-02"
190+
},
191+
"homeDetentionCurfew": {
192+
"actualDate": "2022-04-01",
193+
"eligibilityCalculatedDate": "2022-04-01",
194+
"eligibilityDate": "2022-04-01",
195+
"eligibilityOverrideDate": "2022-04-01",
196+
"endDate": "2022-04-01"
197+
},
198+
"lateTerm": {
199+
"date": "2022-01-01",
200+
"overrideDate": "2022-01-01",
201+
"calculatedDate": "2022-01-01"
202+
},
203+
"licenceExpiry": {
204+
"date": "2025-02-01",
205+
"overrideDate": "2025-02-01",
206+
"calculatedDate": "2025-02-01"
207+
},
208+
"midTerm": {
209+
"date": "2024-02-01",
210+
"overrideDate": "2024-02-01",
211+
"calculatedDate": "2024-02-01"
212+
},
213+
"nonDto": {
214+
"date": "2024-02-01",
215+
"releaseDateType": "CRD"
216+
},
217+
"nonParole": {
218+
"date": "2026-11-02",
219+
"overrideDate": "2026-11-02"
220+
},
221+
"paroleEligibility": {
222+
"date": "2027-02-01",
223+
"overrideDate": "2027-02-01",
224+
"calculatedDate": "2027-02-01"
225+
},
226+
"postRecallRelease": {
227+
"date": "2028-02-01",
228+
"overrideDate": "2028-02-01"
229+
},
230+
"release": {
231+
"date": "2030-02-01",
232+
"confirmedDate": "2030-02-01"
233+
},
234+
"sentence": {
235+
"effectiveEndDate": "2025-02-01",
236+
"expiryCalculatedDate": "2025-02-01",
237+
"expiryDate": "2025-02-01",
238+
"expiryOverrideDate": "2025-02-01",
239+
"startDate": "2025-02-01"
240+
},
241+
"topupSupervision": {
242+
"expiryCalculatedDate": "2022-04-01",
243+
"expiryDate": "2022-04-01",
244+
"expiryOverrideDate": "2022-04-01",
245+
"startDate": "2022-04-01"
246+
},
247+
"actualParoleDate": "2031-02-01",
248+
"earlyRemovalSchemeEligibilityDate": "2031-02-01",
249+
"releaseOnTemporaryLicenceDate": "2031-02-01",
250+
"tariffDate": "2031-02-01",
251+
"tariffEarlyRemovalSchemeEligibilityDate": "2031-02-01"
252+
}
257253
}
258-
}
259-
""".removeWhitespaceAndNewlines(),
254+
""".removeWhitespaceAndNewlines(),
260255
)
261256
}
262257

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/gateways/nomis/GetLatestSentenceKeyDatesForPersonTest.kt

-5
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,12 @@ class GetLatestSentenceKeyDatesForPersonTest(
111111

112112
response.data?.automaticRelease?.date.shouldBe(LocalDate.parse("2023-03-01"))
113113
response.data?.automaticRelease?.overrideDate.shouldBe(LocalDate.parse("2023-03-01"))
114-
response.data?.automaticRelease?.calculatedDate.shouldBe(null)
115114

116115
response.data?.conditionalRelease?.date.shouldBe(LocalDate.parse("2023-04-01"))
117116
response.data?.conditionalRelease?.overrideDate.shouldBe(LocalDate.parse("2023-04-01"))
118-
response.data?.conditionalRelease?.calculatedDate.shouldBe(null)
119117

120118
response.data?.dtoPostRecallRelease?.date.shouldBe(LocalDate.parse("2023-05-01"))
121119
response.data?.dtoPostRecallRelease?.overrideDate.shouldBe(LocalDate.parse("2023-05-01"))
122-
response.data?.dtoPostRecallRelease?.calculatedDate.shouldBe(null)
123120

124121
response.data?.earlyTerm?.date.shouldBe(LocalDate.parse("2021-04-01"))
125122
response.data?.earlyTerm?.overrideDate.shouldBe(LocalDate.parse("2021-04-01"))
@@ -148,15 +145,13 @@ class GetLatestSentenceKeyDatesForPersonTest(
148145

149146
response.data?.nonParole?.date.shouldBe(LocalDate.parse("2026-02-01"))
150147
response.data?.nonParole?.overrideDate.shouldBe(LocalDate.parse("2026-02-01"))
151-
response.data?.nonParole?.calculatedDate.shouldBe(null)
152148

153149
response.data?.paroleEligibility?.date.shouldBe(LocalDate.parse("2027-02-01"))
154150
response.data?.paroleEligibility?.overrideDate.shouldBe(LocalDate.parse("2027-02-01"))
155151
response.data?.paroleEligibility?.calculatedDate.shouldBe(LocalDate.parse("2027-02-01"))
156152

157153
response.data?.postRecallRelease?.date.shouldBe(LocalDate.parse("2028-02-01"))
158154
response.data?.postRecallRelease?.overrideDate.shouldBe(LocalDate.parse("2028-02-01"))
159-
response.data?.postRecallRelease?.calculatedDate.shouldBe(null)
160155

161156
response.data?.release?.date.shouldBe(LocalDate.parse("2030-02-01"))
162157
response.data?.release?.confirmedDate.shouldBe(LocalDate.parse("2030-02-01"))

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/services/GetLatestSentenceKeyDatesAndAdjustmentsForPersonServiceTest.kt

-5
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,12 @@ internal class GetLatestSentenceKeyDatesAndAdjustmentsForPersonServiceTest(
179179

180180
response.data?.automaticRelease?.date.shouldBe(LocalDate.parse("2023-11-02"))
181181
response.data?.automaticRelease?.overrideDate.shouldBe(LocalDate.parse("2023-11-02"))
182-
response.data?.automaticRelease?.calculatedDate.shouldBe(null)
183182

184183
response.data?.conditionalRelease?.date.shouldBe(LocalDate.parse("2023-12-02"))
185184
response.data?.conditionalRelease?.overrideDate.shouldBe(LocalDate.parse("2023-12-02"))
186-
response.data?.conditionalRelease?.calculatedDate.shouldBe(null)
187185

188186
response.data?.dtoPostRecallRelease?.date.shouldBe(LocalDate.parse("2024-01-02"))
189187
response.data?.dtoPostRecallRelease?.overrideDate.shouldBe(LocalDate.parse("2024-01-02"))
190-
response.data?.dtoPostRecallRelease?.calculatedDate.shouldBe(null)
191188

192189
response.data?.earlyTerm?.date.shouldBe(LocalDate.parse("2021-11-02"))
193190
response.data?.earlyTerm?.overrideDate.shouldBe(LocalDate.parse("2021-11-02"))
@@ -216,15 +213,13 @@ internal class GetLatestSentenceKeyDatesAndAdjustmentsForPersonServiceTest(
216213

217214
response.data?.nonParole?.date.shouldBe(LocalDate.parse("2026-11-02"))
218215
response.data?.nonParole?.overrideDate.shouldBe(LocalDate.parse("2026-11-02"))
219-
response.data?.nonParole?.calculatedDate.shouldBe(null)
220216

221217
response.data?.paroleEligibility?.date.shouldBe(LocalDate.parse("2027-02-01"))
222218
response.data?.paroleEligibility?.overrideDate.shouldBe(LocalDate.parse("2027-02-01"))
223219
response.data?.paroleEligibility?.calculatedDate.shouldBe(LocalDate.parse("2027-02-01"))
224220

225221
response.data?.postRecallRelease?.date.shouldBe(LocalDate.parse("2028-02-01"))
226222
response.data?.postRecallRelease?.overrideDate.shouldBe(LocalDate.parse("2028-02-01"))
227-
response.data?.postRecallRelease?.calculatedDate.shouldBe(null)
228223

229224
response.data?.release?.date.shouldBe(LocalDate.parse("2030-02-01"))
230225
response.data?.release?.confirmedDate.shouldBe(LocalDate.parse("2030-02-01"))

0 commit comments

Comments
 (0)