|
5 | 5 | import org.junit.jupiter.api.extension.ExtendWith; |
6 | 6 | import org.mockito.ArgumentCaptor; |
7 | 7 | import org.mockito.Mock; |
| 8 | +import org.mockito.MockedStatic; |
8 | 9 | import org.mockito.junit.jupiter.MockitoExtension; |
9 | 10 | import org.modelmapper.ModelMapper; |
10 | 11 | import uk.gov.hmcts.ccd.sdk.CaseViewRequest; |
|
55 | 56 | import static org.mockito.Mock.Strictness.LENIENT; |
56 | 57 | import static org.mockito.Mockito.doNothing; |
57 | 58 | import static org.mockito.Mockito.mock; |
| 59 | +import static org.mockito.Mockito.mockStatic; |
58 | 60 | import static org.mockito.Mockito.never; |
59 | 61 | import static org.mockito.Mockito.verify; |
60 | 62 | import static org.mockito.Mockito.when; |
@@ -209,6 +211,22 @@ void shouldSetSearchCriteriaFromIndexer() { |
209 | 211 | assertThat(pcsCase.getSearchCriteria()).isSameAs(searchCriteria); |
210 | 212 | } |
211 | 213 |
|
| 214 | + @Test |
| 215 | + void shouldNotSetSearchCriteriaForSuffixedCaseType() { |
| 216 | + // Given a suffixed (non-canonical) case type, e.g. PCS-STAGING or a PR preview type |
| 217 | + try (MockedStatic<CaseType> caseTypeMock = mockStatic(CaseType.class)) { |
| 218 | + caseTypeMock.when(CaseType::isSuffixedCaseType).thenReturn(true); |
| 219 | + |
| 220 | + // When |
| 221 | + PCSCase pcsCase = underTest.getCase(request(CASE_REFERENCE, DEFAULT_STATE)); |
| 222 | + |
| 223 | + // Then - the indexer is never invoked and SearchCriteria is left null, so the |
| 224 | + // decentralised indexer won't write a global_search document for this case type |
| 225 | + verify(searchCriteriaIndexer, never()).buildSearchCriteria(any(PCSCase.class)); |
| 226 | + assertThat(pcsCase.getSearchCriteria()).isNull(); |
| 227 | + } |
| 228 | + } |
| 229 | + |
212 | 230 | @Test |
213 | 231 | void shouldMapPartyEntity() { |
214 | 232 | // Given |
|
0 commit comments