From e142ac5a739b54fa65ac868b47120f798b9d2e5b Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 28 Jan 2025 21:38:18 +0000 Subject: [PATCH 1/8] CIV-16511 adding send and reply messages to api case worker tests --- e2e/api/steps.js | 44 +++++++++++++++++- e2e/api/steps_LRspec.js | 44 +++++++++++++++++- e2e/api/steps_LRspecCui.js | 45 ++++++++++++++++++- e2e/fixtures/events/sendAndReplyMessages.js | 23 ++++++++++ .../caseworkerEvents/api_caseworker_test.js | 12 +++++ 5 files changed, 165 insertions(+), 3 deletions(-) create mode 100644 e2e/fixtures/events/sendAndReplyMessages.js diff --git a/e2e/api/steps.js b/e2e/api/steps.js index 1b5ff7035c..cce907e31b 100644 --- a/e2e/api/steps.js +++ b/e2e/api/steps.js @@ -40,6 +40,7 @@ const {adjustCaseSubmittedDateForMinti, assertTrackAfterClaimCreation, addSubmit const stayCase = require('../fixtures/events/stayCase'); const manageStay = require('../fixtures/events/manageStay'); const dismissCase = require('../fixtures/events/dismissCase'); +const sendAndReplyMessage = require('../fixtures/events/sendAndReplyMessages'); const data = { @@ -100,7 +101,10 @@ const data = { STAY_CASE: () => stayCase.stayCase(), MANAGE_STAY_UPDATE: () => manageStay.manageStayRequestUpdateDamages(), MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStayDamages(), - DISMISS_CASE: () => dismissCase.dismissCaseDamages() + DISMISS_CASE: () => dismissCase.dismissCaseDamages(), + SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), + REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() + }; const calculatedClaimsTrackDRH = { disposalOrderWithoutHearing: (d) => typeof d.input === 'string', @@ -1484,7 +1488,45 @@ module.exports = { await waitForFinishedBusinessProcess(caseId); }, + sendMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.SEND_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Your message has been sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, + replyMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.REPLY_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Reply sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, }; // Functions diff --git a/e2e/api/steps_LRspec.js b/e2e/api/steps_LRspec.js index 2952696442..2524bc2b52 100644 --- a/e2e/api/steps_LRspec.js +++ b/e2e/api/steps_LRspec.js @@ -45,6 +45,7 @@ const manageStay = require('../fixtures/events/manageStay'); const dismissCase = require('../fixtures/events/dismissCase'); const genAppClaimData = require('../fixtures/events/createGeneralApplication'); const genAppClaimDataLR = require('../fixtures/events/createGeneralApplicationLR'); +const sendAndReplyMessage = require('../fixtures/events/sendAndReplyMessages'); let caseId, eventName, mintiClaimTrack; let caseData = {}; @@ -100,7 +101,9 @@ const data = { STAY_CASE: () => stayCase.stayCaseSpec(), MANAGE_STAY_UPDATE: () => manageStay.manageStayRequestUpdate(), MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStay(), - DISMISS_CASE: () => dismissCase.dismissCase() + DISMISS_CASE: () => dismissCase.dismissCase(), + SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), + REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() }; const eventData = { @@ -1876,6 +1879,45 @@ module.exports = { await waitForFinishedBusinessProcess(caseId); }, + sendMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.SEND_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Your message has been sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, + + replyMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.REPLY_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Reply sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, }; // Functions diff --git a/e2e/api/steps_LRspecCui.js b/e2e/api/steps_LRspecCui.js index c25796674c..6ff10afc98 100644 --- a/e2e/api/steps_LRspecCui.js +++ b/e2e/api/steps_LRspecCui.js @@ -41,6 +41,7 @@ const stayCase = require('../fixtures/events/stayCase'); const manageStay = require('../fixtures/events/manageStay'); const dismissCase = require('../fixtures/events/dismissCase'); const { toJSON } = require('lodash/seq'); +const sendAndReplyMessage = require('../fixtures/events/sendAndReplyMessages'); let caseId, eventName; let caseData = {}; @@ -72,7 +73,9 @@ const data = { STAY_CASE: () => stayCase.stayCaseSpec(), MANAGE_STAY_UPDATE: () => manageStay.manageStayRequestUpdate(), MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStay(), - DISMISS_CASE: () => dismissCase.dismissCase() + DISMISS_CASE: () => dismissCase.dismissCase(), + SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), + REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() }; const eventData = { @@ -692,6 +695,46 @@ module.exports = { await waitForFinishedBusinessProcess(caseId); }, + + sendMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.SEND_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Your message has been sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, + + replyMessage: async (user) => { + console.log('Send message case for case id ' + caseId); + await apiRequest.setupTokens(user); + eventName = 'SEND_AND_REPLY'; + + let returnedCaseData = await apiRequest.startEvent(eventName, caseId); + delete returnedCaseData['SearchCriteria']; + caseData = returnedCaseData; + let disposalData = data.REPLY_MESSAGE(); + for (let pageId of Object.keys(disposalData.valid)) { + await assertValidData(disposalData, pageId); + } + await assertSubmittedEvent('SEND_AND_REPLY', { + header: '# Reply sent', + body: ' ' + }, true); + + await waitForFinishedBusinessProcess(caseId); + }, }; const validateEventPages = async (data, solicitor) => { diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js new file mode 100644 index 0000000000..e787be18e6 --- /dev/null +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -0,0 +1,23 @@ + +module.exports = { + sendMessage: () => { + return { + userInput: { + manageStayOptions: { + manageStayOption: 'REQUEST_UPDATE' + }, + manageStayRequestUpdate: { + } + } + }; + }, + replyMessage: () => { + return { + userInput: { + manageStayOptions: { + manageStayOption: 'LIFT_STAY' + } + } + }; + } +}; diff --git a/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js b/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js index 38aa47ba68..28ec484b3b 100644 --- a/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js +++ b/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js @@ -34,6 +34,9 @@ Scenario('1v1 LR FAST TRACK prepare for conduct hearing stay case', async ({api_ await api_spec.hearingFeePaid(config.hearingCenterAdminWithRegionId1); await api_spec.stayCase(config.hearingCenterAdminWithRegionId1); await api_spec.manageStay(config.hearingCenterAdminWithRegionId1, true); + await api_spec.sendMessage(config.ctscAdminUser); + await api_spec.replyMessage(config.judgeUserWithRegionId1); + await api_spec.replyMessage(config.ctscAdminUser); await api_spec.manageStay(config.hearingCenterAdminWithRegionId1, false); await api_spec.scheduleHearing(config.hearingCenterAdminWithRegionId1, 'FAST_TRACK_TRIAL'); await api_spec.dismissCase(config.hearingCenterAdminWithRegionId1); @@ -52,6 +55,9 @@ Scenario('1v2 LR UNSPEC claim hearing readiness', async ({api}) => { await api.scheduleHearing(config.hearingCenterAdminWithRegionId1, 'OTHER'); await api.stayCase(config.hearingCenterAdminWithRegionId1); await api.manageStay(config.hearingCenterAdminWithRegionId1, true); + await api.sendMessage(config.ctscAdminUser); + await api.replyMessage(config.judgeUserWithRegionId1); + await api.replyMessage(config.ctscAdminUser); await api.manageStay(config.hearingCenterAdminWithRegionId1, false); await api.dismissCase(config.hearingCenterAdminWithRegionId1); }); @@ -69,6 +75,9 @@ Scenario('1v1 LR LR v Lip In mediation', async ({api_spec_cui}) => { await api_spec_cui.claimantResponse(config.applicantSolicitorUser, 'FULL_DEFENCE_CITIZEN_DEFENDANT', 'ONE_V_ONE', 'Yes', 'IN_MEDIATION', carmEnabled); await api_spec_cui.stayCase(config.hearingCenterAdminWithRegionId1); await api_spec_cui.manageStay(config.hearingCenterAdminWithRegionId1, true); + await api_spec_cui.sendMessage(config.ctscAdminUser); + await api_spec_cui.replyMessage(config.judgeUserWithRegionId1); + await api_spec_cui.replyMessage(config.ctscAdminUser); await api_spec_cui.manageStay(config.hearingCenterAdminWithRegionId1, false); await api_spec_cui.createSDO(config.judgeUserWithRegionId1, 'CREATE_SMALL'); await api_spec_cui.dismissCase(config.hearingCenterAdminWithRegionId1); @@ -89,6 +98,9 @@ Scenario('1v1 Multi Claim Stay Case Judicial Referral', async ({api}) => { await api.claimantResponse(config.applicantSolicitorUser, mpScenario, 'JUDICIAL_REFERRAL', 'FOR_SDO', 'MULTI_CLAIM'); await api.stayCase(config.hearingCenterAdminWithRegionId1); await api.manageStay(config.hearingCenterAdminWithRegionId1, true); + await api.sendMessage(config.ctscAdminUser); + await api.replyMessage(config.judgeUserWithRegionId1); + await api.replyMessage(config.ctscAdminUser); await api.manageStay(config.hearingCenterAdminWithRegionId1, false, true); await api.createFinalOrder(judgeUser, 'DOWNLOAD_ORDER_TEMPLATE', 'MULTI'); await api.scheduleHearing(hearingCenterAdminToBeUsed, 'FAST_TRACK_TRIAL'); From 14f0aa1a856e9a47d320a7232801c3b5b4a4bf59 Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 28 Jan 2025 21:45:05 +0000 Subject: [PATCH 2/8] CIV-16511 adding messages payload --- e2e/fixtures/events/sendAndReplyMessages.js | 96 +++++++++++++++++++-- 1 file changed, 88 insertions(+), 8 deletions(-) diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js index e787be18e6..ac9502d398 100644 --- a/e2e/fixtures/events/sendAndReplyMessages.js +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -3,20 +3,100 @@ module.exports = { sendMessage: () => { return { userInput: { - manageStayOptions: { - manageStayOption: 'REQUEST_UPDATE' - }, - manageStayRequestUpdate: { - } + "messages": [ + { + "id": "6dd1ef70-004d-425a-84c9-36bc7f0153fa", + "value": { + "history": [ + { + "id": "96704f31-5bf7-4864-9219-5d37d2f74626", + "value": { + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:25:17", + "senderName": "Amy Powell, Judge", + "subjectType": "APPLICATION", + "messageContent": "Test reply", + "senderRoleType": "JUDICIAL", + "recipientRoleType": "ADMIN" + } + }, + { + "id": "173f59bf-002e-40b7-9120-31c18e766818", + "value": { + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:21:53", + "senderName": "ctsc adminuser, CTSC", + "subjectType": "APPLICATION", + "messageContent": "Test", + "senderRoleType": "ADMIN", + "recipientRoleType": "JUDICIAL_DISTRICT" + } + } + ], + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:21:53", + "senderName": "ctsc adminuser, CTSC", + "subjectType": "APPLICATION", + "updatedTime": "2025-01-28T16:26:58", + "messageContent": "Test reply reply", + "senderRoleType": "ADMIN", + "recipientRoleType": "JUDICIAL" + } + } + ] } }; }, replyMessage: () => { return { userInput: { - manageStayOptions: { - manageStayOption: 'LIFT_STAY' - } + "messages": [ + { + "id": "6dd1ef70-004d-425a-84c9-36bc7f0153fa", + "value": { + "history": [ + { + "id": "96704f31-5bf7-4864-9219-5d37d2f74626", + "value": { + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:25:17", + "senderName": "Amy Powell, Judge", + "subjectType": "APPLICATION", + "messageContent": "Test reply", + "senderRoleType": "JUDICIAL", + "recipientRoleType": "ADMIN" + } + }, + { + "id": "173f59bf-002e-40b7-9120-31c18e766818", + "value": { + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:21:53", + "senderName": "ctsc adminuser, CTSC", + "subjectType": "APPLICATION", + "messageContent": "Test", + "senderRoleType": "ADMIN", + "recipientRoleType": "JUDICIAL_DISTRICT" + } + } + ], + "subject": "Test", + "isUrgent": "No", + "sentTime": "2025-01-28T16:21:53", + "senderName": "ctsc adminuser, CTSC", + "subjectType": "APPLICATION", + "updatedTime": "2025-01-28T16:26:58", + "messageContent": "Test reply reply", + "senderRoleType": "ADMIN", + "recipientRoleType": "JUDICIAL" + } + } + ] } }; } From b0c944a4eb3471f8d6672e54a21ef7aa11c21a6b Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Wed, 29 Jan 2025 08:36:31 +0000 Subject: [PATCH 3/8] CIV-16511 fixing messages payload --- e2e/fixtures/events/sendAndReplyMessages.js | 133 ++++++++++---------- 1 file changed, 66 insertions(+), 67 deletions(-) diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js index ac9502d398..e0e067479b 100644 --- a/e2e/fixtures/events/sendAndReplyMessages.js +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -1,49 +1,48 @@ - module.exports = { sendMessage: () => { return { userInput: { - "messages": [ + messages: [ { - "id": "6dd1ef70-004d-425a-84c9-36bc7f0153fa", - "value": { - "history": [ + id: '6dd1ef70-004d-425a-84c9-36bc7f0153fa', + value: { + history: [ { - "id": "96704f31-5bf7-4864-9219-5d37d2f74626", - "value": { - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:25:17", - "senderName": "Amy Powell, Judge", - "subjectType": "APPLICATION", - "messageContent": "Test reply", - "senderRoleType": "JUDICIAL", - "recipientRoleType": "ADMIN" + id: '96704f31-5bf7-4864-9219-5d37d2f74626', + value: { + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:25:17', + senderName: 'Amy Powell, Judge', + subjectType: 'APPLICATION', + messageContent: 'Test reply', + senderRoleType: 'JUDICIAL', + recipientRoleType: 'ADMIN' } }, { - "id": "173f59bf-002e-40b7-9120-31c18e766818", - "value": { - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:21:53", - "senderName": "ctsc adminuser, CTSC", - "subjectType": "APPLICATION", - "messageContent": "Test", - "senderRoleType": "ADMIN", - "recipientRoleType": "JUDICIAL_DISTRICT" + id: '173f59bf-002e-40b7-9120-31c18e766818', + value: { + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:21:53', + senderName: 'ctsc adminuser, CTSC', + subjectType: 'APPLICATION', + messageContent: 'Test', + senderRoleType: 'ADMIN', + recipientRoleType: 'JUDICIAL_DISTRICT' } } ], - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:21:53", - "senderName": "ctsc adminuser, CTSC", - "subjectType": "APPLICATION", - "updatedTime": "2025-01-28T16:26:58", - "messageContent": "Test reply reply", - "senderRoleType": "ADMIN", - "recipientRoleType": "JUDICIAL" + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:21:53', + senderName: 'ctsc adminuser, CTSC', + subjectType: 'APPLICATION', + updatedTime: '2025-01-28T16:26:58', + messageContent: 'Test reply reply', + senderRoleType: 'ADMIN', + recipientRoleType: 'JUDICIAL' } } ] @@ -53,47 +52,47 @@ module.exports = { replyMessage: () => { return { userInput: { - "messages": [ + messages: [ { - "id": "6dd1ef70-004d-425a-84c9-36bc7f0153fa", - "value": { - "history": [ + id: '6dd1ef70-004d-425a-84c9-36bc7f0153fa', + value: { + history: [ { - "id": "96704f31-5bf7-4864-9219-5d37d2f74626", - "value": { - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:25:17", - "senderName": "Amy Powell, Judge", - "subjectType": "APPLICATION", - "messageContent": "Test reply", - "senderRoleType": "JUDICIAL", - "recipientRoleType": "ADMIN" + id: '96704f31-5bf7-4864-9219-5d37d2f74626', + value: { + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:25:17', + senderName: 'Amy Powell, Judge', + subjectType: 'APPLICATION', + messageContent: 'Test reply', + senderRoleType: 'JUDICIAL', + recipientRoleType: 'ADMIN' } }, { - "id": "173f59bf-002e-40b7-9120-31c18e766818", - "value": { - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:21:53", - "senderName": "ctsc adminuser, CTSC", - "subjectType": "APPLICATION", - "messageContent": "Test", - "senderRoleType": "ADMIN", - "recipientRoleType": "JUDICIAL_DISTRICT" + id: '173f59bf-002e-40b7-9120-31c18e766818', + value: { + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:21:53', + senderName: 'ctsc adminuser, CTSC', + subjectType: 'APPLICATION', + messageContent: 'Test', + senderRoleType: 'ADMIN', + recipientRoleType: 'JUDICIAL_DISTRICT' } } ], - "subject": "Test", - "isUrgent": "No", - "sentTime": "2025-01-28T16:21:53", - "senderName": "ctsc adminuser, CTSC", - "subjectType": "APPLICATION", - "updatedTime": "2025-01-28T16:26:58", - "messageContent": "Test reply reply", - "senderRoleType": "ADMIN", - "recipientRoleType": "JUDICIAL" + subject: 'Test', + isUrgent: 'No', + sentTime: '2025-01-28T16:21:53', + senderName: 'ctsc adminuser, CTSC', + subjectType: 'APPLICATION', + updatedTime: '2025-01-28T16:26:58', + messageContent: 'Test reply reply', + senderRoleType: 'ADMIN', + recipientRoleType: 'JUDICIAL' } } ] From fb008f6c560a04b51d69e706d7d4bc1cc33c302e Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Fri, 31 Jan 2025 09:48:16 +0000 Subject: [PATCH 4/8] CIV-16511 fixing messages payload --- e2e/fixtures/events/sendAndReplyMessages.js | 54 ++++----------------- 1 file changed, 9 insertions(+), 45 deletions(-) diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js index e0e067479b..9c889356b6 100644 --- a/e2e/fixtures/events/sendAndReplyMessages.js +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -2,51 +2,15 @@ module.exports = { sendMessage: () => { return { userInput: { - messages: [ - { - id: '6dd1ef70-004d-425a-84c9-36bc7f0153fa', - value: { - history: [ - { - id: '96704f31-5bf7-4864-9219-5d37d2f74626', - value: { - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:25:17', - senderName: 'Amy Powell, Judge', - subjectType: 'APPLICATION', - messageContent: 'Test reply', - senderRoleType: 'JUDICIAL', - recipientRoleType: 'ADMIN' - } - }, - { - id: '173f59bf-002e-40b7-9120-31c18e766818', - value: { - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:21:53', - senderName: 'ctsc adminuser, CTSC', - subjectType: 'APPLICATION', - messageContent: 'Test', - senderRoleType: 'ADMIN', - recipientRoleType: 'JUDICIAL_DISTRICT' - } - } - ], - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:21:53', - senderName: 'ctsc adminuser, CTSC', - subjectType: 'APPLICATION', - updatedTime: '2025-01-28T16:26:58', - messageContent: 'Test reply reply', - senderRoleType: 'ADMIN', - recipientRoleType: 'JUDICIAL' - } - } - ] - } + sendAndReplyOption: 'SEND', + sendMessageMetadata: { + recipientRoleType: 'DISTRICT_JUDGE', + isUrgent: 'No', + subjectType: 'APPLICATION', + subject: 'Test' + }, + sendMessageContent: 'Test Message' + } }; }, replyMessage: () => { From fe95e1ffbf47475534111db7e6ae460f468f023c Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 4 Feb 2025 15:34:28 +0000 Subject: [PATCH 5/8] CIV-16511 fixing messages payload --- e2e/api/steps.js | 158 ++++++++++-------- e2e/api/steps_LRspec.js | 32 +++- e2e/api/steps_LRspecCui.js | 32 +++- e2e/fixtures/events/sendAndReplyMessages.js | 150 +++++++++++------ .../caseworkerEvents/api_caseworker_test.js | 7 +- 5 files changed, 240 insertions(+), 139 deletions(-) diff --git a/e2e/api/steps.js b/e2e/api/steps.js index 3ab8f5c575..ac14c43823 100644 --- a/e2e/api/steps.js +++ b/e2e/api/steps.js @@ -103,57 +103,56 @@ const data = { MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStayDamages(), DISMISS_CASE: () => dismissCase.dismissCaseDamages(), SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), - REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() - + REPLY_MESSAGE: (messageCode, messageLabel) => sendAndReplyMessage.replyMessage(messageCode, messageLabel) }; const calculatedClaimsTrackDRH = { - disposalOrderWithoutHearing: (d) => typeof d.input === 'string', - fastTrackOrderWithoutJudgement: (d) => typeof d.input === 'string', - fastTrackHearingTime: (d) => - d.helpText1 === 'If either party considers that the time estimate is insufficient, they must inform the court within 7 days of the date of this order.' - && d.helpText2 === 'Not more than seven nor less than three clear days before the trial, ' - + 'the claimant must file at court and serve an indexed and paginated bundle of documents which complies with the' - + ' requirements of Rule 39.5 Civil Procedure Rules and which complies with requirements of PD32. ' - + 'The parties must endeavour to agree the contents of the bundle before it is filed. The bundle will include a case summary and a chronology.', - disposalHearingHearingTime: (d) => - d.input === 'This claim will be listed for final disposal before a judge on the first available date after' - && d.dateTo, - sdoR2SmallClaimsJudgesRecital: (data) => { - return typeof data.input === 'string'; - }, - sdoR2SmallClaimsPPIToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsWitnessStatementsToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsUploadDocToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsHearingToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsWitnessStatements: (data) => { - return typeof data.sdoStatementOfWitness === 'string' - && typeof data.isRestrictWitness === 'string' - && typeof data.isRestrictPages === 'string' - && typeof data.text === 'string'; - }, - sdoR2SmallClaimsUploadDoc: (data) => { - return typeof data.sdoUploadOfDocumentsTxt === 'string'; - }, - sdoR2DrhUseOfWelshIncludeInOrderToggle: (data) => Array.isArray(data), - sdoR2DrhUseOfWelshLanguage: (data) => { - return typeof data.description === 'string'; - }, - sdoR2SmallClaimsHearing: (data) => { - return typeof data.trialOnOptions === 'string' - && typeof data.trialOnOptions === 'string' - && typeof data.hearingCourtLocationList === 'object' - && typeof data.methodOfHearing === 'string' - && typeof data.physicalBundleOptions === 'string' - && typeof data.sdoR2SmallClaimsHearingFirstOpenDateAfter.listFrom.match(/\d{4}-\d{2}-\d{2}/); - }, - sdoR2SmallClaimsImpNotes: (data) => { - return typeof data.text === 'string' - && typeof data.date.match(/\d{4}-\d{2}-\d{2}/); - }, - sdoR2SmallClaimsPPI: (data) => { - return typeof data.ppiDate.match(/\d{4}-\d{2}-\d{2}/) - && typeof data.text === 'string'; - } + disposalOrderWithoutHearing: (d) => typeof d.input === 'string', + fastTrackOrderWithoutJudgement: (d) => typeof d.input === 'string', + fastTrackHearingTime: (d) => + d.helpText1 === 'If either party considers that the time estimate is insufficient, they must inform the court within 7 days of the date of this order.' + && d.helpText2 === 'Not more than seven nor less than three clear days before the trial, ' + + 'the claimant must file at court and serve an indexed and paginated bundle of documents which complies with the' + + ' requirements of Rule 39.5 Civil Procedure Rules and which complies with requirements of PD32. ' + + 'The parties must endeavour to agree the contents of the bundle before it is filed. The bundle will include a case summary and a chronology.', + disposalHearingHearingTime: (d) => + d.input === 'This claim will be listed for final disposal before a judge on the first available date after' + && d.dateTo, + sdoR2SmallClaimsJudgesRecital: (data) => { + return typeof data.input === 'string'; + }, + sdoR2SmallClaimsPPIToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsWitnessStatementsToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsUploadDocToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsHearingToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsWitnessStatements: (data) => { + return typeof data.sdoStatementOfWitness === 'string' + && typeof data.isRestrictWitness === 'string' + && typeof data.isRestrictPages === 'string' + && typeof data.text === 'string'; + }, + sdoR2SmallClaimsUploadDoc: (data) => { + return typeof data.sdoUploadOfDocumentsTxt === 'string'; + }, + sdoR2DrhUseOfWelshIncludeInOrderToggle: (data) => Array.isArray(data), + sdoR2DrhUseOfWelshLanguage: (data) => { + return typeof data.description === 'string'; + }, + sdoR2SmallClaimsHearing: (data) => { + return typeof data.trialOnOptions === 'string' + && typeof data.trialOnOptions === 'string' + && typeof data.hearingCourtLocationList === 'object' + && typeof data.methodOfHearing === 'string' + && typeof data.physicalBundleOptions === 'string' + && typeof data.sdoR2SmallClaimsHearingFirstOpenDateAfter.listFrom.match(/\d{4}-\d{2}-\d{2}/); + }, + sdoR2SmallClaimsImpNotes: (data) => { + return typeof data.text === 'string' + && typeof data.date.match(/\d{4}-\d{2}-\d{2}/); + }, + sdoR2SmallClaimsPPI: (data) => { + return typeof data.ppiDate.match(/\d{4}-\d{2}-\d{2}/) + && typeof data.text === 'string'; + } }; const eventData = { acknowledgeClaims: { @@ -232,11 +231,11 @@ const newSdoR2FieldsFastTrack = { const newSdoR2FastTrackCreditHireFields ={ sdoR2FastTrackCreditHire: (data) => { - return typeof data.input1 === 'string' - && typeof data.input5 === 'string' - && typeof data.input6 === 'string' - && typeof data.input7 === 'string' - && typeof data.input8 === 'string'; + return typeof data.input1 === 'string' + && typeof data.input5 === 'string' + && typeof data.input6 === 'string' + && typeof data.input7 === 'string' + && typeof data.input8 === 'string'; } }; @@ -788,7 +787,7 @@ module.exports = { 'From Date should be less than To Date'); // In a 1v2 different solicitor case, when the first solicitor responds, civil service would not change the state // to AWAITING_APPLICANT_INTENTION until the all solicitor response. - // console.log('Hearing>>>', caseData); + // console.log('Hearing>>>', caseData); if (solicitor === 'solicitorOne') { // when only one solicitor has responded in a 1v2 different solicitor case await assertSubmittedEvent('AWAITING_RESPONDENT_ACKNOWLEDGEMENT', { @@ -1487,7 +1486,6 @@ module.exports = { await waitForFinishedBusinessProcess(caseId); }, - sendMessage: async (user) => { console.log('Send message case for case id ' + caseId); await apiRequest.setupTokens(user); @@ -1500,9 +1498,9 @@ module.exports = { for (let pageId of Object.keys(disposalData.valid)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Your message has been sent', - body: ' ' + body: '

What happens next


A task has been created to review your message' }, true); await waitForFinishedBusinessProcess(caseId); @@ -1516,20 +1514,35 @@ module.exports = { let returnedCaseData = await apiRequest.startEvent(eventName, caseId); delete returnedCaseData['SearchCriteria']; caseData = returnedCaseData; - let disposalData = data.REPLY_MESSAGE(); + + const latestMessage = getLatestMessageToReplyTo(caseData); + const disposalData = data.REPLY_MESSAGE(latestMessage.code, latestMessage.label); for (let pageId of Object.keys(disposalData.valid)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Reply sent', - body: ' ' + body: '

What happens next


A task has been created to review your reply.' }, true); await waitForFinishedBusinessProcess(caseId); }, + }; // Functions +const getLatestMessageToReplyTo = (caseData) => { + const messagesToReplyTo = caseData.messagesToReplyTo; + if (messagesToReplyTo && messagesToReplyTo.list_items && messagesToReplyTo.list_items.length > 0) { + const latestMessage = messagesToReplyTo.list_items[messagesToReplyTo.list_items.length - 1]; + return { + code: latestMessage.code, + label: latestMessage.label + }; + } + return null; +}; + const validateEventPages = async (data, solicitor) => { //transform the data for (let pageId of Object.keys(data.valid)) { @@ -1582,6 +1595,19 @@ const assertValidData = async (data, pageId, solicitor) => { responseBody.data.allocatedTrack = caseData.allocatedTrack; responseBody.data.respondent1Represented = caseData.respondent1Represented; } + + if(eventName === "SEND_AND_REPLY") { + if (pageId === 'sendAndReplyOption') { + if (typeof caseData.lastMessage !== 'undefined') { + responseBody.data.lastMessageJudgeLabel = caseData.lastMessageJudgeLabel; + responseBody.data.lastMessage = caseData.lastMessage; + responseBody.data.lastMessageAllocatedTrack = caseData.lastMessageAllocatedTrack; + } + + delete responseBody.data['messageHistory']; + } + } + if(sdoR2Flag){ delete responseBody.data['smallClaimsFlightDelayToggle']; delete responseBody.data['smallClaimsFlightDelay']; @@ -1660,7 +1686,7 @@ const assertValidData = async (data, pageId, solicitor) => { } try { - assert.deepEqual(responseBody.data, caseData); + assert.deepEqual(responseBody.data, caseData); } catch(err) { console.error('Validate data is failed due to a mismatch ..', err); @@ -2150,9 +2176,9 @@ const addCaseId = (pageId) => { const isEvidenceUpload = (pageId) => { return (pageId === 'DocumentSelectionFastTrack' - || pageId === 'DocumentSelectionSmallClaim') - && (eventName === 'EVIDENCE_UPLOAD_APPLICANT' - || eventName === 'EVIDENCE_UPLOAD_RESPONDENT'); + || pageId === 'DocumentSelectionSmallClaim') + && (eventName === 'EVIDENCE_UPLOAD_APPLICANT' + || eventName === 'EVIDENCE_UPLOAD_RESPONDENT'); }; const isManageContactInformation = () => { @@ -2164,7 +2190,7 @@ const isDifferentSolicitorForDefendantResponseOrExtensionDate = () => { }; const adjustDataForSolicitor = (user, data) => { - let fixtureClone = cloneDeep(data); + let fixtureClone = cloneDeep(data); if (mpScenario !== 'ONE_V_TWO_TWO_LEGAL_REP') { delete fixtureClone['defendantSolicitorNotifyClaimOptions']; } diff --git a/e2e/api/steps_LRspec.js b/e2e/api/steps_LRspec.js index 2524bc2b52..6e6ac93969 100644 --- a/e2e/api/steps_LRspec.js +++ b/e2e/api/steps_LRspec.js @@ -102,8 +102,8 @@ const data = { MANAGE_STAY_UPDATE: () => manageStay.manageStayRequestUpdate(), MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStay(), DISMISS_CASE: () => dismissCase.dismissCase(), - SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), - REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() + SEND_MESSAGE: () => sendAndReplyMessage.sendMessageLr(), + REPLY_MESSAGE: (messageCode, messageLabel) => sendAndReplyMessage.replyMessageLr(messageCode, messageLabel) }; const eventData = { @@ -1888,12 +1888,12 @@ module.exports = { delete returnedCaseData['SearchCriteria']; caseData = returnedCaseData; let disposalData = data.SEND_MESSAGE(); - for (let pageId of Object.keys(disposalData.valid)) { + for (let pageId of Object.keys(disposalData.userInput)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Your message has been sent', - body: ' ' + body: '

What happens next


A task has been created to review your message' }, true); await waitForFinishedBusinessProcess(caseId); @@ -1907,19 +1907,33 @@ module.exports = { let returnedCaseData = await apiRequest.startEvent(eventName, caseId); delete returnedCaseData['SearchCriteria']; caseData = returnedCaseData; - let disposalData = data.REPLY_MESSAGE(); - for (let pageId of Object.keys(disposalData.valid)) { + + const latestMessage = getLatestMessageToReplyTo(caseData); + const disposalData = data.REPLY_MESSAGE(latestMessage.code, latestMessage.label); + for (let pageId of Object.keys(disposalData.userInput)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Reply sent', - body: ' ' + body: '

What happens next


A task has been created to review your reply.' }, true); await waitForFinishedBusinessProcess(caseId); }, }; +const getLatestMessageToReplyTo = (caseData) => { + const messagesToReplyTo = caseData.messagesToReplyTo; + if (messagesToReplyTo && messagesToReplyTo.list_items && messagesToReplyTo.list_items.length > 0) { + const latestMessage = messagesToReplyTo.list_items[messagesToReplyTo.list_items.length - 1]; + return { + code: latestMessage.code, + label: latestMessage.label + }; + } + return null; +}; + // Functions const assertValidData = async (data, pageId) => { console.log(`asserting page: ${pageId} has valid data`); diff --git a/e2e/api/steps_LRspecCui.js b/e2e/api/steps_LRspecCui.js index 6ff10afc98..1ef3f53419 100644 --- a/e2e/api/steps_LRspecCui.js +++ b/e2e/api/steps_LRspecCui.js @@ -74,8 +74,8 @@ const data = { MANAGE_STAY_UPDATE: () => manageStay.manageStayRequestUpdate(), MANAGE_STAY_LIFT: () => manageStay.manageStayLiftStay(), DISMISS_CASE: () => dismissCase.dismissCase(), - SEND_MESSAGE: () => sendAndReplyMessage.sendMessage(), - REPLY_MESSAGE: () => sendAndReplyMessage.replyMessage() + SEND_MESSAGE: () => sendAndReplyMessage.sendMessageLr(), + REPLY_MESSAGE: (messageCode, messageLabel) => sendAndReplyMessage.replyMessageLr(messageCode, messageLabel) }; const eventData = { @@ -705,12 +705,12 @@ module.exports = { delete returnedCaseData['SearchCriteria']; caseData = returnedCaseData; let disposalData = data.SEND_MESSAGE(); - for (let pageId of Object.keys(disposalData.valid)) { + for (let pageId of Object.keys(disposalData.userInput)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Your message has been sent', - body: ' ' + body: '

What happens next


A task has been created to review your message' }, true); await waitForFinishedBusinessProcess(caseId); @@ -724,19 +724,33 @@ module.exports = { let returnedCaseData = await apiRequest.startEvent(eventName, caseId); delete returnedCaseData['SearchCriteria']; caseData = returnedCaseData; - let disposalData = data.REPLY_MESSAGE(); - for (let pageId of Object.keys(disposalData.valid)) { + + const latestMessage = getLatestMessageToReplyTo(caseData); + const disposalData = data.REPLY_MESSAGE(latestMessage.code, latestMessage.label); + for (let pageId of Object.keys(disposalData.userInput)) { await assertValidData(disposalData, pageId); } - await assertSubmittedEvent('SEND_AND_REPLY', { + await assertSubmittedEvent('CASE_STAYED', { header: '# Reply sent', - body: ' ' + body: '

What happens next


A task has been created to review your reply.' }, true); await waitForFinishedBusinessProcess(caseId); }, }; +const getLatestMessageToReplyTo = (caseData) => { + const messagesToReplyTo = caseData.messagesToReplyTo; + if (messagesToReplyTo && messagesToReplyTo.list_items && messagesToReplyTo.list_items.length > 0) { + const latestMessage = messagesToReplyTo.list_items[messagesToReplyTo.list_items.length - 1]; + return { + code: latestMessage.code, + label: latestMessage.label + }; + } + return null; +}; + const validateEventPages = async (data, solicitor) => { //transform the data console.log('validateEventPages....'); diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js index 9c889356b6..5da16cee77 100644 --- a/e2e/fixtures/events/sendAndReplyMessages.js +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -1,65 +1,111 @@ module.exports = { sendMessage: () => { return { - userInput: { - sendAndReplyOption: 'SEND', - sendMessageMetadata: { - recipientRoleType: 'DISTRICT_JUDGE', - isUrgent: 'No', - subjectType: 'APPLICATION', - subject: 'Test' - }, - sendMessageContent: 'Test Message' + valid: { + sendAndReplyOption: { + sendAndReplyOption: 'SEND' + }, + sendMessageMetadata: { + sendMessageMetadata: { + recipientRoleType: 'DISTRICT_JUDGE', + isUrgent: 'No', + subjectType: 'APPLICATION', + subject: 'Test' + } + }, + sendMessageContent: { + sendMessageContent: 'Test Message' + } } }; }, - replyMessage: () => { + replyMessage: (messageCode, messageLabel) => { + return { + valid: { + sendAndReplyOption: { + sendAndReplyOption: 'REPLY', + messagesToReplyTo: { + value: { + code: messageCode, + label: messageLabel + }, + list_items: [ + { + code: messageCode, + label: messageLabel + } + ] + } + }, + replyToMessage: { + messageReplyMetadata: { + recipientRoleType: 'ADMIN', + isUrgent: 'No', + messageContent: "Test reply", + senderRoleType: null, + sentTime: null, + senderName: null, + recipientRoleType: null, + subjectType: null, + subject: null + }, + messageHistory: 'Test reply' + }, + } + }; + }, + sendMessageLr: () => { + return { + userInput: { + sendAndReplyOption: { + sendAndReplyOption: 'SEND' + }, + sendMessageMetadata: { + sendMessageMetadata: { + recipientRoleType: 'DISTRICT_JUDGE', + isUrgent: 'No', + subjectType: 'APPLICATION', + subject: 'Test' + } + }, + sendMessageContent: { + sendMessageContent: 'Test Message' + } + } + }; + }, + replyMessageLr: (messageCode, messageLabel) => { return { userInput: { - messages: [ - { - id: '6dd1ef70-004d-425a-84c9-36bc7f0153fa', + sendAndReplyOption: { + sendAndReplyOption: 'REPLY', + messagesToReplyTo: { value: { - history: [ - { - id: '96704f31-5bf7-4864-9219-5d37d2f74626', - value: { - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:25:17', - senderName: 'Amy Powell, Judge', - subjectType: 'APPLICATION', - messageContent: 'Test reply', - senderRoleType: 'JUDICIAL', - recipientRoleType: 'ADMIN' - } - }, - { - id: '173f59bf-002e-40b7-9120-31c18e766818', - value: { - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:21:53', - senderName: 'ctsc adminuser, CTSC', - subjectType: 'APPLICATION', - messageContent: 'Test', - senderRoleType: 'ADMIN', - recipientRoleType: 'JUDICIAL_DISTRICT' - } - } - ], - subject: 'Test', - isUrgent: 'No', - sentTime: '2025-01-28T16:21:53', - senderName: 'ctsc adminuser, CTSC', - subjectType: 'APPLICATION', - updatedTime: '2025-01-28T16:26:58', - messageContent: 'Test reply reply', - senderRoleType: 'ADMIN', - recipientRoleType: 'JUDICIAL' - } + code: messageCode, + label: messageLabel + }, + list_items: [ + { + code: messageCode, + label: messageLabel + } + ] } - ] + }, + replyToMessage: { + messageReplyMetadata: { + recipientRoleType: 'ADMIN', + isUrgent: 'No', + messageContent: "Test reply", + senderRoleType: null, + sentTime: null, + senderName: null, + recipientRoleType: null, + subjectType: null, + subject: null + }, + messageHistory: 'Test reply' + }, } }; } diff --git a/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js b/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js index 28ec484b3b..ecebea2888 100644 --- a/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js +++ b/e2e/tests/api_tests/caseworkerEvents/api_caseworker_test.js @@ -98,9 +98,10 @@ Scenario('1v1 Multi Claim Stay Case Judicial Referral', async ({api}) => { await api.claimantResponse(config.applicantSolicitorUser, mpScenario, 'JUDICIAL_REFERRAL', 'FOR_SDO', 'MULTI_CLAIM'); await api.stayCase(config.hearingCenterAdminWithRegionId1); await api.manageStay(config.hearingCenterAdminWithRegionId1, true); - await api.sendMessage(config.ctscAdminUser); - await api.replyMessage(config.judgeUserWithRegionId1); - await api.replyMessage(config.ctscAdminUser); + //commenting this for multi claim as send and reply is not enabled yet + // await api.sendMessage(config.ctscAdminUser); + // await api.replyMessage(config.judgeUserWithRegionId1); + // await api.replyMessage(config.ctscAdminUser); await api.manageStay(config.hearingCenterAdminWithRegionId1, false, true); await api.createFinalOrder(judgeUser, 'DOWNLOAD_ORDER_TEMPLATE', 'MULTI'); await api.scheduleHearing(hearingCenterAdminToBeUsed, 'FAST_TRACK_TRIAL'); From 5ca1c57b3ff3e1b183ca2b3c42ae855f2bbb0482 Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 4 Feb 2025 15:39:11 +0000 Subject: [PATCH 6/8] CIV-16511 fixing messages payload --- e2e/api/steps.js | 116 +++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/e2e/api/steps.js b/e2e/api/steps.js index ac14c43823..404a34f5d5 100644 --- a/e2e/api/steps.js +++ b/e2e/api/steps.js @@ -106,53 +106,53 @@ const data = { REPLY_MESSAGE: (messageCode, messageLabel) => sendAndReplyMessage.replyMessage(messageCode, messageLabel) }; const calculatedClaimsTrackDRH = { - disposalOrderWithoutHearing: (d) => typeof d.input === 'string', - fastTrackOrderWithoutJudgement: (d) => typeof d.input === 'string', - fastTrackHearingTime: (d) => - d.helpText1 === 'If either party considers that the time estimate is insufficient, they must inform the court within 7 days of the date of this order.' - && d.helpText2 === 'Not more than seven nor less than three clear days before the trial, ' - + 'the claimant must file at court and serve an indexed and paginated bundle of documents which complies with the' - + ' requirements of Rule 39.5 Civil Procedure Rules and which complies with requirements of PD32. ' - + 'The parties must endeavour to agree the contents of the bundle before it is filed. The bundle will include a case summary and a chronology.', - disposalHearingHearingTime: (d) => - d.input === 'This claim will be listed for final disposal before a judge on the first available date after' - && d.dateTo, - sdoR2SmallClaimsJudgesRecital: (data) => { - return typeof data.input === 'string'; - }, - sdoR2SmallClaimsPPIToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsWitnessStatementsToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsUploadDocToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsHearingToggle: (data) => Array.isArray(data), - sdoR2SmallClaimsWitnessStatements: (data) => { - return typeof data.sdoStatementOfWitness === 'string' - && typeof data.isRestrictWitness === 'string' - && typeof data.isRestrictPages === 'string' - && typeof data.text === 'string'; - }, - sdoR2SmallClaimsUploadDoc: (data) => { - return typeof data.sdoUploadOfDocumentsTxt === 'string'; - }, - sdoR2DrhUseOfWelshIncludeInOrderToggle: (data) => Array.isArray(data), - sdoR2DrhUseOfWelshLanguage: (data) => { - return typeof data.description === 'string'; - }, - sdoR2SmallClaimsHearing: (data) => { - return typeof data.trialOnOptions === 'string' - && typeof data.trialOnOptions === 'string' - && typeof data.hearingCourtLocationList === 'object' - && typeof data.methodOfHearing === 'string' - && typeof data.physicalBundleOptions === 'string' - && typeof data.sdoR2SmallClaimsHearingFirstOpenDateAfter.listFrom.match(/\d{4}-\d{2}-\d{2}/); - }, - sdoR2SmallClaimsImpNotes: (data) => { - return typeof data.text === 'string' - && typeof data.date.match(/\d{4}-\d{2}-\d{2}/); - }, - sdoR2SmallClaimsPPI: (data) => { - return typeof data.ppiDate.match(/\d{4}-\d{2}-\d{2}/) - && typeof data.text === 'string'; - } + disposalOrderWithoutHearing: (d) => typeof d.input === 'string', + fastTrackOrderWithoutJudgement: (d) => typeof d.input === 'string', + fastTrackHearingTime: (d) => + d.helpText1 === 'If either party considers that the time estimate is insufficient, they must inform the court within 7 days of the date of this order.' + && d.helpText2 === 'Not more than seven nor less than three clear days before the trial, ' + + 'the claimant must file at court and serve an indexed and paginated bundle of documents which complies with the' + + ' requirements of Rule 39.5 Civil Procedure Rules and which complies with requirements of PD32. ' + + 'The parties must endeavour to agree the contents of the bundle before it is filed. The bundle will include a case summary and a chronology.', + disposalHearingHearingTime: (d) => + d.input === 'This claim will be listed for final disposal before a judge on the first available date after' + && d.dateTo, + sdoR2SmallClaimsJudgesRecital: (data) => { + return typeof data.input === 'string'; + }, + sdoR2SmallClaimsPPIToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsWitnessStatementsToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsUploadDocToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsHearingToggle: (data) => Array.isArray(data), + sdoR2SmallClaimsWitnessStatements: (data) => { + return typeof data.sdoStatementOfWitness === 'string' + && typeof data.isRestrictWitness === 'string' + && typeof data.isRestrictPages === 'string' + && typeof data.text === 'string'; + }, + sdoR2SmallClaimsUploadDoc: (data) => { + return typeof data.sdoUploadOfDocumentsTxt === 'string'; + }, + sdoR2DrhUseOfWelshIncludeInOrderToggle: (data) => Array.isArray(data), + sdoR2DrhUseOfWelshLanguage: (data) => { + return typeof data.description === 'string'; + }, + sdoR2SmallClaimsHearing: (data) => { + return typeof data.trialOnOptions === 'string' + && typeof data.trialOnOptions === 'string' + && typeof data.hearingCourtLocationList === 'object' + && typeof data.methodOfHearing === 'string' + && typeof data.physicalBundleOptions === 'string' + && typeof data.sdoR2SmallClaimsHearingFirstOpenDateAfter.listFrom.match(/\d{4}-\d{2}-\d{2}/); + }, + sdoR2SmallClaimsImpNotes: (data) => { + return typeof data.text === 'string' + && typeof data.date.match(/\d{4}-\d{2}-\d{2}/); + }, + sdoR2SmallClaimsPPI: (data) => { + return typeof data.ppiDate.match(/\d{4}-\d{2}-\d{2}/) + && typeof data.text === 'string'; + } }; const eventData = { acknowledgeClaims: { @@ -231,11 +231,11 @@ const newSdoR2FieldsFastTrack = { const newSdoR2FastTrackCreditHireFields ={ sdoR2FastTrackCreditHire: (data) => { - return typeof data.input1 === 'string' - && typeof data.input5 === 'string' - && typeof data.input6 === 'string' - && typeof data.input7 === 'string' - && typeof data.input8 === 'string'; + return typeof data.input1 === 'string' + && typeof data.input5 === 'string' + && typeof data.input6 === 'string' + && typeof data.input7 === 'string' + && typeof data.input8 === 'string'; } }; @@ -787,7 +787,7 @@ module.exports = { 'From Date should be less than To Date'); // In a 1v2 different solicitor case, when the first solicitor responds, civil service would not change the state // to AWAITING_APPLICANT_INTENTION until the all solicitor response. - // console.log('Hearing>>>', caseData); + // console.log('Hearing>>>', caseData); if (solicitor === 'solicitorOne') { // when only one solicitor has responded in a 1v2 different solicitor case await assertSubmittedEvent('AWAITING_RESPONDENT_ACKNOWLEDGEMENT', { @@ -1686,7 +1686,7 @@ const assertValidData = async (data, pageId, solicitor) => { } try { - assert.deepEqual(responseBody.data, caseData); + assert.deepEqual(responseBody.data, caseData); } catch(err) { console.error('Validate data is failed due to a mismatch ..', err); @@ -2176,9 +2176,9 @@ const addCaseId = (pageId) => { const isEvidenceUpload = (pageId) => { return (pageId === 'DocumentSelectionFastTrack' - || pageId === 'DocumentSelectionSmallClaim') - && (eventName === 'EVIDENCE_UPLOAD_APPLICANT' - || eventName === 'EVIDENCE_UPLOAD_RESPONDENT'); + || pageId === 'DocumentSelectionSmallClaim') + && (eventName === 'EVIDENCE_UPLOAD_APPLICANT' + || eventName === 'EVIDENCE_UPLOAD_RESPONDENT'); }; const isManageContactInformation = () => { @@ -2190,7 +2190,7 @@ const isDifferentSolicitorForDefendantResponseOrExtensionDate = () => { }; const adjustDataForSolicitor = (user, data) => { - let fixtureClone = cloneDeep(data); + let fixtureClone = cloneDeep(data); if (mpScenario !== 'ONE_V_TWO_TWO_LEGAL_REP') { delete fixtureClone['defendantSolicitorNotifyClaimOptions']; } From d52f64cc6d23a8c52181a907f99b3fe32c6f6ca9 Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 4 Feb 2025 15:50:17 +0000 Subject: [PATCH 7/8] CIV-16511 checkstyle error --- e2e/fixtures/events/sendAndReplyMessages.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/e2e/fixtures/events/sendAndReplyMessages.js b/e2e/fixtures/events/sendAndReplyMessages.js index 5da16cee77..047415394c 100644 --- a/e2e/fixtures/events/sendAndReplyMessages.js +++ b/e2e/fixtures/events/sendAndReplyMessages.js @@ -41,11 +41,10 @@ module.exports = { messageReplyMetadata: { recipientRoleType: 'ADMIN', isUrgent: 'No', - messageContent: "Test reply", + messageContent: 'Test reply', senderRoleType: null, sentTime: null, senderName: null, - recipientRoleType: null, subjectType: null, subject: null }, @@ -96,11 +95,10 @@ module.exports = { messageReplyMetadata: { recipientRoleType: 'ADMIN', isUrgent: 'No', - messageContent: "Test reply", + messageContent: 'Test reply', senderRoleType: null, sentTime: null, senderName: null, - recipientRoleType: null, subjectType: null, subject: null }, From 3a6dd7afcbc11e13f95526c3d367128698e96d65 Mon Sep 17 00:00:00 2001 From: VijayaKumarK Date: Tue, 4 Feb 2025 15:53:55 +0000 Subject: [PATCH 8/8] CIV-16511 checkstyle error --- e2e/api/steps.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/api/steps.js b/e2e/api/steps.js index 404a34f5d5..4a3e61a219 100644 --- a/e2e/api/steps.js +++ b/e2e/api/steps.js @@ -1596,7 +1596,7 @@ const assertValidData = async (data, pageId, solicitor) => { responseBody.data.respondent1Represented = caseData.respondent1Represented; } - if(eventName === "SEND_AND_REPLY") { + if(eventName === 'SEND_AND_REPLY') { if (pageId === 'sendAndReplyOption') { if (typeof caseData.lastMessage !== 'undefined') { responseBody.data.lastMessageJudgeLabel = caseData.lastMessageJudgeLabel;