From ddd1bb4a3b34c4bb05103e3106a566ed764197b8 Mon Sep 17 00:00:00 2001 From: Alex Buzea Date: Fri, 27 Mar 2026 17:16:31 +0000 Subject: [PATCH 1/5] matching field name to data model and frontend --- .../ccd/domain/respondpossessionclaim/DefendantResponses.java | 2 +- 1 file changed, 1 insertion(+), 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 aee1371ca1..e4c416925b 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 @@ -44,7 +44,7 @@ public class DefendantResponses { private BigDecimal rentArrearsAmount; @CCD - private YesNoNotSure noticeReceived; + private YesNoNotSure possessionNoticeReceived; @CCD private LocalDate noticeReceivedDate; From 562db92e52562cbc8781315754d9d4e1124eeb2f Mon Sep 17 00:00:00 2001 From: Alex Buzea Date: Fri, 27 Mar 2026 17:20:11 +0000 Subject: [PATCH 2/5] refactoring mapping to match field name change --- .../respondpossessionclaim/DefendantResponseService.java | 2 +- .../RespondToPossessionDraftSavePageTest.java | 2 +- .../reform/pcs/ccd/service/DefendantResponseServiceTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/DefendantResponseService.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/DefendantResponseService.java index 7bf40c75fc..8edc76bd3a 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/DefendantResponseService.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/DefendantResponseService.java @@ -117,7 +117,7 @@ private DefendantResponseEntity buildDefendantResponseEntity(ClaimEntity claimRe .claim(claimRef) .party(partyRef) .freeLegalAdvice(responses.getFreeLegalAdvice()) - .possessionNoticeReceived(responses.getNoticeReceived()) + .possessionNoticeReceived(responses.getPossessionNoticeReceived()) .defendantNameConfirmation(responses.getDefendantNameConfirmation()) .landlordRegistered(responses.getLandlordRegistered()) .tenancyStartDateConfirmation(tenancyStartDateConfirmation) 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 ff3f9e4f3a..51a7d1de3b 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 @@ -63,7 +63,7 @@ void shouldReturnPartialUpdate() { .build(); DefendantResponses responses = DefendantResponses.builder() - .noticeReceived(YesNoNotSure.NO) + .possessionNoticeReceived(YesNoNotSure.NO) .build(); PCSCase caseData = buildCaseData(PossessionClaimResponse.builder() diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java index 31a177ebbd..ffadff24ce 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java @@ -123,7 +123,7 @@ void shouldSaveDefendantResponseWithJpaProxies() { DefendantResponses responses = DefendantResponses.builder() .freeLegalAdvice(YesNoPreferNotToSay.YES) - .noticeReceived(YesNoNotSure.YES) + .possessionNoticeReceived(YesNoNotSure.YES) .noticeReceivedDate(LocalDate.of(2024, 1, 15)) .rentArrearsAmountConfirmation(YesNoNotSure.NO) .landlordRegistered(YesNoNotSure.YES) From 26873f2c9add0f7c069b8781a52a17f1875cecbc Mon Sep 17 00:00:00 2001 From: Alex Buzea Date: Tue, 31 Mar 2026 11:04:05 +0100 Subject: [PATCH 3/5] adding missing field to draft for repayments made page --- .../ccd/domain/respondpossessionclaim/PaymentAgreement.java | 3 +++ .../respondpossessionclaim/PaymentAgreementService.java | 1 + 2 files changed, 4 insertions(+) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java index 5caf140dbe..078b57bc39 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java @@ -16,6 +16,9 @@ public class PaymentAgreement { @CCD private YesOrNo anyPaymentsMade; + + @CCD + private String paymentDetails; @CCD(searchable = false) private YesNoNotSure repaymentPlanAgreed; diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementService.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementService.java index 78421eb022..2780e3bbfc 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementService.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementService.java @@ -15,6 +15,7 @@ public PaymentAgreementEntity createPaymentAgreementEntity(PaymentAgreement paym PaymentAgreementEntity paymentAgreementEntity = PaymentAgreementEntity.builder() .anyPaymentsMade(paymentAgreement.getAnyPaymentsMade()) + .paymentDetails(paymentAgreement.getPaymentDetails()) .repaymentPlanAgreed(paymentAgreement.getRepaymentPlanAgreed()) .repaymentAgreedDetails(paymentAgreement.getRepaymentAgreedDetails()) .build(); From 1b0c0aeab4af02e622c88b35f9a1de255eebbafa Mon Sep 17 00:00:00 2001 From: Alex Buzea Date: Tue, 31 Mar 2026 13:24:57 +0100 Subject: [PATCH 4/5] adding tests to cover fields added --- .../service/DefendantResponseServiceTest.java | 37 +++++++++++++++++++ .../PaymentAgreementServiceTest.java | 24 ++++++++++++ 2 files changed, 61 insertions(+) diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java index afdcaf8382..8c29eae5cc 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/DefendantResponseServiceTest.java @@ -235,6 +235,43 @@ void shouldSaveDefendantResponseWhenReceivedFreeLegalAdviceIsNull() { assertThat(savedResponse.getFreeLegalAdvice()).isNull(); } + @ParameterizedTest(name = "possessionNoticeReceived={0}") + @MethodSource("possessionNoticeReceivedScenarios") + void shouldPersistPossessionNoticeReceived(YesNoNotSure possessionNoticeReceived) { + // Given + when(securityContextService.getCurrentUserId()).thenReturn(USER_ID); + when(defendantResponseRepository.existsByClaimPcsCaseCaseReferenceAndPartyIdamId( + CASE_REFERENCE, USER_ID)).thenReturn(false); + stubPartyLookup(); + stubClaimLookup(); + + DefendantResponses responses = DefendantResponses.builder() + .possessionNoticeReceived(possessionNoticeReceived) + .build(); + + PossessionClaimResponse possessionClaimResponse = PossessionClaimResponse.builder() + .defendantResponses(responses) + .build(); + + // When + underTest.saveDefendantResponse(CASE_REFERENCE, possessionClaimResponse); + + // Then + verify(defendantResponseRepository).save(responseCaptor.capture()); + DefendantResponseEntity savedResponse = responseCaptor.getValue(); + + assertThat(savedResponse.getPossessionNoticeReceived()).isEqualTo(possessionNoticeReceived); + } + + private static Stream possessionNoticeReceivedScenarios() { + return Stream.of( + Arguments.of(YesNoNotSure.YES), + Arguments.of(YesNoNotSure.NO), + Arguments.of(YesNoNotSure.NOT_SURE), + Arguments.of((YesNoNotSure) null) + ); + } + @ParameterizedTest(name = "landlordRegistered={0}") @MethodSource("landlordRegisteredPersistenceScenarios") void shouldPersistLandlordRegistered(YesNoNotSure landlordRegistered) { diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementServiceTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementServiceTest.java index d23b29730c..8f220be904 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementServiceTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/service/respondpossessionclaim/PaymentAgreementServiceTest.java @@ -108,6 +108,30 @@ private static Stream repaymentAgreedDetailsScenarios() { ); } + @ParameterizedTest + @MethodSource("paymentDetailsScenarios") + void shouldMapPaymentDetailsField(String expected) { + // Given + PaymentAgreement model = PaymentAgreement.builder() + .paymentDetails(expected) + .build(); + + // When + PaymentAgreementEntity entity = underTest.createPaymentAgreementEntity(model); + + // Then + assertThat(entity).isNotNull(); + assertThat(entity.getPaymentDetails()).isEqualTo(expected); + } + + private static Stream paymentDetailsScenarios() { + return Stream.of( + Arguments.of("Paid £500 on 01/01/2024"), + Arguments.of(""), + Arguments.of((String) null) + ); + } + } From 1b287d3e43dcbd56e90fda3c717bb85d218c574b Mon Sep 17 00:00:00 2001 From: Alex Buzea Date: Wed, 1 Apr 2026 14:10:59 +0100 Subject: [PATCH 5/5] adding max chars to field --- .../pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java index 078b57bc39..0218da3727 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/domain/respondpossessionclaim/PaymentAgreement.java @@ -17,7 +17,7 @@ public class PaymentAgreement { @CCD private YesOrNo anyPaymentsMade; - @CCD + @CCD(max = 500) private String paymentDetails; @CCD(searchable = false)