Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIV-15201 - Add missing documents to bundle #5510

Merged
merged 10 commits into from
Oct 21, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import uk.gov.hmcts.reform.civil.model.common.Element;
import uk.gov.hmcts.reform.civil.service.SystemGeneratedDocumentService;
import uk.gov.hmcts.reform.civil.service.docmosis.claimform.ClaimFormGenerator;
import uk.gov.hmcts.reform.civil.utils.AssignCategoryId;

import java.util.List;
import java.util.Map;
Expand All @@ -36,6 +37,7 @@ public class GenerateLipClaimFormCallBackHandler extends CallbackHandler {
);
private final ObjectMapper objectMapper;
private final ClaimFormGenerator claimFormGenerator;
private final AssignCategoryId assignCategoryId;
private final SystemGeneratedDocumentService systemGeneratedDocumentService;
private final Map<String, Callback> callbackMap = Map.of(callbackKey(ABOUT_TO_SUBMIT), this::generateClaimForm);

Expand All @@ -57,6 +59,7 @@ private CallbackResponse generateClaimForm(CallbackParams callbackParams) {
callbackParams.getParams().get(BEARER_TOKEN).toString(),
caseEvent
);
assignCategoryId.assignCategoryIdToCaseDocument(caseDocument, "detailsOfClaim");

CaseData updatedCaseData = updateCaseData(caseData, caseDocument, caseEvent);
return AboutToStartOrSubmitCallbackResponse.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -568,8 +568,16 @@ private List<Element<BundlingRequestDocument>> mapDq(CaseData caseData) {
List<BundlingRequestDocument> bundlingRequestDocuments = new ArrayList<>();
bundlingRequestDocuments.addAll(getDqByCategoryId(caseData,
DocCategory.APP1_DQ.getValue(), PartyType.CLAIMANT1));
if (featureToggleService.isCaseProgressionEnabled()) {
bundlingRequestDocuments.addAll(getDqByCategoryId(caseData,
DocCategory.DQ_APP1.getValue(), PartyType.CLAIMANT1));
}
bundlingRequestDocuments.addAll(getDqByCategoryId(caseData,
DocCategory.DEF1_DEFENSE_DQ.getValue(), PartyType.DEFENDANT1));
if (featureToggleService.isCaseProgressionEnabled()) {
bundlingRequestDocuments.addAll(getDqByCategoryId(caseData,
DocCategory.DQ_DEF1.getValue(), PartyType.DEFENDANT1));
}
bundlingRequestDocuments.addAll(getDqByCategoryId(caseData,
DocCategory.DEF2_DEFENSE_DQ.getValue(), PartyType.DEFENDANT2));

Expand Down Expand Up @@ -607,8 +615,9 @@ && nonNull(caseDocumentElement.getValue().getDocumentLink().getCategoryID())
private List<Element<BundlingRequestDocument>> mapStatementOfcaseDocs(CaseData caseData) {
List<BundlingRequestDocument> bundlingRequestDocuments = new ArrayList<>();
bundlingRequestDocuments.addAll(mapSystemGeneratedCaseDocument(caseData.getSystemGeneratedCaseDocuments().stream()
.filter(caseDocumentElement -> caseDocumentElement.getValue().getDocumentType()
.equals(DocumentType.SEALED_CLAIM)
.filter(caseDocumentElement -> (
caseDocumentElement.getValue().getDocumentType()
.equals(DocumentType.SEALED_CLAIM))
&& null != caseDocumentElement.getValue().getDocumentLink().getCategoryID()
&& caseDocumentElement.getValue().getDocumentLink().getCategoryID().equals("detailsOfClaim"))
.collect(Collectors.toList()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import uk.gov.hmcts.reform.civil.model.CaseData;
import uk.gov.hmcts.reform.civil.service.SystemGeneratedDocumentService;
import uk.gov.hmcts.reform.civil.service.docmosis.claimform.ClaimFormGenerator;
import uk.gov.hmcts.reform.civil.utils.AssignCategoryId;

import java.time.LocalDateTime;
import java.util.Map;
Expand All @@ -39,6 +40,8 @@ class GenerateLipClaimFormCallBackHandlerTest extends BaseCallbackHandlerTest {
private SystemGeneratedDocumentService systemGeneratedDocumentService;
@Mock
private ObjectMapper mapper;
@Mock
private AssignCategoryId assignCategoryId;
@InjectMocks
private GenerateLipClaimFormCallBackHandler handler;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.springframework.test.context.junit.jupiter.SpringExtension;
Expand Down Expand Up @@ -45,11 +47,14 @@ class BundleRequestMapperTest {
private static final String TEST_FILE_TYPE = "Email";
private static final String TEST_FILE_NAME = "testFileName.pdf";

@Test
void testBundleRequestMapperWithAllDocs() {
@ParameterizedTest
@ValueSource(booleans = {true, false})
void testBundleRequestMapperWithAllDocs(boolean caseProgressionCuiEnabled) {
// Given
//Add all type of documents and other request details in case data
CaseData caseData = getCaseData();

given(featureToggleService.isCaseProgressionEnabled()).willReturn(caseProgressionCuiEnabled);
given(featureToggleService.isAmendBundleEnabled()).willReturn(false);

// When
Expand Down Expand Up @@ -101,16 +106,24 @@ void testBundleRequestMapperWithAllDocs() {
bundleCreateRequest.getCaseDetails().getCaseData().getStatementsOfCaseDocuments().get(7).getValue().getDocumentFileName());
assertEquals("CL 1 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(0).getValue().getDocumentFileName());
if (featureToggleService.isCaseProgressionEnabled()) {
assertEquals("CL 1 Directions Questionnaire 11/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(1).getValue().getDocumentFileName());
}
assertEquals("DF 1 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(1).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 2 : 1).getValue().getDocumentFileName());
if (featureToggleService.isCaseProgressionEnabled()) {
assertEquals("DF 1 Directions Questionnaire 12/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(3).getValue().getDocumentFileName());
}
assertEquals("DF 2 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(2).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 4 : 2).getValue().getDocumentFileName());
assertEquals("DF 2 Directions Questionnaire 11/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(3).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 5 : 3).getValue().getDocumentFileName());
assertEquals("DF 2 Directions Questionnaire 10/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(4).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 6 : 4).getValue().getDocumentFileName());
assertEquals("Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(5).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 7 : 5).getValue().getDocumentFileName());
assertEquals("Directions Order 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getOrdersDocuments().get(0).getValue().getDocumentFileName());
assertEquals("Order 10/02/2023",
Expand Down Expand Up @@ -172,11 +185,14 @@ void testBundleRequestMapperWithAllDocs() {

}

@Test
void testBundleRequestMapperWithAllDocsAndCaseEvenEnable() {
@ParameterizedTest
@ValueSource(booleans = {true, false})
void testBundleRequestMapperWithAllDocsAndCaseEvenEnable(boolean caseProgressionCuiEnabled) {
// Given
//Add all type of documents and other request details in case data
CaseData caseData = getCaseDataNoCategoryId();

given(featureToggleService.isCaseProgressionEnabled()).willReturn(caseProgressionCuiEnabled);
given(featureToggleService.isAmendBundleEnabled()).willReturn(true);

// When
Expand Down Expand Up @@ -228,16 +244,24 @@ void testBundleRequestMapperWithAllDocsAndCaseEvenEnable() {
bundleCreateRequest.getCaseDetails().getCaseData().getStatementsOfCaseDocuments().get(7).getValue().getDocumentFileName());
assertEquals("CL 1 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(0).getValue().getDocumentFileName());
if (featureToggleService.isCaseProgressionEnabled()) {
assertEquals("CL 1 Directions Questionnaire 11/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(1).getValue().getDocumentFileName());
}
assertEquals("DF 1 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(1).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 2 : 1).getValue().getDocumentFileName());
if (featureToggleService.isCaseProgressionEnabled()) {
assertEquals("DF 1 Directions Questionnaire 12/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(3).getValue().getDocumentFileName());
}
assertEquals("DF 2 Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(2).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 4 : 2).getValue().getDocumentFileName());
assertEquals("DF 2 Directions Questionnaire 11/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(3).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 5 : 3).getValue().getDocumentFileName());
assertEquals("DF 2 Directions Questionnaire 10/03/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(4).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 6 : 4).getValue().getDocumentFileName());
assertEquals("Directions Questionnaire 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(5).getValue().getDocumentFileName());
bundleCreateRequest.getCaseDetails().getCaseData().getDirectionsQuestionnaires().get(caseProgressionCuiEnabled ? 7 : 5).getValue().getDocumentFileName());
assertEquals("Directions Order 10/02/2023",
bundleCreateRequest.getCaseDetails().getCaseData().getOrdersDocuments().get(0).getValue().getDocumentFileName());
assertEquals("Order 10/02/2023",
Expand Down Expand Up @@ -822,12 +846,28 @@ private List<Element<CaseDocument>> setupSystemGeneratedCaseDocs() {
.documentFileName("DQ_NO_CATEGORY_ID").build())
.createdDatetime(LocalDateTime.of(2023, 2, 10, 2,
2, 2)).build();
CaseDocument caseDocumentDQApp1LiP =
CaseDocument.builder()
.documentType(DocumentType.DIRECTIONS_QUESTIONNAIRE)
.documentLink(Document.builder().documentUrl(TEST_URL).categoryID(DocCategory.DQ_APP1.getValue())
.documentFileName(TEST_FILE_NAME).build())
.createdDatetime(LocalDateTime.of(2023, 3, 11, 2,
2, 2)).build();
CaseDocument caseDocumentDQDef1LiP =
CaseDocument.builder()
.documentType(DocumentType.DIRECTIONS_QUESTIONNAIRE)
.documentLink(Document.builder().documentUrl(TEST_URL).categoryID(DocCategory.DQ_DEF1.getValue())
.documentFileName(TEST_FILE_NAME).build())
.createdDatetime(LocalDateTime.of(2023, 3, 12, 2,
2, 2)).build();
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQDef1));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQApp1));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQDef22));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQDef21));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQDef23));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQNoId));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQApp1LiP));
systemGeneratedCaseDocuments.add(ElementUtils.element(caseDocumentDQDef1LiP));
CaseDocument caseDocumentDJ =
CaseDocument.builder()
.documentType(DocumentType.DEFAULT_JUDGMENT_SDO_ORDER)
Expand Down
Loading