Browse Source

Refactored efling submission to reduce the size of the upload() method signature

pull/172/head
Michael Olund 5 years ago
parent
commit
d9ac537cbb
5 changed files with 25 additions and 27 deletions
  1. +11
    -11
      edivorce/apps/core/tests/test_efiling_packaging.py
  2. +3
    -3
      edivorce/apps/core/tests/test_efiling_submission.py
  3. +7
    -7
      edivorce/apps/core/utils/efiling_packaging.py
  4. +2
    -3
      edivorce/apps/core/utils/efiling_submission.py
  5. +2
    -3
      edivorce/apps/core/views/efiling.py

+ 11
- 11
edivorce/apps/core/tests/test_efiling_packaging.py View File

@ -34,15 +34,15 @@ class EFilingPackagingTests(TransactionTestCase):
file = SimpleUploadedFile(filename, b'test content')
files.append(('files', (file.name, file.read())))
documents.append(document)
parties = []
for i in range(0, 2):
party = PACKAGE_PARTY_FORMAT.copy()
party['firstName'] = 'Party {}'.format(i)
party['lastName'] = 'Test'
parties.append(party)
location = '6011'
package = self.packaging.format_package(self.request, files, documents, parties, location, '')
responses = {
'last_name_you': 'Test',
'given_name_1_you': 'Party 0',
'last_name_spouse': 'Test',
'given_name_1_spouse': 'Party 1'
}
package = self.packaging.format_package(self.request, responses, files, documents)
self.assertTrue(package)
self.assertEqual(package['filingPackage']['documents'][0]['name'], 'form_0.pdf')
@ -54,18 +54,18 @@ class EFilingPackagingTests(TransactionTestCase):
responses = {
"court_registry_for_filing": "Vancouver"
}
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '6011')
def test_get_location_fail(self):
responses = {
"court_registry_for_filing": "Tokyo"
}
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '0000')
responses = {}
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '0000')
def test_get_json_data_signing_location(self):


+ 3
- 3
edivorce/apps/core/tests/test_efiling_submission.py View File

@ -184,7 +184,7 @@ class EFilingSubmissionTests(TransactionTestCase):
self._mock_response(text=json.dumps(INITIAL_DOC_UPLOAD_RESPONSE)),
self._mock_response(text=json.dumps(GENERATE_URL_RESPONSE))
]
redirect, msg = self.hub.upload(self.request, {})
redirect, msg = self.hub.upload(self.request, {}, {})
self.assertTrue(redirect)
self.assertEqual(redirect, GENERATE_URL_RESPONSE['efilingUrl'])
@ -198,7 +198,7 @@ class EFilingSubmissionTests(TransactionTestCase):
self._mock_response(text=json.dumps(INITIAL_DOC_UPLOAD_RESPONSE), status=401),
self._mock_response(text=json.dumps(GENERATE_URL_RESPONSE))
]
redirect, msg = self.hub.upload(self.request, {})
redirect, msg = self.hub.upload(self.request, {}, {})
self.assertFalse(redirect)
@ -210,6 +210,6 @@ class EFilingSubmissionTests(TransactionTestCase):
self._mock_response(text=json.dumps(INITIAL_DOC_UPLOAD_RESPONSE)),
self._mock_response(text=json.dumps(GENERATE_URL_RESPONSE_ERROR), status=403)
]
redirect, msg = self.hub.upload(self.request, {})
redirect, msg = self.hub.upload(self.request, {}, {})
self.assertFalse(redirect)

+ 7
- 7
edivorce/apps/core/utils/efiling_packaging.py View File

@ -105,12 +105,12 @@ class EFilingPackaging:
def __init__(self, initial_filing):
self.initial_filing = initial_filing
def format_package(self, request, files, documents, parties, location, file_number):
def format_package(self, request, responses, files, documents):
package = PACKAGE_FORMAT.copy()
package['filingPackage']['court']['location'] = location
package['filingPackage']['documents'] = documents
if parties:
package['filingPackage']['parties'] = parties
package['filingPackage']['court']['location'] = self._get_location(responses)
package['filingPackage']['parties'] = self._get_parties(responses)
file_number = self._get_file_number(responses)
if file_number:
package['filingPackage']['court']['fileNumber'] = file_number
# update return urls
@ -284,7 +284,7 @@ class EFilingPackaging:
return post_files, documents
def get_parties(self, responses):
def _get_parties(self, responses):
# generate the list of parties to send to eFiling Hub
parties = []
@ -307,11 +307,11 @@ class EFilingPackaging:
return parties
def get_location(self, responses):
def _get_location(self, responses):
location_name = responses.get('court_registry_for_filing', '')
return list_of_registries.get(location_name, '0000')
def get_file_number(self, responses):
def _get_file_number(self, responses):
if not self.initial_filing:
return responses.get('court_file_number', '')
else:


+ 2
- 3
edivorce/apps/core/utils/efiling_submission.py View File

@ -132,7 +132,7 @@ class EFilingSubmission:
return str(uuid.UUID(guid))
return guid
def upload(self, request, files, documents=None, parties=None, location=None, file_number=None):
def upload(self, request, responses, files, documents=None, parties=None):
"""
Does an initial upload of documents and gets the generated eFiling Hub url.
:param parties:
@ -161,8 +161,7 @@ class EFilingSubmission:
headers = {
'Content-Type': 'application/json'
}
package_data = self.packaging.format_package(
request, files, documents, parties, location, file_number)
package_data = self.packaging.format_package(request, responses, files, documents)
url = f"{self.api_base_url}/submission/{response['submissionId']}/generateUrl"
print('DEBUG: ' + url)
data = json.dumps(package_data)


+ 2
- 3
edivorce/apps/core/views/efiling.py View File

@ -102,11 +102,10 @@ def _package_and_submit(request, uploaded, generated, responses, initial):
post_files, documents = packaging.get_files(request, responses, uploaded, generated)
redirect_url, msg = hub.upload(
request,
responses,
post_files,
documents,
parties=packaging.get_parties(responses),
location=packaging.get_location(responses),
file_number=packaging.get_file_number(responses)
parties=packaging.get_parties(responses)
)
return msg, redirect_url


Loading…
Cancel
Save