From 676ab57212cdd9bde39d8c7ff6d25e55ad867858 Mon Sep 17 00:00:00 2001 From: m-meulendijks-v1 <107135537+m-meulendijks-v1@users.noreply.github.com> Date: Thu, 16 Jan 2025 09:24:01 +0000 Subject: [PATCH 1/3] CIV-15723 - trial ready check bpmn (#1175) * CIV-15723 - trial ready check bpmn --------- Co-authored-by: Johnny Vineall Co-authored-by: Harry H <33700332+HarryH96@users.noreply.github.com> --- .../resources/camunda/trial_ready_check.bpmn | 124 ++++++++++++++++++ .../civil/bpmn/TrialReadyCheckTest.java | 76 +++++++++++ 2 files changed, 200 insertions(+) create mode 100644 src/main/resources/camunda/trial_ready_check.bpmn create mode 100644 src/test/java/uk/gov/hmcts/reform/civil/bpmn/TrialReadyCheckTest.java 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/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(); + } +} From f3c03c1ade9a156dae3febb9ae990fa53b2082f9 Mon Sep 17 00:00:00 2001 From: ShwetaTandel-hmcts Date: Fri, 17 Jan 2025 08:37:26 +0000 Subject: [PATCH 2/3] CIV-15750 Generate JBA docs for LIP Def/Claimant docs (#1179) * initial commit * Update ClaimantResponseCuiTest.java * Add PIP * add changes for welsh --------- Co-authored-by: Azam <106387766+Azam-Hmcts@users.noreply.github.com> --- .../camunda/claimant_response_cui.bpmn | 157 ++++++++++++------ ...ed_claimant_intention_document_notify.bpmn | 128 ++++++++++---- .../civil/bpmn/ClaimantResponseCuiTest.java | 22 +++ ...anslatedClaimantIntentionDocumentTest.java | 32 ++++ 4 files changed, 251 insertions(+), 88 deletions(-) diff --git a/src/main/resources/camunda/claimant_response_cui.bpmn b/src/main/resources/camunda/claimant_response_cui.bpmn index f67d68fa7..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 @@ -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,6 +411,36 @@ ${empty flowFlags.IS_JO_LIVE_FEED_ACTIVE || !flowFlags.IS_JO_LIVE_FEED_ACTIVE} + + + + GEN_JUDGMENT_BY_ADMISSION_DOC_CLAIMANT + + + Flow_1daatex + Flow_01qs6kf + + + + + GEN_JUDGMENT_BY_ADMISSION_DOC_DEFENDANT + + + Flow_01qs6kf + Flow_0ie62nm + + + + + + + JUDGMENT_BY_ADMISSION_DEFENDANT1_PIN_IN_LETTER + + + Flow_0ie62nm + Flow_1d396po + + @@ -422,9 +452,6 @@ - - - @@ -442,10 +469,6 @@ - - - - @@ -532,14 +555,6 @@ - - - - - - - - @@ -551,23 +566,50 @@ - - + + + + + - + + + + + - + - + + + + + + + + + + + + + + + + + + + + + @@ -584,8 +626,8 @@ - - + + @@ -761,15 +803,15 @@ - + - - + + - + @@ -787,16 +829,16 @@ - - + + - - + + - - + + @@ -809,9 +851,9 @@ - + - + @@ -838,34 +880,45 @@ - - - + + - - + + - - - + + + - - - + + + - + - - + + - + + + + + + + + + + + + + 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 c6f072392..90b6032a4 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"; @@ -87,6 +90,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( @@ -466,6 +473,9 @@ void shouldRunProcess_ClaimIsInFullAdmitRepaymentAcceptedAndJudgmentOnlineLive(b generateDQPdf(); updateClaimantClaimState(); sendJudgmentToCjesService(); + generateJudgmentByAdmissionClaimantDocument(); + generateJudgmentByAdmissionDefendantDocument(); + sendPinInPOstLetterForJudgmentByAdmission(); if (isRpaLiveFeed) { generateJoRPAContinuousFeed(); } @@ -582,6 +592,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/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); From cdea8ac3b64d6bac023c21f401c0bdf9ad09b2f5 Mon Sep 17 00:00:00 2001 From: kalachandrasekar1 <114995593+kalachandrasekar1@users.noreply.github.com> Date: Tue, 21 Jan 2025 08:53:32 +0000 Subject: [PATCH 3/3] CIV-15753 Judgment by Admission - modify Submission screen (#1182) * CIV-15753 changes * CIV-15753 checkstyle fix * CIV-15753 testcase updated * CIV-15753 review comment fixed --------- Co-authored-by: Azam <106387766+Azam-Hmcts@users.noreply.github.com> --- .../camunda/claimant_response_spec.bpmn | 92 +++++++++------ .../civil/bpmn/ClaimantResponseSpecTest.java | 111 ++++++++++++++++++ 2 files changed, 164 insertions(+), 39 deletions(-) diff --git a/src/main/resources/camunda/claimant_response_spec.bpmn b/src/main/resources/camunda/claimant_response_spec.bpmn index 9bc38d734..d9c49b954 100644 --- a/src/main/resources/camunda/claimant_response_spec.bpmn +++ b/src/main/resources/camunda/claimant_response_spec.bpmn @@ -63,9 +63,10 @@ Flow_ADMIT_PART_SETTLE_CLAIM Flow_Flow_PAY_IMMEDIATELY Flow_0f1j5lb + Flow_0fq9s3w - - ${flowState == "MAIN.FULL_ADMIT_NOT_PROCEED" || flowState == "MAIN.PART_ADMIT_NOT_PROCEED" || flowState == "MAIN.PART_ADMIT_PAY_IMMEDIATELY"} + + ${flowState == "MAIN.FULL_ADMIT_NOT_PROCEED" || flowState == "MAIN.PART_ADMIT_NOT_PROCEED" || (flowState == "MAIN.PART_ADMIT_PAY_IMMEDIATELY" && (empty flowFlags.JO_ONLINE_LIVE_ENABLED || !flowFlags.JO_ONLINE_LIVE_ENABLED))} ${flowState == "MAIN.FULL_ADMIT_PROCEED" || flowState == "MAIN.PART_ADMIT_PROCEED"} @@ -494,6 +495,7 @@ Flow_0unqxdq Flow_1dx6rl0 Flow_JO_ONLINE_ENABLED + Flow_0fq9s3w Flow_189q5fx @@ -557,6 +559,9 @@ ${!empty flowFlags.GENERAL_APPLICATION_ENABLED && flowFlags.GENERAL_APPLICATION_ENABLED} + + ${!empty flowFlags.JO_ONLINE_LIVE_ENABLED && flowFlags.JO_ONLINE_LIVE_ENABLED && flowState == "MAIN.PART_ADMIT_PAY_IMMEDIATELY"} + 2 Respondent representatives @@ -592,6 +597,9 @@ + + + @@ -723,6 +731,13 @@ + + + + + + + @@ -735,6 +750,13 @@ + + + + + + + @@ -757,23 +779,6 @@ - - - - - - - - - - - - - - - - - @@ -801,7 +806,7 @@ - + @@ -1181,6 +1186,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1205,25 +1238,6 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseSpecTest.java b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseSpecTest.java index 718c5b4b3..ee8435e29 100644 --- a/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseSpecTest.java +++ b/src/test/java/uk/gov/hmcts/reform/civil/bpmn/ClaimantResponseSpecTest.java @@ -39,6 +39,10 @@ class ClaimantResponseSpecTest extends BpmnBaseTest { "ClaimantAgreedSettledPartAdmitNotifyLip"; private static final String CREATE_DEFENDANT_DASHBOARD_NOTIFICATION_FOR_CLAIMANT_RESPONSE = "CREATE_DEFENDANT_DASHBOARD_NOTIFICATION_FOR_CLAIMANT_RESPONSE"; private static final String CREATE_DEFENDANT_DASHBOARD_NOTIFICATION_FOR_CLAIMANT_RESPONSE_EVENT_ID = "GenerateDashboardNotificationRespondent1"; + private static final String NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED = "NOTIFY_RESPONDENT_SOLICITOR1_FOR_CLAIMANT_CONFIRMS_NOT_TO_PROCEED"; + private static final String NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED_EVENT_ID = "ClaimantConfirmsNotToProceedNotifyRespondentSolicitor1"; + private static final String NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED_CC = "NOTIFY_RESPONDENT_SOLICITOR1_FOR_CLAIMANT_CONFIRMS_NOT_TO_PROCEED_CC"; + private static final String NOTIFY_RESPONDENT_SOLICITOR1_CLAIMANT_CONFIRMS_NOT_TO_PROCEED_CC_EVENT_ID = "ClaimantConfirmsNotToProceedNotifyApplicantSolicitor1CC"; public ClaimantResponseSpecTest() { super("claimant_response_spec.bpmn", "CLAIMANT_RESPONSE_PROCESS_ID_SPEC"); @@ -624,6 +628,113 @@ void shouldSuccessfullyCompleteClaimantResponse_WhenApplicantToSettle() { assertNoExternalTasksLeft(); } + @Test + void shouldCompletePartAdmitPayImmediately_WhenApplicantConfirmsNotToProceed_JoFlagDisabled() { + //assert process has started + assertFalse(processInstance.isEnded()); + + //assert message start event + assertThat(getProcessDefinitionByMessage("CLAIMANT_RESPONSE_SPEC").getKey()) + .isEqualTo("CLAIMANT_RESPONSE_PROCESS_ID_SPEC"); + + VariableMap variables = Variables.createVariables(); + variables.putValue("flowState", "MAIN.PART_ADMIT_PAY_IMMEDIATELY"); + variables.putValue("flowFlags", Map.of( + ONE_RESPONDENT_REPRESENTATIVE, true, + DASHBOARD_SERVICE_ENABLED, false, + JO_ONLINE_LIVE_ENABLED, false + )); + + //complete the start business process + ExternalTask startBusiness = assertNextExternalTask(START_BUSINESS_TOPIC); + assertCompleteExternalTask( + startBusiness, + START_BUSINESS_TOPIC, + START_BUSINESS_EVENT, + START_BUSINESS_ACTIVITY, + variables + ); + + //complete the Robotics notification + ExternalTask proccedOffline = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + proccedOffline, + PROCESS_CASE_EVENT, + PROCEED_OFFLINE_EVENT, + PROCEED_OFFLINE_FOR_RESPONSE_TO_DEFENCE_ACTIVITY_ID, + variables + ); + //complete the Respondent1 notification + ExternalTask notifyRespondentSolicitor1 = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + notifyRespondentSolicitor1, + PROCESS_CASE_EVENT, + NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED, + NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED_EVENT_ID, + variables + ); + //complete the Applicant1 notification + ExternalTask notifyApplicantSolicitor1 = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + notifyApplicantSolicitor1, + PROCESS_CASE_EVENT, + NOTIFY_RESPONDENT_SOLICITOR1_CONFIRMS_NOT_TO_PROCEED_CC, + NOTIFY_RESPONDENT_SOLICITOR1_CLAIMANT_CONFIRMS_NOT_TO_PROCEED_CC_EVENT_ID, + variables + ); + + //complete the Robotics notification + ExternalTask moveCaseToOffline = assertNextExternalTask(PROCESS_CASE_EVENT); + assertCompleteExternalTask( + moveCaseToOffline, + PROCESS_CASE_EVENT, + NOTIFY_RPA_ON_CASE_HANDED_OFFLINE, + NOTIFY_RPA_ON_CASE_HANDED_OFFLINE_ACTIVITY_ID, + variables + ); + + //end business process + ExternalTask endBusinessProcess = assertNextExternalTask(END_BUSINESS_PROCESS); + completeBusinessProcess(endBusinessProcess); + + assertNoExternalTasksLeft(); + } + + @Test + void shouldSuccessfullyCompleteWhenPartPayImmediately_JoFlagEnabled() { + //assert process has started + assertFalse(processInstance.isEnded()); + + //assert message start event + assertThat(getProcessDefinitionByMessage("CLAIMANT_RESPONSE_SPEC").getKey()) + .isEqualTo("CLAIMANT_RESPONSE_PROCESS_ID_SPEC"); + + VariableMap variables = Variables.createVariables(); + variables.putValue("flowState", "MAIN.PART_ADMIT_PAY_IMMEDIATELY"); + variables.putValue("flowFlags", Map.of( + DASHBOARD_SERVICE_ENABLED, true, + JO_ONLINE_LIVE_ENABLED, true + )); + + //complete the start business process + ExternalTask startBusiness = assertNextExternalTask(START_BUSINESS_TOPIC); + assertCompleteExternalTask( + startBusiness, + START_BUSINESS_TOPIC, + START_BUSINESS_EVENT, + START_BUSINESS_ACTIVITY, + variables + ); + + createDefendantDashboardNotification(); + + //end business process + ExternalTask endBusinessProcess = assertNextExternalTask(END_BUSINESS_PROCESS); + completeBusinessProcess(endBusinessProcess); + + assertNoExternalTasksLeft(); + } + private void createDefendantDashboardNotification() { ExternalTask notificationTask = assertNextExternalTask(PROCESS_CASE_EVENT); assertCompleteExternalTask(