diff --git a/progression-domain/progression-domain-message/src/raml/json/schema/crown.court.extract.json b/progression-domain/progression-domain-message/src/raml/json/schema/crown.court.extract.json index 5bbe2ba317..283f00794f 100644 --- a/progression-domain/progression-domain-message/src/raml/json/schema/crown.court.extract.json +++ b/progression-domain/progression-domain-message/src/raml/json/schema/crown.court.extract.json @@ -37,6 +37,9 @@ }, "parentGuardian": { "$ref": "#/definitions/parentGuardian" + }, + "isCivil": { + "type": "boolean" } }, "required": [ diff --git a/progression-query/progression-query-api/src/main/java/uk/gov/justice/api/resource/utils/CourtExtractTransformer.java b/progression-query/progression-query-api/src/main/java/uk/gov/justice/api/resource/utils/CourtExtractTransformer.java index 6099511436..dc855921a9 100644 --- a/progression-query/progression-query-api/src/main/java/uk/gov/justice/api/resource/utils/CourtExtractTransformer.java +++ b/progression-query/progression-query-api/src/main/java/uk/gov/justice/api/resource/utils/CourtExtractTransformer.java @@ -244,6 +244,7 @@ public CourtExtractRequested getCourtExtractRequested(final GetHearingsAtAGlance courtExtract.withExtractType(extractType); courtExtract.withCaseReference(transformationHelper.getCaseReference(hearingsAtAGlance.getProsecutionCaseIdentifier())); + courtExtract.withIsCivil(prosecutionCase.getIsCivil()); if (caseDefendant.isPresent()) { final List associatedPersons = caseDefendant.get().getAssociatedPersons(); diff --git a/progression-query/progression-query-api/src/test/java/uk/gov/justice/api/resource/utils/CourtExtractTransformerTest.java b/progression-query/progression-query-api/src/test/java/uk/gov/justice/api/resource/utils/CourtExtractTransformerTest.java index 587eaa67da..27840004a2 100644 --- a/progression-query/progression-query-api/src/test/java/uk/gov/justice/api/resource/utils/CourtExtractTransformerTest.java +++ b/progression-query/progression-query-api/src/test/java/uk/gov/justice/api/resource/utils/CourtExtractTransformerTest.java @@ -17,6 +17,7 @@ import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; @@ -452,6 +453,19 @@ public void testTransformToCourtExtract_shouldUseDefendantAssociatedDefenceOrgan assertThat(defendant2ndResults.size(), is(2)); } + @Test + void testTransformToCourtExtract_shouldReturnIsCivilFlag(){ + String defendantId = "5c75653a-e264-4b59-a419-66221b725a58"; + + final JsonObject prosecutionCasePayload = stringToJsonObjectConverter.convert(getPayload("court-extract/progression.query.prosecutioncase-multiple-defendants.json")); + final JsonObject hearingsAtAGlanceJson = prosecutionCasePayload.getJsonObject("hearingsAtAGlance"); + GetHearingsAtAGlance hearingsAtAGlance = jsonObjectToObjectConverter.convert(hearingsAtAGlanceJson, GetHearingsAtAGlance.class); + ProsecutionCase prosecutionCase1 = createProsecutionCase(true); + + final CourtExtractRequested courtExtractRequested = target.getCourtExtractRequested(hearingsAtAGlance, defendantId, "RecordSheet", emptyList(), randomUUID(), prosecutionCase1); + assertTrue(courtExtractRequested.getIsCivil()); + } + private static void assertAttendanceDays(final List attendanceDays) { assertThat(attendanceDays.size(), is((2))); attendanceDays.forEach(ad -> anyOf(is(CourtExtractTransformer.PRESENT_BY_POLICE_VIDEO_LINK), @@ -1824,6 +1838,10 @@ private ProsecutionCase getProsecutionCaseForLegalEntityDefendant() { } private ProsecutionCase createProsecutionCase() { + return createProsecutionCase(false); + } + + private ProsecutionCase createProsecutionCase(boolean isCivil) { final Defendant defendant = Defendant.defendant().withId(DEFENDANT_ID) .withPersonDefendant(createPersonDefendant()) .withAssociatedPersons(asList(AssociatedPerson.associatedPerson() @@ -1866,7 +1884,7 @@ private ProsecutionCase createProsecutionCase() { add(defendant_2nd); }}; - final ProsecutionCase prosecutionCase = ProsecutionCase.prosecutionCase() + return ProsecutionCase.prosecutionCase() .withId(CASE_ID) .withDefendants(defendants) .withProsecutionCaseIdentifier(ProsecutionCaseIdentifier.prosecutionCaseIdentifier() @@ -1874,9 +1892,8 @@ private ProsecutionCase createProsecutionCase() { .withProsecutionAuthorityCode("code") .withProsecutionAuthorityReference(PAR) .build()) + .withIsCivil(isCivil) .build(); - - return prosecutionCase; } private GetHearingsAtAGlance createHearingsAtGlance() {