Skip to content

Commit

Permalink
Update Filling Status Façade (#2598)
Browse files Browse the repository at this point in the history
* Update wsdl

* Update test

* Exclude tests from quality scan

* Add accountID implementation
  • Loading branch information
TayGov authored Nov 29, 2022
1 parent a0e8c5f commit 781e949
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 51 deletions.
3 changes: 1 addition & 2 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,10 @@ exclude_patterns:
- "src/backend/efiling-api/src/main/java/ca/bc/gov/open/jag/efilingapi/submission/mappers/SubmissionMapper.java"
- "src/backend/efiling-api/src/main/java/ca/bc/gov/open/jag/efilingapi/submission/service/SubmissionService.java"
- "src/backend/efiling-backend-demo/src/main/java/ca/bc/gov/open/jag/efilingbackenddemo/EfilingBackendDemoApplication.java"
- "src/backend/efiling-worker/src/main/java/ca/bc/gov/open/jag/efilingworker/EfilingWorkerApplication.java"
- "src/backend/efiling-worker/src/main/java/ca/bc/gov/open/jag/efilingworker/service/DocumentStoreService.java"
- "src/backend/libs/efiling-lookup-client/src/main/java/ca/bc/gov/open/jag/efilinglookupclient/EfilingLookupService.java"
- "src/backend/libs/efiling-status-client/src/main/java/ca/bc/gov/open/jag/efilingstatusclient/EfilingStatusService.java"
- "src/backend/libs/efiling-submission-client/src/main/java/ca/bc/gov/open/jag/efilingsubmissionclient/EfilingSubmissionService.java"
- "src/backend/**/test/**"

# Frontend Pattern Excludes
- "src/frontend/*/src/*.js"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ private Optional<FilingPackageRequest> buildFilingPackageRequest(String universa

if (accountDetails.getClientId() == null) return Optional.empty();

return Optional.of(new FilingPackageRequest(accountDetails.getClientId(), packageNumber, parentApplication));
return Optional.of(new FilingPackageRequest(accountDetails.getClientId(), accountDetails.getAccountId(), packageNumber, parentApplication));

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public class DeleteSubmissionDocumentRequest extends FilingPackageRequest {
private String documentId;

public DeleteSubmissionDocumentRequest(BigDecimal clientId, BigDecimal packageNo, String parentApplication, String documentId) {
super(clientId, packageNo, parentApplication);
super(clientId, null, packageNo, parentApplication);
this.documentId = documentId;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
public class FilingPackageRequest {

private BigDecimal clientId;
private BigDecimal accountId;
private BigDecimal packageNo;
private String parentApplication;

public FilingPackageRequest(BigDecimal clientId, BigDecimal packageNo, String parentApplication) {
public FilingPackageRequest(BigDecimal clientId, BigDecimal accountId, BigDecimal packageNo, String parentApplication) {
this.clientId = clientId;
this.accountId = accountId;
this.packageNo = packageNo;
this.parentApplication = parentApplication;
}
Expand All @@ -23,4 +25,9 @@ public BigDecimal getPackageNo() {
}

public String getParentApplication() { return parentApplication; }

public BigDecimal getAccountId() {
return accountId;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ public Optional<ReviewFilingPackage> findStatusByPackage(FilingPackageRequest fi
try {

logger.info("Calling soap findStatusBySearchCriteria by client id and package service ");

//Is account ID required? It is the variable after client ID
FilingStatus filingStatus = filingStatusFacadeBean
.findStatusBySearchCriteria(null, null, null, null, null, null, filingPackageRequest.getPackageNo(), filingPackageRequest.getClientId(), null, null, null, null, BigDecimal.ONE, null, null);
.findStatusBySearchCriteria(null, null, null, null, null, null, filingPackageRequest.getPackageNo(), filingPackageRequest.getClientId(), filingPackageRequest.getAccountId(), null, null, null, null, BigDecimal.ONE, null, null);

if (filingStatus.getFilePackages() == null || filingStatus.getFilePackages().isEmpty()) return Optional.empty();

Expand Down Expand Up @@ -106,9 +106,9 @@ public List<ReviewFilingPackage> findStatusByClient(FilingPackageRequest filingP

DateTime endDate = DateTime.now();
DateTime startDate = endDate.minusYears(1);

//Is account ID required? It is the variable after client ID
FilingStatus filingStatus = filingStatusFacadeBean
.findStatusBySearchCriteria(null, null, null, DateUtils.getXmlDate(startDate), DateUtils.getXmlDate(endDate), null , null, filingPackageRequest.getClientId(), null, null, null, null, BigDecimal.valueOf(100), null, filingPackageRequest.getParentApplication());
.findStatusBySearchCriteria(null, null, null, DateUtils.getXmlDate(startDate), DateUtils.getXmlDate(endDate), null , null, filingPackageRequest.getClientId(), filingPackageRequest.getAccountId(), null, null, null, null, BigDecimal.valueOf(100), null, filingPackageRequest.getParentApplication());

if (filingStatus.getFilePackages().isEmpty()) return new ArrayList<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg1" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg2" type="xs:string"/>
<xs:element minOccurs="0" name="arg2" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg3" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="hasThePackagePrivilegeResponse">
Expand Down Expand Up @@ -233,7 +234,8 @@
<xs:complexType name="findStatusByClientId">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg1" type="xs:dateTime"/>
<xs:element minOccurs="0" name="arg1" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg2" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="findStatusByClientIdResponse">
Expand Down Expand Up @@ -485,12 +487,13 @@
<xs:element minOccurs="0" name="arg6" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg7" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg8" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg9" type="xs:string"/>
<xs:element minOccurs="0" name="arg9" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg10" type="xs:string"/>
<xs:element minOccurs="0" name="arg11" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg11" type="xs:string"/>
<xs:element minOccurs="0" name="arg12" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg13" type="xs:dateTime"/>
<xs:element minOccurs="0" name="arg14" type="xs:string"/>
<xs:element minOccurs="0" name="arg13" type="xs:decimal"/>
<xs:element minOccurs="0" name="arg14" type="xs:dateTime"/>
<xs:element minOccurs="0" name="arg15" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="findStatusBySearchCriteriaResponse">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ public class FindPackageByIdTest {
private EfilingLookupService efilingLookupService;

private final BigDecimal SUCCESS_CLIENT = BigDecimal.ONE;

private final BigDecimal SUCCESS_PACKAGE = BigDecimal.ONE;

private final BigDecimal SUCCESS_REJECTED_CLIENT = BigDecimal.valueOf(11);
Expand All @@ -75,6 +76,8 @@ public class FindPackageByIdTest {
private final BigDecimal NOTFOUND_CLIENT = BigDecimal.ZERO;
private final BigDecimal NOTFOUND_PACKAGE = BigDecimal.ZERO;

private final BigDecimal ACCOUNT = BigDecimal.ONE;

private static CsoReviewServiceImpl sut;


Expand Down Expand Up @@ -104,15 +107,15 @@ public void beforeAll() throws NestedEjbException_Exception, DatatypeConfigurati
rejectedFilePackage.getFiles().add(documentComplete);
filingCompleteStatus.getFilePackages().add(completeFilePackage);

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_PACKAGE), ArgumentMatchers.eq(SUCCESS_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingStatus);
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_PACKAGE), ArgumentMatchers.eq(SUCCESS_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingStatus);

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_REJECTED_PACKAGE), ArgumentMatchers.eq(SUCCESS_REJECTED_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingRejectedStatus);
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_REJECTED_PACKAGE), ArgumentMatchers.eq(SUCCESS_REJECTED_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingRejectedStatus);

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_COMPLETE_PACKAGE), ArgumentMatchers.eq(SUCCESS_COMPLETE_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingCompleteStatus);
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_COMPLETE_PACKAGE), ArgumentMatchers.eq(SUCCESS_COMPLETE_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingCompleteStatus);

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(NOTFOUND_PACKAGE), ArgumentMatchers.eq(NOTFOUND_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(createFilingStatus());
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(NOTFOUND_PACKAGE), ArgumentMatchers.eq(NOTFOUND_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(createFilingStatus());

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(EXCEPTION_PACKAGE), ArgumentMatchers.eq(EXCEPTION_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenThrow(new NestedEjbException_Exception());
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(EXCEPTION_PACKAGE), ArgumentMatchers.eq(EXCEPTION_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenThrow(new NestedEjbException_Exception());

Mockito.when(efilingLookupService.getCountries()).thenReturn(createCountryList());

Expand All @@ -126,7 +129,7 @@ public void beforeAll() throws NestedEjbException_Exception, DatatypeConfigurati
@Test
public void testWithFoundResult() throws DatatypeConfigurationException {

Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_CLIENT, SUCCESS_PACKAGE, null));
Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_CLIENT, ACCOUNT, SUCCESS_PACKAGE, null));

Assertions.assertEquals(COURT_FILE_NO, result.get().getCourt().getFileNumber());
Assertions.assertEquals(COURT_CLASS_CD, result.get().getCourt().getCourtClass());
Expand All @@ -153,7 +156,7 @@ public void testWithFoundResult() throws DatatypeConfigurationException {
@Test
public void testWithFoundResultRejected() throws DatatypeConfigurationException {

Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_REJECTED_CLIENT, SUCCESS_REJECTED_PACKAGE, null));
Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_REJECTED_CLIENT, ACCOUNT, SUCCESS_REJECTED_PACKAGE, null));

Assertions.assertEquals(COURT_FILE_NO, result.get().getCourt().getFileNumber());
Assertions.assertEquals(COURT_CLASS_CD, result.get().getCourt().getCourtClass());
Expand All @@ -180,7 +183,7 @@ public void testWithFoundResultRejected() throws DatatypeConfigurationException
@Test
public void testWithFoundResultComplete() throws DatatypeConfigurationException {

Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_COMPLETE_CLIENT, SUCCESS_COMPLETE_PACKAGE, null));
Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(SUCCESS_COMPLETE_CLIENT, ACCOUNT, SUCCESS_COMPLETE_PACKAGE, null));

Assertions.assertEquals(COURT_FILE_NO, result.get().getCourt().getFileNumber());
Assertions.assertEquals(COURT_CLASS_CD, result.get().getCourt().getCourtClass());
Expand All @@ -207,15 +210,15 @@ public void testWithFoundResultComplete() throws DatatypeConfigurationException
@Test
public void testWithNoResult() {

Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(NOTFOUND_CLIENT, NOTFOUND_PACKAGE, null));
Optional<ReviewFilingPackage> result = sut.findStatusByPackage(new FilingPackageRequest(NOTFOUND_CLIENT, ACCOUNT, NOTFOUND_PACKAGE, null));
Assertions.assertFalse(result.isPresent());

}

@DisplayName("Exception: filing status facade throws an exception")
@Test
public void testWithException() {
Assertions.assertThrows(EfilingStatusServiceException.class, () -> sut.findStatusByPackage(new FilingPackageRequest(EXCEPTION_CLIENT, EXCEPTION_PACKAGE, null)));
Assertions.assertThrows(EfilingStatusServiceException.class, () -> sut.findStatusByPackage(new FilingPackageRequest(EXCEPTION_CLIENT, ACCOUNT, EXCEPTION_PACKAGE, null)));
}

private FilingStatus createFilingStatus() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,19 @@
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@DisplayName("Review Service Test Suite")
public class FindPackagesByClientIdTest {
public static final String CLIENT_FILE_NO = "CLIENTFILENO";
public static final String COURT_CLASS_CD = "CLASSCD";
public static final String COURT_FILE_NO = "FILENO";
public static final String COURT_LEVEL_CD = "LEVELCD";
public static final String COURT_LOCATION_CD = "LOCATIONCD";
public static final String COURT_LOCATION_NAME = "LOCATIONAME";
public static final String FILING_COMMENTS_TXT = "COMMENTSTXT";
public static final String FIRST_NAME = "FIRSTNAME";
public static final String LAST_NAME = "LASTNAME";
public static final String PACKAGE_NO = "PACKAGENO";
public static final DateTime SUBMITED_DATE = new DateTime(2020, 12, 12, 1, 1);
private static final String CLIENT_FILE_NO = "CLIENTFILENO";
private static final String COURT_CLASS_CD = "CLASSCD";
private static final String COURT_FILE_NO = "FILENO";
private static final String COURT_LEVEL_CD = "LEVELCD";
private static final String COURT_LOCATION_CD = "LOCATIONCD";
private static final String COURT_LOCATION_NAME = "LOCATIONAME";
private static final String FILING_COMMENTS_TXT = "COMMENTSTXT";
private static final String FIRST_NAME = "FIRSTNAME";
private static final String LAST_NAME = "LASTNAME";
private static final String PACKAGE_NO = "PACKAGENO";
private static final DateTime SUBMITED_DATE = new DateTime(2020, 12, 12, 1, 1);
private static final String PARENT_APPLICATION = "PARENTAPP";
private static final BigDecimal ACCOUNT = BigDecimal.ONE;

@Mock
FilingStatusFacadeBean filingStatusFacadeBean;
Expand All @@ -70,11 +71,11 @@ public void beforeAll() throws NestedEjbException_Exception, DatatypeConfigurati
FilingStatus filingStatus = createFilingStatus();
filingStatus.getFilePackages().add(createFilePackage());

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingStatus);
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(SUCCESS_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(filingStatus);

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(NOTFOUND_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenReturn(createFilingStatus());
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(NOTFOUND_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenReturn(createFilingStatus());

Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(EXCEPTION_CLIENT), any(), any(), any(), any(), any(), any(), any())).thenThrow(new NestedEjbException_Exception());
Mockito.when(filingStatusFacadeBean.findStatusBySearchCriteria(any(), any(), any(), any(), any(), any(), any(), ArgumentMatchers.eq(EXCEPTION_CLIENT), any(), any(), any(), any(), any(), any(), any(), any())).thenThrow(new NestedEjbException_Exception());

CsoProperties csoProperties = new CsoProperties();
csoProperties.setCsoBasePath("http://locahost:8080");
Expand All @@ -84,7 +85,7 @@ public void beforeAll() throws NestedEjbException_Exception, DatatypeConfigurati
@DisplayName("OK: packages found")
@Test
public void testWithFoundResult() throws DatatypeConfigurationException {
List<ReviewFilingPackage> result = sut.findStatusByClient(new FilingPackageRequest(SUCCESS_CLIENT, null, PARENT_APPLICATION));
List<ReviewFilingPackage> result = sut.findStatusByClient(new FilingPackageRequest(SUCCESS_CLIENT, ACCOUNT, null, PARENT_APPLICATION));

Assertions.assertEquals(1, result.size());
Assertions.assertEquals(COURT_FILE_NO, result.get(0).getCourt().getFileNumber());
Expand All @@ -99,7 +100,7 @@ public void testWithFoundResult() throws DatatypeConfigurationException {
@DisplayName("Ok: no packages found")
@Test
public void testWithNoResult() {
List<ReviewFilingPackage> result = sut.findStatusByClient(new FilingPackageRequest(NOTFOUND_CLIENT, null, PARENT_APPLICATION));
List<ReviewFilingPackage> result = sut.findStatusByClient(new FilingPackageRequest(NOTFOUND_CLIENT, ACCOUNT, null, PARENT_APPLICATION));

Assertions.assertTrue(result.isEmpty());

Expand All @@ -108,7 +109,7 @@ public void testWithNoResult() {
@DisplayName("Exception: filing status facade throws an exception")
@Test
public void testWithException() {
Assertions.assertThrows(EfilingStatusServiceException.class, () -> sut.findStatusByClient(new FilingPackageRequest(EXCEPTION_CLIENT, null, PARENT_APPLICATION)));
Assertions.assertThrows(EfilingStatusServiceException.class, () -> sut.findStatusByClient(new FilingPackageRequest(EXCEPTION_CLIENT, ACCOUNT, null, PARENT_APPLICATION)));
}

private FilingStatus createFilingStatus() {
Expand Down
Loading

0 comments on commit 781e949

Please sign in to comment.