diff --git a/hearing-command/hearing-command-api/pom.xml b/hearing-command/hearing-command-api/pom.xml index 831f9fd06..82bcac47d 100644 --- a/hearing-command/hearing-command-api/pom.xml +++ b/hearing-command/hearing-command-api/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-command - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-command-api war diff --git a/hearing-command/hearing-command-handler/pom.xml b/hearing-command/hearing-command-handler/pom.xml index 5df4505db..33e478bce 100644 --- a/hearing-command/hearing-command-handler/pom.xml +++ b/hearing-command/hearing-command-handler/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-command - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-command-handler war diff --git a/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/DefendantDto.java b/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/DefendantDto.java index 7546d33d8..b5bbcb84f 100644 --- a/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/DefendantDto.java +++ b/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/DefendantDto.java @@ -1,16 +1,20 @@ package uk.gov.moj.cpp.hearing.command.handler.service.validation; +import java.time.LocalDate; + public class DefendantDto { private final String defendantId; private final String firstName; private final String lastName; private final String masterDefendantId; + private final LocalDate dateOfBirth; private DefendantDto(Builder builder) { this.defendantId = builder.defendantId; this.firstName = builder.firstName; this.lastName = builder.lastName; this.masterDefendantId = builder.masterDefendantId; + this.dateOfBirth = builder.dateOfBirth; } public String getDefendantId() { @@ -29,6 +33,10 @@ public String getMasterDefendantId() { return masterDefendantId; } + public LocalDate getDateOfBirth() { + return dateOfBirth; + } + public static Builder builder() { return new Builder(); } @@ -38,6 +46,7 @@ public static final class Builder { private String firstName; private String lastName; private String masterDefendantId; + private LocalDate dateOfBirth; public Builder withDefendantId(String defendantId) { this.defendantId = defendantId; @@ -59,6 +68,11 @@ public Builder withMasterDefendantId(String masterDefendantId) { return this; } + public Builder withDateOfBirth(LocalDate dateOfBirth) { + this.dateOfBirth = dateOfBirth; + return this; + } + public DefendantDto build() { return new DefendantDto(this); } diff --git a/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapper.java b/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapper.java index 0f42c14a4..6c9ea74e3 100644 --- a/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapper.java +++ b/hearing-command/hearing-command-handler/src/main/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapper.java @@ -65,6 +65,7 @@ private DefendantDto toDefendantDto(final Defendant defendant) { .withFirstName(personDetails != null ? personDetails.getFirstName() : null) .withLastName(personDetails != null ? personDetails.getLastName() : null) .withMasterDefendantId(uuidToString(defendant.getMasterDefendantId())) + .withDateOfBirth(personDetails != null ? personDetails.getDateOfBirth() : null) .build(); } diff --git a/hearing-command/hearing-command-handler/src/test/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapperTest.java b/hearing-command/hearing-command-handler/src/test/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapperTest.java index 0e284ded4..f08a82263 100644 --- a/hearing-command/hearing-command-handler/src/test/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapperTest.java +++ b/hearing-command/hearing-command-handler/src/test/java/uk/gov/moj/cpp/hearing/command/handler/service/validation/ValidationRequestMapperTest.java @@ -141,6 +141,41 @@ void shouldHandleNullPersonDefendantGracefully() { assertThat(request.getDefendants(), hasSize(1)); assertThat(request.getDefendants().get(0).getFirstName(), is(nullValue())); assertThat(request.getDefendants().get(0).getLastName(), is(nullValue())); + assertThat(request.getDefendants().get(0).getDateOfBirth(), is(nullValue())); + } + + @Test + void shouldMapDefendantDateOfBirthFromPersonDetails() { + final UUID defendantId = randomUUID(); + final LocalDate dateOfBirth = LocalDate.of(1990, 5, 20); + + final Person person = Person.person() + .withDateOfBirth(dateOfBirth) + .build(); + + final PersonDefendant personDefendant = PersonDefendant.personDefendant() + .withPersonDetails(person) + .build(); + + final Defendant defendant = Defendant.defendant() + .withId(defendantId) + .withPersonDefendant(personDefendant) + .build(); + + final ProsecutionCase prosecutionCase = ProsecutionCase.prosecutionCase() + .withDefendants(List.of(defendant)) + .build(); + + final Hearing hearing = Hearing.hearing() + .withProsecutionCases(List.of(prosecutionCase)) + .build(); + + final ShareDaysResultsCommand command = buildCommand(randomUUID(), LocalDate.now(), emptyList()); + + final ValidationRequest request = mapper.toValidationRequest(command, hearing); + + assertThat(request.getDefendants(), hasSize(1)); + assertThat(request.getDefendants().get(0).getDateOfBirth(), is(dateOfBirth)); } @Test diff --git a/hearing-command/pom.xml b/hearing-command/pom.xml index 46e9c2c79..ba3e38178 100644 --- a/hearing-command/pom.xml +++ b/hearing-command/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-command pom diff --git a/hearing-common/pom.xml b/hearing-common/pom.xml index af1802ce3..e30a63425 100644 --- a/hearing-common/pom.xml +++ b/hearing-common/pom.xml @@ -3,7 +3,7 @@ hearing-parent uk.gov.moj.cpp.hearing - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 diff --git a/hearing-domain/hearing-domain-aggregate/pom.xml b/hearing-domain/hearing-domain-aggregate/pom.xml index eae4201e4..ccf7fa9a6 100644 --- a/hearing-domain/hearing-domain-aggregate/pom.xml +++ b/hearing-domain/hearing-domain-aggregate/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-domain - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-domain-aggregate diff --git a/hearing-domain/hearing-domain-common/pom.xml b/hearing-domain/hearing-domain-common/pom.xml index 4aac97315..989bd4b56 100644 --- a/hearing-domain/hearing-domain-common/pom.xml +++ b/hearing-domain/hearing-domain-common/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-domain - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-domain-common diff --git a/hearing-domain/hearing-domain-event/pom.xml b/hearing-domain/hearing-domain-event/pom.xml index ada1b1507..305e4d1b5 100644 --- a/hearing-domain/hearing-domain-event/pom.xml +++ b/hearing-domain/hearing-domain-event/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-domain - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-domain-event diff --git a/hearing-domain/hearing-domain-xhibit/pom.xml b/hearing-domain/hearing-domain-xhibit/pom.xml index 3fe31f559..970306c40 100644 --- a/hearing-domain/hearing-domain-xhibit/pom.xml +++ b/hearing-domain/hearing-domain-xhibit/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-domain - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 diff --git a/hearing-domain/pom.xml b/hearing-domain/pom.xml index 92185ecf8..94a5eb2f9 100644 --- a/hearing-domain/pom.xml +++ b/hearing-domain/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-domain pom diff --git a/hearing-event-sources/pom.xml b/hearing-event-sources/pom.xml index 4689fe013..b7d18785f 100644 --- a/hearing-event-sources/pom.xml +++ b/hearing-event-sources/pom.xml @@ -3,7 +3,7 @@ hearing-parent uk.gov.moj.cpp.hearing - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT ../pom.xml 4.0.0 diff --git a/hearing-event/hearing-event-listener/pom.xml b/hearing-event/hearing-event-listener/pom.xml index b8877f906..7674e6294 100644 --- a/hearing-event/hearing-event-listener/pom.xml +++ b/hearing-event/hearing-event-listener/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-event - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-event-listener war diff --git a/hearing-event/hearing-event-processor/pom.xml b/hearing-event/hearing-event-processor/pom.xml index 006a40dc0..7b7e2aad2 100644 --- a/hearing-event/hearing-event-processor/pom.xml +++ b/hearing-event/hearing-event-processor/pom.xml @@ -3,7 +3,7 @@ hearing-event uk.gov.moj.cpp.hearing - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 war diff --git a/hearing-event/pom.xml b/hearing-event/pom.xml index 898b1305f..75d3baf48 100644 --- a/hearing-event/pom.xml +++ b/hearing-event/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-event pom diff --git a/hearing-healthchecks/pom.xml b/hearing-healthchecks/pom.xml index c1e354abd..45c62183f 100644 --- a/hearing-healthchecks/pom.xml +++ b/hearing-healthchecks/pom.xml @@ -3,7 +3,7 @@ hearing-parent uk.gov.moj.cpp.hearing - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 diff --git a/hearing-integration-test/pom.xml b/hearing-integration-test/pom.xml index b8e8a4020..d1baeecef 100644 --- a/hearing-integration-test/pom.xml +++ b/hearing-integration-test/pom.xml @@ -5,7 +5,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-integration-test diff --git a/hearing-json/pom.xml b/hearing-json/pom.xml index b72b2e643..14d866f3a 100644 --- a/hearing-json/pom.xml +++ b/hearing-json/pom.xml @@ -3,7 +3,7 @@ hearing-parent uk.gov.moj.cpp.hearing - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 diff --git a/hearing-query/hearing-query-api/pom.xml b/hearing-query/hearing-query-api/pom.xml index f3bcd763d..7b63c1cea 100644 --- a/hearing-query/hearing-query-api/pom.xml +++ b/hearing-query/hearing-query-api/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-query - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-query-api war diff --git a/hearing-query/hearing-query-view/pom.xml b/hearing-query/hearing-query-view/pom.xml index 7d422d40e..745fcfaad 100644 --- a/hearing-query/hearing-query-view/pom.xml +++ b/hearing-query/hearing-query-view/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-query - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-query-view jar diff --git a/hearing-query/hearing-query-view/src/test/java/uk/gov/moj/cpp/hearing/query/view/service/GetHearingCaseTransformerTest.java b/hearing-query/hearing-query-view/src/test/java/uk/gov/moj/cpp/hearing/query/view/service/GetHearingCaseTransformerTest.java index 4d7c1a0b5..8fb4cd4b7 100644 --- a/hearing-query/hearing-query-view/src/test/java/uk/gov/moj/cpp/hearing/query/view/service/GetHearingCaseTransformerTest.java +++ b/hearing-query/hearing-query-view/src/test/java/uk/gov/moj/cpp/hearing/query/view/service/GetHearingCaseTransformerTest.java @@ -88,4 +88,61 @@ void shouldReturnHearingDateMatchingTheQueriedDayForMultiDayHearing() { assertThat(result.getHearingDate(), is(tomorrow.toLocalDate().toString())); } + + @Test + void shouldIncludeGroupMasterCaseWhenHearingIsGroupProceedings() { + final UUID masterCaseId = randomUUID(); + final Hearing hearing = hearing().withId(randomUUID()) + .withCourtCentre(courtCentre().withId(randomUUID()).withRoomId(randomUUID()).build()) + .withIsGroupProceedings(true) + .withProsecutionCases(List.of( + prosecutionCase().withId(masterCaseId) + .withIsGroupMaster(true) + .withIsGroupMember(true) + .build() + )) + .build(); + + final HearingCases result = transformer.hearingCases(hearing, LocalDate.now()).build(); + + assertThat(result.getProsecutionCases(), equalTo(List.of(masterCaseId))); + } + + @Test + void shouldIncludeNonGroupMemberCaseWhenHearingIsGroupProceedings() { + final UUID caseId = randomUUID(); + final Hearing hearing = hearing().withId(randomUUID()) + .withCourtCentre(courtCentre().withId(randomUUID()).withRoomId(randomUUID()).build()) + .withIsGroupProceedings(true) + .withProsecutionCases(List.of( + prosecutionCase().withId(caseId) + .withIsGroupMaster(false) + .withIsGroupMember(null) + .build() + )) + .build(); + + final HearingCases result = transformer.hearingCases(hearing, LocalDate.now()).build(); + + assertThat(result.getProsecutionCases(), equalTo(List.of(caseId))); + } + + @Test + void shouldExcludeGroupMemberCaseWhenHearingIsGroupProceedings() { + final UUID memberCaseId = randomUUID(); + final Hearing hearing = hearing().withId(randomUUID()) + .withCourtCentre(courtCentre().withId(randomUUID()).withRoomId(randomUUID()).build()) + .withIsGroupProceedings(true) + .withProsecutionCases(List.of( + prosecutionCase().withId(memberCaseId) + .withIsGroupMaster(false) + .withIsGroupMember(true) + .build() + )) + .build(); + + final HearingCases result = transformer.hearingCases(hearing, LocalDate.now()).build(); + + assertThat(result.getProsecutionCases(), is(emptyList())); + } } \ No newline at end of file diff --git a/hearing-query/pom.xml b/hearing-query/pom.xml index 63076aa8a..4e8011278 100644 --- a/hearing-query/pom.xml +++ b/hearing-query/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-query pom diff --git a/hearing-service/pom.xml b/hearing-service/pom.xml index dd494d581..473f66ee8 100644 --- a/hearing-service/pom.xml +++ b/hearing-service/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT 4.0.0 diff --git a/hearing-viewstore/hearing-viewstore-liquibase/pom.xml b/hearing-viewstore/hearing-viewstore-liquibase/pom.xml index 58d6916c5..312e73560 100644 --- a/hearing-viewstore/hearing-viewstore-liquibase/pom.xml +++ b/hearing-viewstore/hearing-viewstore-liquibase/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-viewstore - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-viewstore-liquibase diff --git a/hearing-viewstore/hearing-viewstore-persistence/pom.xml b/hearing-viewstore/hearing-viewstore-persistence/pom.xml index fd519faf8..e58943f7c 100644 --- a/hearing-viewstore/hearing-viewstore-persistence/pom.xml +++ b/hearing-viewstore/hearing-viewstore-persistence/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-viewstore - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-viewstore-persistence diff --git a/hearing-viewstore/pom.xml b/hearing-viewstore/pom.xml index 3a0fea28a..2a9558d96 100644 --- a/hearing-viewstore/pom.xml +++ b/hearing-viewstore/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT hearing-viewstore pom diff --git a/pojo-plugin/pom.xml b/pojo-plugin/pom.xml index 5cd83e693..e3bdf1e1d 100644 --- a/pojo-plugin/pom.xml +++ b/pojo-plugin/pom.xml @@ -3,7 +3,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT pojo-plugin diff --git a/pom.xml b/pom.xml index be22b7ade..74c011b75 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT pom Hearing Context - Parent Module diff --git a/test-utilities/pom.xml b/test-utilities/pom.xml index 4924bc08f..9b376ad86 100644 --- a/test-utilities/pom.xml +++ b/test-utilities/pom.xml @@ -7,7 +7,7 @@ uk.gov.moj.cpp.hearing hearing-parent - 17.104.181-SNAPSHOT + 17.104.181-DD-42950-SNAPSHOT