Skip to content

Commit dcd1a66

Browse files
author
Jamie Briggs
authored
CCMSPUI-458 Reimplemented case search using EBS API (#355)
* CCMSPUI-458 Updated build.gradle to include up to date versions of SOA and EBS with EBS endpoint migrated Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk> * CCMSPUI-458 Implemented EBS get cases method. Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk> * CCMSPUI-458 Added test case to EbsApiClientIntegrationTest for search cases Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk> * CCMSPUI-458 Updated SOA version to 0.0.48 in build.gradle Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk> * CCMSPUI-458 Updated exception message Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk> --------- Signed-off-by: Jamie Briggs <jamie.briggs@digital.justice.gov.uk>
1 parent c8a799d commit dcd1a66

File tree

13 files changed

+234
-310
lines changed

13 files changed

+234
-310
lines changed

build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ repositories {
3737

3838
dependencies {
3939

40-
implementation 'uk.gov.laa.ccms.data:data-api:0.0.29'
40+
implementation 'uk.gov.laa.ccms.data:data-api:0.0.30-bc6420d-SNAPSHOT'
4141

42-
implementation 'uk.gov.laa.ccms.soa.gateway:soa-gateway-api:0.0.46'
42+
implementation 'uk.gov.laa.ccms.soa.gateway:soa-gateway-api:0.0.48'
4343

4444
implementation 'uk.gov.laa.ccms.caab:caab-api:0.0.40'
4545

src/integrationTest/java/uk/gov/laa/ccms/caab/client/EbsApiClientIntegrationTest.java

+76-6
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,19 @@
2424
import reactor.core.publisher.Mono;
2525
import reactor.test.StepVerifier;
2626
import uk.gov.laa.ccms.caab.AbstractIntegrationTest;
27+
import uk.gov.laa.ccms.caab.bean.CaseSearchCriteria;
2728
import uk.gov.laa.ccms.caab.bean.NotificationSearchCriteria;
2829
import uk.gov.laa.ccms.data.model.AmendmentTypeLookupDetail;
2930
import uk.gov.laa.ccms.data.model.AmendmentTypeLookupValueDetail;
31+
import uk.gov.laa.ccms.data.model.BaseClient;
3032
import uk.gov.laa.ccms.data.model.BaseOffice;
3133
import uk.gov.laa.ccms.data.model.BaseProvider;
3234
import uk.gov.laa.ccms.data.model.BaseUser;
35+
import uk.gov.laa.ccms.data.model.CaseDetails;
3336
import uk.gov.laa.ccms.data.model.CaseReferenceSummary;
3437
import uk.gov.laa.ccms.data.model.CaseStatusLookupDetail;
3538
import uk.gov.laa.ccms.data.model.CaseStatusLookupValueDetail;
39+
import uk.gov.laa.ccms.data.model.CaseSummary;
3640
import uk.gov.laa.ccms.data.model.CommonLookupDetail;
3741
import uk.gov.laa.ccms.data.model.CommonLookupValueDetail;
3842
import uk.gov.laa.ccms.data.model.ContactDetail;
@@ -112,7 +116,8 @@ public void testGetCommonValues_returnData() throws Exception {
112116
.withQueryParam("sort", equalTo(sort))
113117
.willReturn(okJson(commonValuesJson)));
114118

115-
final Mono<CommonLookupDetail> commonValuesMono = ebsApiClient.getCommonValues(type, code, descr, sort);
119+
final Mono<CommonLookupDetail> commonValuesMono = ebsApiClient.getCommonValues(type, code,
120+
descr, sort);
116121

117122
final CommonLookupDetail commonValues = commonValuesMono.block();
118123

@@ -121,15 +126,17 @@ public void testGetCommonValues_returnData() throws Exception {
121126

122127
@Test
123128
public void testGetCaseStatusValues_returnData() throws Exception {
124-
final String caseStatusValuesJson = objectMapper.writeValueAsString(buildCaseStatusLookupDetail());
129+
final String caseStatusValuesJson = objectMapper.writeValueAsString(
130+
buildCaseStatusLookupDetail());
125131

126132
final Boolean copyAllowed = true;
127133

128134
wiremock.stubFor(get(urlPathMatching("/lookup/case-status.*"))
129135
.withQueryParam("copy-allowed", equalTo(copyAllowed.toString()))
130136
.willReturn(okJson(caseStatusValuesJson)));
131137

132-
final Mono<CaseStatusLookupDetail> lookupDetailMono = ebsApiClient.getCaseStatusValues(copyAllowed);
138+
final Mono<CaseStatusLookupDetail> lookupDetailMono = ebsApiClient.getCaseStatusValues(
139+
copyAllowed);
133140

134141
final CaseStatusLookupDetail response = lookupDetailMono.block();
135142

@@ -191,7 +198,8 @@ void testGetUsers_returnsData() throws JsonProcessingException {
191198
@Test
192199
public void testGetUsers_notFound() {
193200
final Integer providerId = 123;
194-
final String expectedMessage = "Failed to retrieve Users with parameters: size=1000, provider-id=123";
201+
final String expectedMessage = "Failed to retrieve Users with parameters: size=1000, "
202+
+ "provider-id=123";
195203
wiremock.stubFor(get(String.format("/users?size=1000&provider-id=%s", providerId))
196204
.willReturn(notFound()));
197205
final Mono<UserDetails> userDetailsMono = ebsApiClient.getUsers(providerId);
@@ -213,8 +221,9 @@ public void testGetUserNotificationSummary_returnData() throws Exception {
213221
wiremock.stubFor(get(String.format("/users/%s/notifications/summary", loginId))
214222
.willReturn(okJson(notificationSummaryJson)));
215223

216-
final Mono<NotificationSummary> userNotificationSummary = ebsApiClient.getUserNotificationSummary(
217-
loginId);
224+
final Mono<NotificationSummary> userNotificationSummary =
225+
ebsApiClient.getUserNotificationSummary(
226+
loginId);
218227

219228
final NotificationSummary userDetails = userNotificationSummary.block();
220229

@@ -305,6 +314,44 @@ public void testPostAllocateCaseReference_handlesError() throws JsonProcessingEx
305314
).verify();
306315
}
307316

317+
@Test
318+
public void testGetCases_returnData() throws Exception {
319+
int page = 0;
320+
int size = 20;
321+
int providerId = 2000;
322+
323+
CaseSearchCriteria searchCriteria = buildCaseSearchCriteria();
324+
CaseDetails caseDetails = buildCaseDetails();
325+
String caseDetailsJson = objectMapper.writeValueAsString(caseDetails);
326+
327+
wiremock.stubFor(get(String.format("/cases?provider-id=%s&" +
328+
"case-reference-number=%s&" +
329+
"provider-case-reference=%s&" +
330+
"case-status=%s&" +
331+
"fee-earner-id=%s&" +
332+
"office-id=%s&" +
333+
"client-surname=%s&" +
334+
"page=%s&" +
335+
"size=%s",
336+
providerId,
337+
searchCriteria.getCaseReference(),
338+
searchCriteria.getProviderCaseReference(),
339+
searchCriteria.getStatus(),
340+
searchCriteria.getFeeEarnerId(),
341+
searchCriteria.getOfficeId(),
342+
searchCriteria.getClientSurname(),
343+
page,
344+
size))
345+
.willReturn(okJson(caseDetailsJson)));
346+
347+
CaseDetails response =
348+
ebsApiClient.getCases(searchCriteria, providerId, page, size).block();
349+
350+
assertNotNull(response);
351+
assertEquals(1, response.getContent().size());
352+
assertEquals(caseDetailsJson, objectMapper.writeValueAsString(response));
353+
}
354+
308355
// You may need to build the AmendmentTypeLookupDetail for the test
309356
private AmendmentTypeLookupDetail buildAmendmentTypeLookupDetail() {
310357
final AmendmentTypeLookupDetail detail = new AmendmentTypeLookupDetail();
@@ -391,4 +438,27 @@ private Notifications buildNotifications() {
391438
);
392439
}
393440

441+
private CaseDetails buildCaseDetails() {
442+
return new CaseDetails()
443+
.addContentItem(new CaseSummary()
444+
.caseReferenceNumber("caseref1")
445+
.providerCaseReferenceNumber("provcaseref")
446+
.caseStatusDisplay("app")
447+
.client(new BaseClient().firstName("firstname")
448+
.surname("thesurname"))
449+
.feeEarnerName("feeEarner")
450+
.categoryOfLaw("CAT1"));
451+
}
452+
453+
private CaseSearchCriteria buildCaseSearchCriteria() {
454+
CaseSearchCriteria searchCriteria = new CaseSearchCriteria();
455+
searchCriteria.setCaseReference("123");
456+
searchCriteria.setProviderCaseReference("456");
457+
searchCriteria.setStatus("caseStat");
458+
searchCriteria.setFeeEarnerId(678);
459+
searchCriteria.setOfficeId(345);
460+
searchCriteria.setClientSurname("clientSurname");
461+
return searchCriteria;
462+
}
463+
394464
}

src/integrationTest/java/uk/gov/laa/ccms/caab/client/SoaApiClientIntegrationTest.java

-63
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@
2020
import org.springframework.test.context.DynamicPropertySource;
2121
import reactor.core.publisher.Mono;
2222
import uk.gov.laa.ccms.caab.AbstractIntegrationTest;
23-
import uk.gov.laa.ccms.caab.bean.CaseSearchCriteria;
24-
import uk.gov.laa.ccms.soa.gateway.model.BaseClient;
25-
import uk.gov.laa.ccms.soa.gateway.model.CaseDetails;
26-
import uk.gov.laa.ccms.soa.gateway.model.CaseSummary;
2723
import uk.gov.laa.ccms.soa.gateway.model.ClientDetail;
2824
import uk.gov.laa.ccms.soa.gateway.model.ClientTransactionResponse;
2925
import uk.gov.laa.ccms.soa.gateway.model.ContractDetail;
@@ -78,44 +74,6 @@ public void testGetContractDetails_returnData() throws Exception {
7874
assertEquals(contractDetailsJson, objectMapper.writeValueAsString(response.block()));
7975
}
8076

81-
@Test
82-
public void testGetCases_returnData() throws Exception {
83-
String loginId = USER_1;
84-
String userType = USER_TYPE;
85-
int page = 0;
86-
int size = 20;
87-
CaseSearchCriteria searchCriteria = buildCopyCaseSearchCriteria();
88-
CaseDetails caseDetails = buildCaseDetails();
89-
String caseDetailsJson = objectMapper.writeValueAsString(caseDetails);
90-
91-
wiremock.stubFor(get(String.format("/cases?case-reference-number=%s&" +
92-
"provider-case-reference=%s&" +
93-
"case-status=%s&" +
94-
"fee-earner-id=%s&" +
95-
"office-id=%s&" +
96-
"client-surname=%s&" +
97-
"page=%s&" +
98-
"size=%s",
99-
searchCriteria.getCaseReference(),
100-
searchCriteria.getProviderCaseReference(),
101-
searchCriteria.getStatus(),
102-
searchCriteria.getFeeEarnerId(),
103-
searchCriteria.getOfficeId(),
104-
searchCriteria.getClientSurname(),
105-
page,
106-
size))
107-
.withHeader(SOA_GATEWAY_USER_LOGIN_ID, equalTo(loginId))
108-
.withHeader(SOA_GATEWAY_USER_ROLE, equalTo(userType))
109-
.willReturn(okJson(caseDetailsJson)));
110-
111-
CaseDetails response =
112-
soaApiClient.getCases(searchCriteria, loginId, userType, page, size).block();
113-
114-
assertNotNull(response);
115-
assertEquals(1, response.getContent().size());
116-
assertEquals(caseDetailsJson, objectMapper.writeValueAsString(response));
117-
}
118-
11977
@Test
12078
public void testGetClient_returnData() throws Exception {
12179
String clientReferenceNumber = "clientRef1";
@@ -318,26 +276,5 @@ private ContractDetails buildContractDetails() {
318276
.authorisationType("AUTHTYPE1"));
319277
}
320278

321-
private CaseDetails buildCaseDetails() {
322-
return new CaseDetails()
323-
.addContentItem(new CaseSummary()
324-
.caseReferenceNumber("caseref1")
325-
.providerCaseReferenceNumber("provcaseref")
326-
.caseStatusDisplay("app")
327-
.client(new BaseClient().firstName("firstname").surname("thesurname"))
328-
.feeEarnerName("feeEarner")
329-
.categoryOfLaw("CAT1"));
330-
}
331-
332-
private CaseSearchCriteria buildCopyCaseSearchCriteria() {
333-
CaseSearchCriteria searchCriteria = new CaseSearchCriteria();
334-
searchCriteria.setCaseReference("123");
335-
searchCriteria.setProviderCaseReference("456");
336-
searchCriteria.setStatus("caseStat");
337-
searchCriteria.setFeeEarnerId(678);
338-
searchCriteria.setOfficeId(345);
339-
searchCriteria.setClientSurname("clientSurname");
340-
return searchCriteria;
341-
}
342279

343280
}

0 commit comments

Comments
 (0)