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] 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(