Skip to content

Commit 684a5a1

Browse files
so99yAshley Wong
andauthored
DFR-3812 Make “generatedLetter” deletable (#2589)
* typo * Enable generatedLetter to be deleted. --------- Co-authored-by: Ashley Wong <[email protected]>
1 parent 113f1df commit 684a5a1

File tree

3 files changed

+69
-2
lines changed

3 files changed

+69
-2
lines changed

src/main/java/uk/gov/hmcts/reform/finrem/caseorchestration/service/GeneralLetterService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.wrapper.IntervenerTwo;
2626
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.wrapper.intevener.IntervenerWrapper;
2727
import uk.gov.hmcts.reform.finrem.caseorchestration.model.document.BulkPrintDocument;
28-
import uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcatergory.CreateGeneralLetterDocumentCategoriser;
28+
import uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcategory.CreateGeneralLetterDocumentCategoriser;
2929

3030
import java.time.LocalDate;
3131
import java.time.format.DateTimeFormatter;
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcatergory;
1+
package uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcategory;
22

33
import lombok.extern.slf4j.Slf4j;
44
import org.springframework.beans.factory.annotation.Autowired;
@@ -8,7 +8,9 @@
88
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.GeneralLetterCollection;
99
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.wrapper.GeneralLetterWrapper;
1010
import uk.gov.hmcts.reform.finrem.caseorchestration.service.FeatureToggleService;
11+
import uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcatergory.DocumentCategoriser;
1112

13+
import java.util.Objects;
1214
import java.util.Optional;
1315

1416
import static uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.CCDConfigConstant.APPLICANT;
@@ -63,6 +65,7 @@ private void categoriseGeneralLetters(GeneralLetterWrapper wrapper) {
6365
.ifPresent(generalLetters -> generalLetters.stream()
6466
.map(GeneralLetterCollection::getValue)
6567
.map(GeneralLetter::getGeneratedLetter)
68+
.filter(Objects::nonNull)
6669
.filter(generatedLetter -> generatedLetter.getCategoryId() == null)
6770
.forEach(generatedLetter -> generatedLetter.setCategoryId(
6871
getGeneratedLetterCategoryId(getSelectedRoleCode(wrapper)))));
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package uk.gov.hmcts.reform.finrem.caseorchestration.service.documentcategory;
2+
3+
import org.junit.jupiter.api.BeforeEach;
4+
import org.junit.jupiter.api.Test;
5+
import org.junit.jupiter.api.extension.ExtendWith;
6+
import org.mockito.InjectMocks;
7+
import org.mockito.Mock;
8+
import org.mockito.junit.jupiter.MockitoExtension;
9+
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.CaseDocument;
10+
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.FinremCaseData;
11+
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.GeneralLetter;
12+
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.GeneralLetterCollection;
13+
import uk.gov.hmcts.reform.finrem.caseorchestration.model.ccd.wrapper.GeneralLetterWrapper;
14+
import uk.gov.hmcts.reform.finrem.caseorchestration.service.FeatureToggleService;
15+
16+
import java.util.List;
17+
18+
import static org.mockito.ArgumentMatchers.anyString;
19+
import static org.mockito.Mockito.mock;
20+
import static org.mockito.Mockito.verify;
21+
import static org.mockito.Mockito.when;
22+
23+
@ExtendWith(MockitoExtension.class)
24+
class CreateGeneralLetterDocumentCategoriserTest {
25+
26+
@Mock
27+
private FeatureToggleService featureToggleService;
28+
29+
@InjectMocks
30+
private CreateGeneralLetterDocumentCategoriser underTest;
31+
32+
@BeforeEach
33+
void setUp() {
34+
when(featureToggleService.isCaseFileViewEnabled()).thenReturn(true);
35+
}
36+
37+
@Test
38+
void givenFeatureToggleIsOn_whenGeneratedLetterDeleted_thenCategoriseWithoutException() {
39+
underTest.categorise(FinremCaseData.builder()
40+
.generalLetterWrapper(GeneralLetterWrapper.builder()
41+
.generalLetterCollection(List.of(
42+
GeneralLetterCollection.builder()
43+
.value(GeneralLetter.builder().generatedLetter(null).build())
44+
.build()
45+
))
46+
.build())
47+
.build());
48+
}
49+
50+
@Test
51+
void givenFeatureToggleIsOn_whenGeneratedLetterExists_thenCategoryIdAssigned() {
52+
CaseDocument mockedCaseDocument = mock(CaseDocument.class);
53+
underTest.categorise(FinremCaseData.builder()
54+
.generalLetterWrapper(GeneralLetterWrapper.builder()
55+
.generalLetterCollection(List.of(
56+
GeneralLetterCollection.builder()
57+
.value(GeneralLetter.builder().generatedLetter(mockedCaseDocument).build())
58+
.build()
59+
))
60+
.build())
61+
.build());
62+
verify(mockedCaseDocument).setCategoryId(anyString());
63+
}
64+
}

0 commit comments

Comments
 (0)