Skip to content
Open
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,11 @@ public class DefendantResponses {
private String otherConsiderationsDetails;
@CCD
private VerticalYesNo makeCounterClaim;

@CCD(
access = {CitizenAccess.class},
typeOverride = FieldType.MultiSelectList,
typeParameterOverride = "RespondToClaimSection"
)
private List<RespondToClaimSection> completedSections;
}
Original file line number Diff line number Diff line change
@@ -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
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -392,6 +393,34 @@ void shouldSaveRegularIncomeFieldsInDraft() {
.isEqualTo("Child maintenance payments of £100 per week");
}

@Test
void shouldRoundTripCompletedSectionsInDraft() {
//Given
DefendantResponses responses = DefendantResponses.builder()
.completedSections(java.util.List.of(
RespondToClaimSection.START_NOW_AND_DETAILS,
RespondToClaimSection.PERSONAL_DETAILS))
.build();

PCSCase caseData = buildCaseData(PossessionClaimResponse.builder()
.defendantResponses(responses)
.build());

//When
AboutToStartOrSubmitResponse<PCSCase, State> 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().getCompletedSections())
.containsExactly(
RespondToClaimSection.START_NOW_AND_DETAILS,
RespondToClaimSection.PERSONAL_DETAILS);
}

@Test
void shouldReturnErrorWhenDraftSaveFails() {
//Given
Expand Down
Loading