From 726979f19e164f035b4a8b4f5376c3667aef704b Mon Sep 17 00:00:00 2001 From: arun Date: Mon, 18 May 2026 10:41:59 +0100 Subject: [PATCH 1/5] HDPI-5350: Add confirmedSections enum field on DefendantResponses for save-for-later distinction --- .../DefendantResponses.java | 3 ++ .../RespondToClaimSection.java | 12 ++++++++ .../RespondToPossessionDraftSavePageTest.java | 29 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java index 5b62f28210..98a9fe1e3a 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java @@ -118,4 +118,7 @@ public class DefendantResponses { private String otherConsiderationsDetails; @CCD private VerticalYesNo makeCounterClaim; + + @CCD(access = {CitizenAccess.class}) + private List confirmedSections; } diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java new file mode 100644 index 0000000000..63a135721f --- /dev/null +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java @@ -0,0 +1,12 @@ +package uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim; + +public enum RespondToClaimSection { + START_NOW_AND_DETAILS, + PERSONAL_DETAILS, + DISPUTE_AND_TENANCY, + PAYMENTS, + SITUATION_AND_CIRCUMSTANCES, + INCOME_AND_EXPENDITURE, + UPLOAD_FILES, + CHECK_YOUR_ANSWERS_AND_SUBMIT +} diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java index 0907080616..77e544f264 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java @@ -23,6 +23,7 @@ import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.PossessionClaimResponse; import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.ReasonableAdjustments; import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.RecurrenceFrequency; +import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.RespondToClaimSection; import uk.gov.hmcts.reform.pcs.ccd.page.BasePageTest; import uk.gov.hmcts.reform.pcs.ccd.page.respondpossessionclaim.page.RespondToPossessionDraftSavePage; import uk.gov.hmcts.reform.pcs.ccd.service.DraftCaseDataService; @@ -392,6 +393,34 @@ void shouldSaveRegularIncomeFieldsInDraft() { .isEqualTo("Child maintenance payments of £100 per week"); } + @Test + void shouldRoundTripConfirmedSectionsInDraft() { + //Given + DefendantResponses responses = DefendantResponses.builder() + .confirmedSections(java.util.List.of( + RespondToClaimSection.START_NOW_AND_DETAILS, + RespondToClaimSection.PERSONAL_DETAILS)) + .build(); + + PCSCase caseData = buildCaseData(PossessionClaimResponse.builder() + .defendantResponses(responses) + .build()); + + //When + AboutToStartOrSubmitResponse response = callMidEventHandler(caseData); + + //Then + assertThat(response.getErrors()).isNull(); + verify(draftCaseDataService).saveUnsubmittedEventData( + eq(TEST_CASE_REFERENCE), pcsCaseCaptor.capture(), eq(respondPossessionClaim) + ); + PCSCase savedDraft = pcsCaseCaptor.getValue(); + assertThat(savedDraft.getPossessionClaimResponse().getDefendantResponses().getConfirmedSections()) + .containsExactly( + RespondToClaimSection.START_NOW_AND_DETAILS, + RespondToClaimSection.PERSONAL_DETAILS); + } + @Test void shouldReturnErrorWhenDraftSaveFails() { //Given From e3af7283378cbb2b3839a3c25dca603ad751a907 Mon Sep 17 00:00:00 2001 From: arun Date: Mon, 18 May 2026 11:33:49 +0100 Subject: [PATCH 2/5] HDPI-5350: fix CCD type for confirmedSections enum collection --- .../domain/respondpossessionclaim/DefendantResponses.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java index 98a9fe1e3a..a2452b3ef0 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java @@ -119,6 +119,10 @@ public class DefendantResponses { @CCD private VerticalYesNo makeCounterClaim; - @CCD(access = {CitizenAccess.class}) + @CCD( + access = {CitizenAccess.class}, + typeOverride = FieldType.MultiSelectList, + typeParameterOverride = "RespondToClaimSection" + ) private List confirmedSections; } From 194546a4cdb05b7073a9dea5d4233339669f6e39 Mon Sep 17 00:00:00 2001 From: arun Date: Mon, 18 May 2026 16:27:33 +0100 Subject: [PATCH 3/5] HDPI-5350: rename confirmedSections to completedSections per review --- .../domain/respondpossessionclaim/DefendantResponses.java | 2 +- .../RespondToPossessionDraftSavePageTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java index a2452b3ef0..136d8efa09 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java @@ -124,5 +124,5 @@ public class DefendantResponses { typeOverride = FieldType.MultiSelectList, typeParameterOverride = "RespondToClaimSection" ) - private List confirmedSections; + private List completedSections; } diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java index 77e544f264..9092513330 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java @@ -394,10 +394,10 @@ void shouldSaveRegularIncomeFieldsInDraft() { } @Test - void shouldRoundTripConfirmedSectionsInDraft() { + void shouldRoundTripCompletedSectionsInDraft() { //Given DefendantResponses responses = DefendantResponses.builder() - .confirmedSections(java.util.List.of( + .completedSections(java.util.List.of( RespondToClaimSection.START_NOW_AND_DETAILS, RespondToClaimSection.PERSONAL_DETAILS)) .build(); @@ -415,7 +415,7 @@ void shouldRoundTripConfirmedSectionsInDraft() { eq(TEST_CASE_REFERENCE), pcsCaseCaptor.capture(), eq(respondPossessionClaim) ); PCSCase savedDraft = pcsCaseCaptor.getValue(); - assertThat(savedDraft.getPossessionClaimResponse().getDefendantResponses().getConfirmedSections()) + assertThat(savedDraft.getPossessionClaimResponse().getDefendantResponses().getCompletedSections()) .containsExactly( RespondToClaimSection.START_NOW_AND_DETAILS, RespondToClaimSection.PERSONAL_DETAILS); From dac22a48887896d68a2ad657a151ac26daaac340 Mon Sep 17 00:00:00 2001 From: arun Date: Thu, 21 May 2026 07:17:05 +0100 Subject: [PATCH 4/5] HDPI-5350: Add EQUALITY_AND_DIVERSITY and TELL_US_IF_YOU_NEED_SUPPORT to RespondToClaimSection enum --- .../domain/respondpossessionclaim/RespondToClaimSection.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java index 63a135721f..2f3f827053 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java @@ -8,5 +8,7 @@ public enum RespondToClaimSection { SITUATION_AND_CIRCUMSTANCES, INCOME_AND_EXPENDITURE, UPLOAD_FILES, + EQUALITY_AND_DIVERSITY, + TELL_US_IF_YOU_NEED_SUPPORT, CHECK_YOUR_ANSWERS_AND_SUBMIT } From c656924f79f9e833769f82cc0abae58cfa2437cd Mon Sep 17 00:00:00 2001 From: arun Date: Thu, 21 May 2026 09:59:32 +0100 Subject: [PATCH 5/5] HDPI-5350: Revert EQUALITY_AND_DIVERSITY and TELL_US_IF_YOU_NEED_SUPPORT enum values (out of scope for this branch) --- .../domain/respondpossessionclaim/RespondToClaimSection.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java index 2f3f827053..63a135721f 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/RespondToClaimSection.java @@ -8,7 +8,5 @@ public enum RespondToClaimSection { SITUATION_AND_CIRCUMSTANCES, INCOME_AND_EXPENDITURE, UPLOAD_FILES, - EQUALITY_AND_DIVERSITY, - TELL_US_IF_YOU_NEED_SUPPORT, CHECK_YOUR_ANSWERS_AND_SUBMIT }