diff --git a/ccd-definition/AuthorisationCaseField/AuthorisationCaseField-JO-nonprod.json b/ccd-definition/AuthorisationCaseField/AuthorisationCaseField-JO-nonprod.json index 7ef7877c94..0f4a3ea454 100644 --- a/ccd-definition/AuthorisationCaseField/AuthorisationCaseField-JO-nonprod.json +++ b/ccd-definition/AuthorisationCaseField/AuthorisationCaseField-JO-nonprod.json @@ -382,5 +382,41 @@ "CRUD": "R" } ] + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "CaseFieldID": "joDefendantMarkedPaidInFullIssueDate", + "AccessControl": [ + { + "UserRoles": [ + "caseworker-civil-systemupdate" + ], + "CRUD": "CRU" + } + ] + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "CaseFieldID": "joMarkedPaidInFullIssueDate", + "AccessControl": [ + { + "UserRoles": [ + "caseworker-civil-systemupdate" + ], + "CRUD": "CRU" + } + ] + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "CaseFieldID": "joCoscRpaStatus", + "AccessControl": [ + { + "UserRoles": [ + "caseworker-civil-systemupdate" + ], + "CRUD": "CRU" + } + ] } ] diff --git a/ccd-definition/CaseField/CaseField-JO-nonprod.json b/ccd-definition/CaseField/CaseField-JO-nonprod.json index b888f51688..b574da1a8d 100644 --- a/ccd-definition/CaseField/CaseField-JO-nonprod.json +++ b/ccd-definition/CaseField/CaseField-JO-nonprod.json @@ -327,5 +327,30 @@ "FieldType": "Date", "SecurityClassification": "Public", "Searchable": "N" + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "ID": "joDefendantMarkedPaidInFullIssueDate", + "Label": " ", + "FieldType": "DateTime", + "SecurityClassification": "Public", + "Searchable": "N" + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "ID": "joMarkedPaidInFullIssueDate", + "Label": " ", + "FieldType": "DateTime", + "SecurityClassification": "Public", + "Searchable": "N" + }, + { + "CaseTypeID": "CIVIL${CCD_DEF_VERSION}", + "ID": "joCoscRpaStatus", + "Label": " ", + "FieldType": "FixedList", + "FieldTypeParameter": "CoscRpaStatus", + "SecurityClassification": "Public", + "Searchable": "N" } ] diff --git a/ccd-definition/FixedLists/CoscRpaStatus-JO-nonprod.json b/ccd-definition/FixedLists/CoscRpaStatus-JO-nonprod.json new file mode 100644 index 0000000000..739986a75d --- /dev/null +++ b/ccd-definition/FixedLists/CoscRpaStatus-JO-nonprod.json @@ -0,0 +1,14 @@ +[ + { + "ID": "CoscRpaStatus", + "ListElementCode": "CANCELLED", + "ListElement": "Cancelled", + "DisplayOrder": 1 + }, + { + "ID": "CoscRpaStatus", + "ListElementCode": "SATISFIED", + "ListElement": "Satisfied", + "DisplayOrder": 2 + } +] diff --git a/codecept.conf.js b/codecept.conf.js index eef1b977cd..14880092b7 100644 --- a/codecept.conf.js +++ b/codecept.conf.js @@ -1,5 +1,5 @@ exports.config = { - tests: process.env.CCD_UI_TESTS == 'true' ? [ + tests: process.env.CCD_UI_TESTS === 'true' ? [ './e2e/tests/ui_tests/*.js', './e2e/tests/ui_tests/damages/*_test.js', './e2e/tests/ui_tests/lrspec/*_test.js', @@ -9,6 +9,7 @@ exports.config = { './e2e/tests/ui_tests/settle_discontinue/*_test.js', './e2e/tests/ui_tests/sdo/*_test.js', './e2e/tests/ui_tests/carm/*_test.js', + './e2e/tests/ui_tests/minti/*_test.js', './e2e/tests/ui_tests/refunds/*_test.js', './e2e/tests/ui_tests/default_judgement/*_test.js', './e2e/tests/ui_tests/hearings/*_test.js', diff --git a/e2e/pages/bundlesTab.page.js b/e2e/pages/bundlesTab.page.js new file mode 100644 index 0000000000..84c54ea8ee --- /dev/null +++ b/e2e/pages/bundlesTab.page.js @@ -0,0 +1,19 @@ +const {I} = inject(); + +module.exports = { + + async verifyBundleDetails() { + I.waitInUrl('#Bundles', 10); + I.see('Bundle name'); + I.see('Document Uploaded DateTime',); + I.see('Hearing date'); + I.see('Upload a file'); + I.seeNumberOfElements('.complex-panel-table tbody .new-table-row', 2); + I.see('Test bundle name'); + I.see('1 Jan 2026',); + I.see('01-01-2026-Test bundle name.pdf'); + I.see('Test bundle name 1'); + I.see('10 Oct 2027'); + I.see('10-10-2027-Test bundle name 1.pdf'); + }, +}; diff --git a/e2e/steps_file.js b/e2e/steps_file.js index 6e14d9f23e..6e1dd2dcad 100644 --- a/e2e/steps_file.js +++ b/e2e/steps_file.js @@ -41,6 +41,7 @@ const cosNotifyClaimDetailsPage = require('./pages/notifyClaimDetails/certificat const cosNotifyClaimCYAPage = require('./pages/cosNotifyClaimCYA.page'); const cosTab = require('./pages/cosTab.page'); +const bundlesTab = require('./pages/bundlesTab.page'); const selectDefendantSolicitorPage = require('./pages/notifyClaimDetails/selectDefendantSolicitor.page'); @@ -699,6 +700,13 @@ module.exports = function () { ]); }, + async verifyBundleDetails(caseNumber) { + await this.triggerStepsWithScreenshot([ + () =>caseViewPage.navigateToTab('Bundles'), + () => bundlesTab.verifyBundleDetails() + ]); + }, + async navigateToTab(tabName) { await this.triggerStepsWithScreenshot([ () =>caseViewPage.navigateToTab(tabName), diff --git a/e2e/tests/ui_tests/minti/spec_intTrack_upload_bundle_test.js b/e2e/tests/ui_tests/minti/spec_intTrack_upload_bundle_test.js new file mode 100644 index 0000000000..87097b28cc --- /dev/null +++ b/e2e/tests/ui_tests/minti/spec_intTrack_upload_bundle_test.js @@ -0,0 +1,31 @@ +const config = require('../../../config.js'); +const judgeUser = config.judgeUserWithRegionId1; +const hearingCenterAdminToBeUsed = config.hearingCenterAdminWithRegionId1; +let civilCaseReference; +const claimAmountPenniesIntermediate = '9900000'; +const claimAmountIntermediate = '99000'; + +Feature('Intermediate track - Upload documents - Bundle @non-prod-e2e-ft'); + +async function prepareSpecClaim(api_spec, mpScenario) { + civilCaseReference = await api_spec.createClaimWithRepresentedRespondent(config.applicantSolicitorUser, mpScenario, false, true, claimAmountPenniesIntermediate); +} + +Scenario('Spec Claim - Int track - 1v2 diff solicitor - Upload bundle', async ({ api_spec, I }) => { + const mpScenario = 'ONE_V_TWO'; + await prepareSpecClaim(api_spec, mpScenario); + await api_spec.defendantResponse(config.defendantSolicitorUser, 'FULL_DEFENCE1', 'ONE_V_ONE_DIF_SOL', 'AWAITING_RESPONDENT_ACKNOWLEDGEMENT', false, true, claimAmountIntermediate); + await api_spec.defendantResponse(config.secondDefendantSolicitorUser, 'FULL_DEFENCE2', 'ONE_V_ONE_DIF_SOL', 'AWAITING_APPLICANT_INTENTION', false, true, claimAmountIntermediate); + await api_spec.claimantResponse(config.applicantSolicitorUser, 'FULL_DEFENCE', mpScenario, 'JUDICIAL_REFERRAL', false, true); + await api_spec.createFinalOrderJO(judgeUser, 'DOWNLOAD_ORDER_TEMPLATE', 'INTERMEDIATE'); + await api_spec.scheduleHearing(hearingCenterAdminToBeUsed, 'FAST_TRACK_TRIAL'); + await api_spec.amendHearingDueDate(config.systemupdate); + await api_spec.hearingFeePaid(hearingCenterAdminToBeUsed); + await api_spec.createFinalOrderJO(judgeUser, 'FREE_FORM_ORDER'); + await I.login(config.secondDefendantSolicitorUser); + await I.evidenceUpload(civilCaseReference, true, true); +}); + +AfterSuite(async ({api_spec}) => { + await api_spec.cleanUp(); +}); diff --git a/e2e/tests/ui_tests/minti/spec_multiTrack_upload_bundle_test.js b/e2e/tests/ui_tests/minti/spec_multiTrack_upload_bundle_test.js new file mode 100644 index 0000000000..5567e4a93e --- /dev/null +++ b/e2e/tests/ui_tests/minti/spec_multiTrack_upload_bundle_test.js @@ -0,0 +1,35 @@ +const config = require('../../../config.js'); +const claimAmountPenniesMulti = '20000001'; +const claimAmountMulti = '200001'; +const judgeUser = config.judgeUserWithRegionId1; +const hearingCenterAdminToBeUsed = config.hearingCenterAdminWithRegionId1; +let civilCaseReference; + +Feature('Multi track - Upload documents - Bundle @non-prod-e2e-ft'); + +async function prepareSpecClaim(api_spec, mpScenario) { + civilCaseReference = await api_spec.createClaimWithRepresentedRespondent(config.applicantSolicitorUser, mpScenario, false, true, claimAmountPenniesMulti); +} + +Scenario('Spec Claim - Multi track - 1v2 same solicitor - Upload bundle', async ({ api_spec, I }) => { + const mpScenario = 'ONE_V_TWO_SAME_SOL'; + await prepareSpecClaim(api_spec, mpScenario); + await api_spec.defendantResponse(config.defendantSolicitorUser, 'FULL_DEFENCE', 'ONE_V_TWO', 'AWAITING_APPLICANT_INTENTION', false, true, claimAmountMulti); + await api_spec.claimantResponse(config.applicantSolicitorUser, 'FULL_DEFENCE', 'ONE_V_TWO', 'JUDICIAL_REFERRAL', false, true); + await api_spec.createFinalOrderJO(judgeUser, 'DOWNLOAD_ORDER_TEMPLATE', 'MULTI'); + await api_spec.scheduleHearing(hearingCenterAdminToBeUsed, 'FAST_TRACK_TRIAL'); + await api_spec.amendHearingDueDate(config.systemupdate); + await api_spec.hearingFeePaid(hearingCenterAdminToBeUsed); + await I.login(config.applicantSolicitorUser); + await I.evidenceUpload(civilCaseReference, false, true); + await I.login(config.defendantSolicitorUser); + await I.evidenceUpload(civilCaseReference, true, true, true, 'ONE_V_TWO_ONE_LEGAL_REP'); + await I.login(config.applicantSolicitorUser); + await I.amOnPage(config.url.manageCase + '/cases/case-details/' + civilCaseReference); + await I.waitForText('Summary'); + await I.verifyBundleDetails(civilCaseReference); +}); + +AfterSuite(async ({ api_spec }) => { + await api_spec.cleanUp(); +}); diff --git a/e2e/tests/ui_tests/sdo/minti_cp_test.js b/e2e/tests/ui_tests/minti/unSpec_minti_finalOrder_upload_bundle_test.js similarity index 82% rename from e2e/tests/ui_tests/sdo/minti_cp_test.js rename to e2e/tests/ui_tests/minti/unSpec_minti_finalOrder_upload_bundle_test.js index 5a691c305f..52c44481c2 100644 --- a/e2e/tests/ui_tests/sdo/minti_cp_test.js +++ b/e2e/tests/ui_tests/minti/unSpec_minti_finalOrder_upload_bundle_test.js @@ -8,6 +8,7 @@ const claimAmountMulti = '200001'; const track = 'INTERMEDIATE_CLAIM'; const judgeUser = config.judgeUserWithRegionId1; +const hearingCenterAdminToBeUsed = config.hearingCenterAdminWithRegionId1; let civilCaseReference; Feature('Intermediate and Multi tracks - Download order template Journey - Upload Bundle @non-prod-e2e-ft'); @@ -28,6 +29,11 @@ Scenario('1v2 Same Solicitor Int Track - Download order template - Upload Bundle await I.login(config.defendantSolicitorUser); await I.evidenceUpload(civilCaseReference, true, true, true, mpScenario); + + await I.login(config.applicantSolicitorUser); + await I.amOnPage(config.url.manageCase + '/cases/case-details/' + civilCaseReference); + await I.waitForText('Summary'); + await I.verifyBundleDetails(civilCaseReference); }); Scenario('1v2 Different Solicitor Multi Track claim - Download order template - Upload Bundle', async ({api, I}) => { @@ -37,8 +43,9 @@ Scenario('1v2 Different Solicitor Multi Track claim - Download order template - await api.notifyClaimDetails(config.applicantSolicitorUser); await api.defendantResponse(config.defendantSolicitorUser, mpScenario, 'solicitorOne'); await api.defendantResponse(config.secondDefendantSolicitorUser, mpScenario, 'solicitorTwo'); - await api.claimantResponse(config.applicantSolicitorUser, mpScenario, 'AWAITING_APPLICANT_INTENTION', 'FOR_SDO', 'MULTI_CLAIM'); - + await api.claimantResponse(config.applicantSolicitorUser, mpScenario, 'JUDICIAL_REFERRAL', 'FOR_SDO', 'MULTI_CLAIM'); + await api.createFinalOrder(judgeUser, 'DOWNLOAD_ORDER_TEMPLATE', 'MULTI'); + await api.scheduleHearing(hearingCenterAdminToBeUsed, 'FAST_TRACK_TRIAL'); await I.login(judgeUser); await I.initiateFinalOrder(civilCaseReference, 'Multi Track', 'Fix a date for CCMC');