Skip to content

Commit 726979f

Browse files
committed
HDPI-5350: Add confirmedSections enum field on DefendantResponses for save-for-later distinction
1 parent 944ed2a commit 726979f

3 files changed

Lines changed: 44 additions & 0 deletions

File tree

src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/DefendantResponses.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,7 @@ public class DefendantResponses {
118118
private String otherConsiderationsDetails;
119119
@CCD
120120
private VerticalYesNo makeCounterClaim;
121+
122+
@CCD(access = {CitizenAccess.class})
123+
private List<RespondToClaimSection> confirmedSections;
121124
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim;
2+
3+
public enum RespondToClaimSection {
4+
START_NOW_AND_DETAILS,
5+
PERSONAL_DETAILS,
6+
DISPUTE_AND_TENANCY,
7+
PAYMENTS,
8+
SITUATION_AND_CIRCUMSTANCES,
9+
INCOME_AND_EXPENDITURE,
10+
UPLOAD_FILES,
11+
CHECK_YOUR_ANSWERS_AND_SUBMIT
12+
}

src/test/java/uk/gov/hmcts/reform/pcs/ccd/page/respondpossessionsclaim/RespondToPossessionDraftSavePageTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.PossessionClaimResponse;
2424
import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.ReasonableAdjustments;
2525
import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.RecurrenceFrequency;
26+
import uk.gov.hmcts.reform.pcs.ccd.domain.respondpossessionclaim.RespondToClaimSection;
2627
import uk.gov.hmcts.reform.pcs.ccd.page.BasePageTest;
2728
import uk.gov.hmcts.reform.pcs.ccd.page.respondpossessionclaim.page.RespondToPossessionDraftSavePage;
2829
import uk.gov.hmcts.reform.pcs.ccd.service.DraftCaseDataService;
@@ -392,6 +393,34 @@ void shouldSaveRegularIncomeFieldsInDraft() {
392393
.isEqualTo("Child maintenance payments of £100 per week");
393394
}
394395

396+
@Test
397+
void shouldRoundTripConfirmedSectionsInDraft() {
398+
//Given
399+
DefendantResponses responses = DefendantResponses.builder()
400+
.confirmedSections(java.util.List.of(
401+
RespondToClaimSection.START_NOW_AND_DETAILS,
402+
RespondToClaimSection.PERSONAL_DETAILS))
403+
.build();
404+
405+
PCSCase caseData = buildCaseData(PossessionClaimResponse.builder()
406+
.defendantResponses(responses)
407+
.build());
408+
409+
//When
410+
AboutToStartOrSubmitResponse<PCSCase, State> response = callMidEventHandler(caseData);
411+
412+
//Then
413+
assertThat(response.getErrors()).isNull();
414+
verify(draftCaseDataService).saveUnsubmittedEventData(
415+
eq(TEST_CASE_REFERENCE), pcsCaseCaptor.capture(), eq(respondPossessionClaim)
416+
);
417+
PCSCase savedDraft = pcsCaseCaptor.getValue();
418+
assertThat(savedDraft.getPossessionClaimResponse().getDefendantResponses().getConfirmedSections())
419+
.containsExactly(
420+
RespondToClaimSection.START_NOW_AND_DETAILS,
421+
RespondToClaimSection.PERSONAL_DETAILS);
422+
}
423+
395424
@Test
396425
void shouldReturnErrorWhenDraftSaveFails() {
397426
//Given

0 commit comments

Comments
 (0)