diff --git a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenApp.java b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenApp.java index 23c3e714b2..d065fd8442 100644 --- a/src/main/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenApp.java +++ b/src/main/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenApp.java @@ -30,12 +30,14 @@ import uk.gov.hmcts.reform.pcs.ccd.service.PcsCaseService; import uk.gov.hmcts.reform.pcs.ccd.service.genapp.GenAppService; import uk.gov.hmcts.reform.pcs.ccd.service.party.PartyService; +import uk.gov.hmcts.reform.pcs.ccd.util.AddressFormatter; import java.util.List; import static uk.gov.hmcts.reform.pcs.ccd.accesscontrol.CaseworkerRoles.CASEWORKER_ROLES; import static uk.gov.hmcts.reform.pcs.ccd.accesscontrol.JudicialHistoryRoles.JUDICIAL_HISTORY_ROLES; import static uk.gov.hmcts.reform.pcs.ccd.event.EventId.enterGenApp; +import static uk.gov.hmcts.reform.pcs.ccd.util.AddressFormatter.COMMA_DELIMITER; @Component @RequiredArgsConstructor @@ -45,6 +47,7 @@ public class EnterGenApp implements CCDConfig { private final PartyService partyService; private final GenAppService genAppService; private final ApplicationDetails applicationDetails; + private final AddressFormatter addressFormatter; @Override public void configureDecentralised(DecentralisedConfigBuilder configBuilder) { @@ -111,7 +114,27 @@ private SubmitResponse submit(EventPayload eventPayload) genAppService.createGenAppEntity(caseData, pcsCaseEntity, applicantParty, GenAppState.GEN_APP_ISSUED); - return SubmitResponse.builder().build(); + return SubmitResponse.builder() + .confirmationBody(buildConfirmationMarkdown( + caseData, eventPayload.caseReference(), caseData.getCaseNameHmctsInternal())) + .build(); + } + + private String buildConfirmationMarkdown(PCSCase pcsCase, long caseReference, String caseName) { + String address = addressFormatter.formatShortAddress(pcsCase.getPropertyAddress(), COMMA_DELIMITER); + return """ + --- +
+ Application entered
+ Case number: %s
+ %s + %s +
+ +

What happens next

+

If the application was made without notice, only the applicant + will be informed. Otherwise, all parties will be informed.

+ """.formatted(caseReference, address, caseName); } } diff --git a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenAppTest.java b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenAppTest.java index ab8629be88..01c78f86fb 100644 --- a/src/test/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenAppTest.java +++ b/src/test/java/uk/gov/hmcts/reform/pcs/ccd/event/caseworker/entergenapp/EnterGenAppTest.java @@ -5,9 +5,11 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import uk.gov.hmcts.ccd.sdk.api.callback.SubmitResponse; import uk.gov.hmcts.ccd.sdk.type.DynamicList; import uk.gov.hmcts.ccd.sdk.type.DynamicListElement; import uk.gov.hmcts.reform.pcs.ccd.domain.PCSCase; +import uk.gov.hmcts.reform.pcs.ccd.domain.State; import uk.gov.hmcts.reform.pcs.ccd.domain.VerticalYesNo; import uk.gov.hmcts.reform.pcs.ccd.domain.caseworker.EnterGenAppRequest; import uk.gov.hmcts.reform.pcs.ccd.entity.ClaimEntity; @@ -20,6 +22,7 @@ import uk.gov.hmcts.reform.pcs.ccd.service.PcsCaseService; import uk.gov.hmcts.reform.pcs.ccd.service.genapp.GenAppService; import uk.gov.hmcts.reform.pcs.ccd.service.party.PartyService; +import uk.gov.hmcts.reform.pcs.ccd.util.AddressFormatter; import java.util.List; import java.util.UUID; @@ -45,10 +48,13 @@ class EnterGenAppTest extends BaseEventTest { private ApplicationDetails applicationDetails; @Mock private GenAppService genAppService; + @Mock + private AddressFormatter addressFormatter; @BeforeEach void setUp() { - EnterGenApp enterGenApp = new EnterGenApp(pcsCaseService, partyService, genAppService, applicationDetails); + EnterGenApp enterGenApp = new EnterGenApp(pcsCaseService, partyService, genAppService, applicationDetails, + addressFormatter); setEventUnderTest(enterGenApp); } @@ -136,14 +142,16 @@ void shouldCreateGenAppEntityOnSubmit() { PCSCase caseData = PCSCase.builder() .enterGenAppRequest(enterGenAppRequest) .partyRadioList(partyRadioList) + .caseNameHmctsInternal("Smith v Doe") .build(); // When - callSubmitHandler(caseData); + SubmitResponse response = callSubmitHandler(caseData); // Then verify(genAppService) .createGenAppEntity(caseData, pcsCaseEntity, applicantParty, GEN_APP_ISSUED); + assertThat(response.getConfirmationBody()).contains("Smith v Doe"); } }