diff --git a/src/main/resources/camunda/claimant_response_cui.bpmn b/src/main/resources/camunda/claimant_response_cui.bpmn index 32da3527f..db703fe2b 100644 --- a/src/main/resources/camunda/claimant_response_cui.bpmn +++ b/src/main/resources/camunda/claimant_response_cui.bpmn @@ -1,5 +1,5 @@ - + Flow_0uwkh9v @@ -78,6 +78,7 @@ ${flowState == "MAIN.FULL_ADMISSION"||flowState == "MAIN.FULL_ADMIT_PAY_IMMEDIATELY"||flowState == "MAIN.FULL_ADMIT_PAY_IMMEDIATELY"} + @@ -85,7 +86,7 @@ Flow_0v6zgri - Flow_0tsbr4q + Flow_0g9m4jb ${flowState == "MAIN.PART_ADMIT_NOT_SETTLED_NO_MEDIATION"} @@ -100,9 +101,8 @@ GENERATE_RESPONSE_DQ_LIP_SEALED + Flow_0g9m4jb Flow_1p158ux - Flow_1vxwezw - Flow_0s1cvu6 Flow_0beyd6n @@ -331,7 +331,7 @@ Flow_08src12 Flow_1daatex - + ${flowState != "MAIN.IN_MEDIATION" && (!empty flowFlags.LIP_JUDGMENT_ADMISSION && flowFlags.LIP_JUDGMENT_ADMISSION) && !(!empty flowFlags.JO_ONLINE_LIVE_ENABLED && flowFlags.JO_ONLINE_LIVE_ENABLED)} @@ -401,7 +401,7 @@ - Flow_1daatex + Flow_1d396po Flow_IS_JO_LIVE_FEED_ACTIVE_ENABLED Flow_IS_JO_LIVE_FEED_ACTIVE_DISABLED @@ -411,28 +411,36 @@ ${empty flowFlags.IS_JO_LIVE_FEED_ACTIVE || !flowFlags.IS_JO_LIVE_FEED_ACTIVE} - - Flow_0tsbr4q - Flow_032bu9l - Flow_1vxwezw - - - + - TRIGGER_UPDATE_GA_LOCATION + GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT - Flow_032bu9l - Flow_0s1cvu6 + Flow_1daatex + Flow_01qs6kf - - ${!empty flowFlags.GENERAL_APPLICATION_ENABLED && flowFlags.GENERAL_APPLICATION_ENABLED} - - - ${empty flowFlags.GENERAL_APPLICATION_ENABLED || !flowFlags.GENERAL_APPLICATION_ENABLED} - - + + + + GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT + + + Flow_01qs6kf + Flow_0ie62nm + + + + + + + JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER + + + Flow_0ie62nm + Flow_1d396po + + @@ -444,9 +452,6 @@ - - - @@ -464,10 +469,6 @@ - - - - @@ -554,14 +555,6 @@ - - - - - - - - @@ -573,28 +566,48 @@ - - + + + + + - + + + + + - + - + - - + + + + + + + + + + + - - + + + + + + @@ -613,8 +626,8 @@ - - + + @@ -627,6 +640,10 @@ + + + + @@ -786,15 +803,15 @@ - + - - + + - + @@ -812,16 +829,16 @@ - - + + - - + + - - + + @@ -834,9 +851,9 @@ - + - + @@ -863,59 +880,44 @@ - - - + + - - + + - - - + + + - - - + + + - + - - + + - + - - - - - - - - - - - + + + - - - - - - - + + + - - - - - + + + diff --git a/src/main/resources/camunda/trial_ready_check.bpmn b/src/main/resources/camunda/trial_ready_check.bpmn new file mode 100644 index 000000000..164dbffce --- /dev/null +++ b/src/main/resources/camunda/trial_ready_check.bpmn @@ -0,0 +1,124 @@ + + + + + + + CREATE_DASHBOARD_NOTIFICATION_TRIAL_READY_CHECK_DEFENDANT1 + + + Flow_0yrwpym + Flow_22qap0k + + + Flow_116h58n + + + + + Flow_0xz5p2v + + + + + + + + + + Flow_22qap0k + Flow_0xz5p2v + + + + + + CREATE_DASHBOARD_NOTIFICATION_TRIAL_READY_CHECK_CLAIMANT1 + + + Flow_1a5jpcb + Flow_0yrwpym + + + + + + + Flow_116h58n + Flow_1a5jpcb + + + Flow_1y9p2q + + + Flow_1y9p2q + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/camunda/upload_translated_claimant_intention_document_notify.bpmn b/src/main/resources/camunda/upload_translated_claimant_intention_document_notify.bpmn index ac18a18a7..81bd962e4 100644 --- a/src/main/resources/camunda/upload_translated_claimant_intention_document_notify.bpmn +++ b/src/main/resources/camunda/upload_translated_claimant_intention_document_notify.bpmn @@ -1,5 +1,5 @@ - + Flow_17h811r @@ -175,7 +175,7 @@ Flow_0b03asg Flow_1d6nmfl - + Flow_1t08sfu Flow_GA_Not_Enabled @@ -228,7 +228,7 @@ - Flow_1d6nmfl + Flow_19rd0uf Flow_IS_JO_LIVE_FEED_ACTIVE_ENABLED Flow_IS_JO_LIVE_FEED_ACTIVE_DISABLED @@ -250,6 +250,36 @@ Flow_1uirmez + + + + GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT + + + Flow_1d6nmfl + Flow_0h3y4av + + + + + + GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT + + + Flow_0h3y4av + Flow_0stl7oq + + + + + + JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER + + + Flow_0stl7oq + Flow_19rd0uf + + @@ -267,13 +297,6 @@ - - - - - - - @@ -338,22 +361,41 @@ + + + + + + + + + + - + - + - + - - + + + + + + + + + + + @@ -370,8 +412,10 @@ - - + + + + @@ -427,7 +471,7 @@ - + @@ -439,8 +483,8 @@ - - + + @@ -452,7 +496,7 @@ - + @@ -478,28 +522,28 @@ - - - + + + - - - + + + - - - + + + - + - - + + - + @@ -507,8 +551,20 @@ - - + + + + + + + + + + + + + + diff --git a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseCuiTest.java b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseCuiTest.java index ba4976fd9..c271e4c6a 100644 --- a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseCuiTest.java +++ b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseCuiTest.java @@ -44,6 +44,9 @@ public class ClaimantResponseCuiTest extends BpmnBaseTest { private static final String CREATE_CLAIMANT_DASHBOARD_NOTIFICATION_FOR_CLAIMANT_RESPONSE = "CREATE_CLAIMANT_DASHBOARD_NOTIFICATION_FOR_CLAIMANT_RESPONSE"; + public static final String GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_EVENT = "GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT"; + public static final String GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_EVENT = "GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT"; + //Activity IDs private static final String NOTIFY_LIP_RESPONDENT_CLAIMANT_CONFIRM_TO_PROCEED_ACTIVITY_ID = "NotifyLiPRespondentClaimantConfirmToProceed"; @@ -89,6 +92,10 @@ public class ClaimantResponseCuiTest extends BpmnBaseTest { public static final String DASHBOARD_NOTIFICATION_JUDGEMENT_BY_ADMISSION_CLAIMANT_EVENT_ID = "GenerateClaimantCCJDashboardNotification"; private static final String GENERATE_DASHBOARD_NOTIFICATION_ACTIVITY_ID = "GenerateClaimantDashboardNotificationClaimantResponse"; + public static final String GENERATE_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_ACTIVITY_ID = "GenerateJudgmentByAdmissionDocClaimant"; + public static final String GENERATE_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_ACTIVITY_ID = "GenerateJudgmentByAdmissionDocDefendant"; + public static final String JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_EVENT_ID = "JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER"; + public static final String JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_ACTIVITY_ID = "PostPINInLetterLIPDefendant"; public ClaimantResponseCuiTest() { super( @@ -478,6 +485,9 @@ void shouldRunProcess_ClaimIsInFullAdmitRepaymentAcceptedAndJudgmentOnlineLive(b generateDQPdf(); updateClaimantClaimState(); sendJudgmentToCjesService(); + generateJudgmentByAdmissionClaimantDocument(); + generateJudgmentByAdmissionDefendantDocument(); + sendPinInPOstLetterForJudgmentByAdmission(); if (isRpaLiveFeed) { generateJoRPAContinuousFeed(); } @@ -594,6 +604,18 @@ private void sendJudgmentToCjesService() { assertCompletedCaseEvent(SEND_JUDGMENT_DETAILS_CJES_EVENT, SEND_JUDGMENT_DETAILS_CJES_EVENT_ID); } + private void generateJudgmentByAdmissionClaimantDocument() { + assertCompletedCaseEvent(GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_EVENT, GENERATE_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_ACTIVITY_ID); + } + + private void generateJudgmentByAdmissionDefendantDocument() { + assertCompletedCaseEvent(GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_EVENT, GENERATE_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_ACTIVITY_ID); + } + + private void sendPinInPOstLetterForJudgmentByAdmission() { + assertCompletedCaseEvent(JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_EVENT_ID, JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_ACTIVITY_ID); + } + private void updateClaimantClaimState() { assertCompletedCaseEvent(UPDATE_CLAIMANT_INTENTION_CLAIM_STATE_EVENT, UPDATE_CLAIMANT_CLAIM_STATE_EVENT_ID); } diff --git a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/TrialReadyCheckTest.java b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/TrialReadyCheckTest.java new file mode 100644 index 000000000..b727fcb96 --- /dev/null +++ b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/TrialReadyCheckTest.java @@ -0,0 +1,76 @@ +package uk.gov.hmcts.reform.civil.bpmn; + +import org.camunda.bpm.engine.externaltask.ExternalTask; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertFalse; + +public class TrialReadyCheckTest extends BpmnBaseTest { + + private static final String MESSAGE_NAME = "TRIAL_READY_CHECK"; + private static final String PROCESS_ID = "TRIAL_READY_CHECK_PROCESS_ID"; + private static final String CLAIMANT_DASHBOARD_CHANGES = "CREATE_DASHBOARD_NOTIFICATION_TRIAL_READY_CHECK_CLAIMANT1"; + private static final String CLAIMANT_DASHBOARD_CHANGES_ID = "TrialReadyCheckDashboardNotificationsForClaimant1"; + private static final String DEFENDANT_DASHBOARD_CHANGES = "CREATE_DASHBOARD_NOTIFICATION_TRIAL_READY_CHECK_DEFENDANT1"; + private static final String DEFENDANT_DASHBOARD_CHANGES_ID = "TrialReadyCheckDashboardNotificationsForDefendant1"; + + public TrialReadyCheckTest() { + + super("trial_ready_check.bpmn", "TRIAL_READY_CHECK_PROCESS_ID"); + } + + @Test + void shouldSuccessfullyCompleteAcknowledgeClaim_whenCalled() { + //assert process has started + assertFalse(processInstance.isEnded()); + + //assert message start event + assertThat(getProcessDefinitionByMessage(MESSAGE_NAME).getKey()).isEqualTo(PROCESS_ID); + + //complete the start business process + ExternalTask startBusiness = assertNextExternalTask(START_BUSINESS_TOPIC); + assertCompleteExternalTask(startBusiness, + START_BUSINESS_TOPIC, + START_BUSINESS_EVENT, + START_BUSINESS_ACTIVITY); + + //complete the claimant dashboard changes + ExternalTask documentGeneration = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask(documentGeneration, + PROCESS_CASE_EVENT, + CLAIMANT_DASHBOARD_CHANGES, + CLAIMANT_DASHBOARD_CHANGES_ID + ); + + //complete the defendant dashboard changes + ExternalTask forRobotics = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + forRobotics, + PROCESS_CASE_EVENT, + DEFENDANT_DASHBOARD_CHANGES, + DEFENDANT_DASHBOARD_CHANGES_ID + ); + + //end business process + ExternalTask endBusinessProcess = assertNextExternalTask(END_BUSINESS_PROCESS); + completeBusinessProcess(endBusinessProcess); + + assertNoExternalTasksLeft(); + } + + @Test + void shouldAbort_whenStartBusinessProcessThrowsAnError() { + //assert process has started + assertFalse(processInstance.isEnded()); + + //assert message start event + assertThat(getProcessDefinitionByMessage(MESSAGE_NAME).getKey()).isEqualTo(PROCESS_ID); + + //fail the start business process + ExternalTask startBusiness = assertNextExternalTask(START_BUSINESS_TOPIC); + assertFailExternalTask(startBusiness, START_BUSINESS_TOPIC, START_BUSINESS_EVENT, START_BUSINESS_ACTIVITY); + + assertNoExternalTasksLeft(); + } +} diff --git a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/UploadTranslatedClaimantIntentionDocumentTest.java b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/UploadTranslatedClaimantIntentionDocumentTest.java index b5c67f799..f5d35cee5 100644 --- a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/UploadTranslatedClaimantIntentionDocumentTest.java +++ b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/UploadTranslatedClaimantIntentionDocumentTest.java @@ -48,6 +48,13 @@ public class UploadTranslatedClaimantIntentionDocumentTest extends BpmnBaseTest private static final String CREATE_DASHBOARD_NOTIFICATION_JUDGEMENT_BY_ADMISSION_DEFENDANT = "CREATE_DASHBOARD_NOTIFICATION_JUDGEMENT_BY_ADMISSION_DEFENDANT"; private static final String CREATE_DASHBOARD_NOTIFICATION_JUDGEMENT_BY_ADMISSION_DEFENDANT_EVENT_ID = "GenerateDefendantCCJDashboardNotification"; + public static final String GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_EVENT = "GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT"; + public static final String GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_EVENT = "GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT"; + public static final String GENERATE_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_ACTIVITY_ID = "GenerateJudgmentByAdmissionDocClaimant"; + public static final String GENERATE_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_ACTIVITY_ID = "GenerateJudgmentByAdmissionDocDefendant"; + public static final String JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_EVENT_ID = "JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER"; + public static final String JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_ACTIVITY_ID = "PostPINInLetterLIPDefendant"; + public UploadTranslatedClaimantIntentionDocumentTest() { super("upload_translated_claimant_intention_document_notify.bpmn", "UPLOAD_TRANSLATED_DOCUMENT_CLAIMANT_INTENTION"); } @@ -311,6 +318,31 @@ void shouldRunProcessWhenJudgementOnlineLiveEnabled(boolean isRpaLiveFeed) { SEND_JUDGMENT_DETAILS_CJES_EVENT, SEND_JUDGMENT_DETAILS_CJES_EVENT_ID ); + + ExternalTask generateJudgmentByAdmissionClaimantDocument = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + sendJudgmentToCjesService, + PROCESS_CASE_EVENT, + GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_EVENT, + GENERATE_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT_ACTIVITY_ID + ); + + ExternalTask generateJudgmentByAdmissionDefendantDocument = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + sendJudgmentToCjesService, + PROCESS_CASE_EVENT, + GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_EVENT, + GENERATE_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT_ACTIVITY_ID + ); + + ExternalTask pinAndPostLetter = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + sendJudgmentToCjesService, + PROCESS_CASE_EVENT, + JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_EVENT_ID, + JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER_ACTIVITY_ID + ); + if (isRpaLiveFeed) { //complete the rpa live feed ExternalTask notifyRPAFeed = assertNextExternalTask(PROCESS_CASE_EVENT);