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..e5d5be5674 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 @@ -5,9 +5,13 @@ import lombok.Data; import lombok.NoArgsConstructor; import uk.gov.hmcts.ccd.sdk.api.CCD; +import uk.gov.hmcts.ccd.sdk.type.FieldType; import uk.gov.hmcts.ccd.sdk.type.YesOrNo; +import uk.gov.hmcts.reform.pcs.ccd.annotation.JacksonMoneyGBP; import uk.gov.hmcts.reform.pcs.ccd.domain.YesNoNotSure; +import java.math.BigDecimal; + @Builder @Data @NoArgsConstructor @@ -17,10 +21,25 @@ public class PaymentAgreement { @CCD private YesOrNo anyPaymentsMade; + @CCD + private String paymentDetails; + + @CCD + private YesOrNo paidMoneyToHousingOrg; + @CCD(searchable = false) private YesNoNotSure repaymentPlanAgreed; @CCD private String repaymentAgreedDetails; + @CCD + private YesOrNo repayArrearsInstalments; + + @CCD(typeOverride = FieldType.MoneyGBP) + @JacksonMoneyGBP + private BigDecimal additionalRentContribution; + + @CCD + private String additionalContributionFrequency; } 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..f73111902e 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 @@ -13,12 +13,15 @@ public PaymentAgreementEntity createPaymentAgreementEntity(PaymentAgreement paym return null; } - PaymentAgreementEntity paymentAgreementEntity = PaymentAgreementEntity.builder() + return PaymentAgreementEntity.builder() .anyPaymentsMade(paymentAgreement.getAnyPaymentsMade()) + .paymentDetails(paymentAgreement.getPaymentDetails()) + .paidMoneyToHousingOrg(paymentAgreement.getPaidMoneyToHousingOrg()) .repaymentPlanAgreed(paymentAgreement.getRepaymentPlanAgreed()) .repaymentAgreedDetails(paymentAgreement.getRepaymentAgreedDetails()) + .repayArrearsInstalments(paymentAgreement.getRepayArrearsInstalments()) + .additionalRentContribution(paymentAgreement.getAdditionalRentContribution()) + .additionalContributionFrequency(paymentAgreement.getAdditionalContributionFrequency()) .build(); - - return paymentAgreementEntity; } } 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..1aebc00c44 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 @@ -13,7 +13,6 @@ import uk.gov.hmcts.reform.pcs.ccd.entity.respondpossessionclaim.PaymentAgreementEntity; import java.util.stream.Stream; - import static org.assertj.core.api.Assertions.assertThat; @ExtendWith(MockitoExtension.class) @@ -26,28 +25,32 @@ void setUp() { underTest = new PaymentAgreementService(); } - @ParameterizedTest - @MethodSource("paymentsMadeScenarios") - void shouldMapAnyPaymentsMadeField(YesOrNo expected) { + @Test + void shouldMapAllFields() { //Given PaymentAgreement paymentAgreement = PaymentAgreement.builder() - .anyPaymentsMade(expected) + .anyPaymentsMade(YesOrNo.YES) + .paymentDetails("Some details") + .paidMoneyToHousingOrg(YesOrNo.NO) + .repaymentPlanAgreed(YesNoNotSure.YES) + .repaymentAgreedDetails("Agreed to pay weekly") + .repayArrearsInstalments(YesOrNo.YES) + .additionalRentContribution(new java.math.BigDecimal("123.45")) + .additionalContributionFrequency("WEEKLY") .build(); //When PaymentAgreementEntity entity = underTest.createPaymentAgreementEntity(paymentAgreement); //Then - assertThat(entity).isNotNull(); - assertThat(entity.getAnyPaymentsMade()).isEqualTo(expected); - } - - private static Stream paymentsMadeScenarios() { - return Stream.of( - Arguments.of(YesOrNo.YES), - Arguments.of(YesOrNo.NO), - Arguments.of((YesOrNo) null) - ); + assertThat(entity.getAnyPaymentsMade()).isEqualTo(YesOrNo.YES); + assertThat(entity.getPaymentDetails()).isEqualTo("Some details"); + assertThat(entity.getPaidMoneyToHousingOrg()).isEqualTo(YesOrNo.NO); + assertThat(entity.getRepaymentPlanAgreed()).isEqualTo(YesNoNotSure.YES); + assertThat(entity.getRepaymentAgreedDetails()).isEqualTo("Agreed to pay weekly"); + assertThat(entity.getRepayArrearsInstalments()).isEqualTo(YesOrNo.YES); + assertThat(entity.getAdditionalRentContribution()).isEqualByComparingTo("123.45"); + assertThat(entity.getAdditionalContributionFrequency()).isEqualTo("WEEKLY"); } @Test