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') file = SimpleUploadedFile(filename, b'test content')
files.append(('files', (file.name, file.read()))) files.append(('files', (file.name, file.read())))
documents.append(document) 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.assertTrue(package)
self.assertEqual(package['filingPackage']['documents'][0]['name'], 'form_0.pdf') self.assertEqual(package['filingPackage']['documents'][0]['name'], 'form_0.pdf')
@ -54,18 +54,18 @@ class EFilingPackagingTests(TransactionTestCase):
responses = { responses = {
"court_registry_for_filing": "Vancouver" "court_registry_for_filing": "Vancouver"
} }
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '6011') self.assertEqual(location, '6011')
def test_get_location_fail(self): def test_get_location_fail(self):
responses = { responses = {
"court_registry_for_filing": "Tokyo" "court_registry_for_filing": "Tokyo"
} }
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '0000') self.assertEqual(location, '0000')
responses = {} responses = {}
location = self.packaging.get_location(responses)
location = self.packaging._get_location(responses)
self.assertEqual(location, '0000') self.assertEqual(location, '0000')
def test_get_json_data_signing_location(self): 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(INITIAL_DOC_UPLOAD_RESPONSE)),
self._mock_response(text=json.dumps(GENERATE_URL_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.assertTrue(redirect)
self.assertEqual(redirect, GENERATE_URL_RESPONSE['efilingUrl']) 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(INITIAL_DOC_UPLOAD_RESPONSE), status=401),
self._mock_response(text=json.dumps(GENERATE_URL_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.assertFalse(redirect) 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(INITIAL_DOC_UPLOAD_RESPONSE)),
self._mock_response(text=json.dumps(GENERATE_URL_RESPONSE_ERROR), status=403) 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) 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): def __init__(self, initial_filing):
self.initial_filing = 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 = PACKAGE_FORMAT.copy()
package['filingPackage']['court']['location'] = location
package['filingPackage']['documents'] = documents 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: if file_number:
package['filingPackage']['court']['fileNumber'] = file_number package['filingPackage']['court']['fileNumber'] = file_number
# update return urls # update return urls
@ -284,7 +284,7 @@ class EFilingPackaging:
return post_files, documents return post_files, documents
def get_parties(self, responses):
def _get_parties(self, responses):
# generate the list of parties to send to eFiling Hub # generate the list of parties to send to eFiling Hub
parties = [] parties = []
@ -307,11 +307,11 @@ class EFilingPackaging:
return parties return parties
def get_location(self, responses):
def _get_location(self, responses):
location_name = responses.get('court_registry_for_filing', '') location_name = responses.get('court_registry_for_filing', '')
return list_of_registries.get(location_name, '0000') 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: if not self.initial_filing:
return responses.get('court_file_number', '') return responses.get('court_file_number', '')
else: else:


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

@ -132,7 +132,7 @@ class EFilingSubmission:
return str(uuid.UUID(guid)) return str(uuid.UUID(guid))
return 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. Does an initial upload of documents and gets the generated eFiling Hub url.
:param parties: :param parties:
@ -161,8 +161,7 @@ class EFilingSubmission:
headers = { headers = {
'Content-Type': 'application/json' '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" url = f"{self.api_base_url}/submission/{response['submissionId']}/generateUrl"
print('DEBUG: ' + url) print('DEBUG: ' + url)
data = json.dumps(package_data) 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) post_files, documents = packaging.get_files(request, responses, uploaded, generated)
redirect_url, msg = hub.upload( redirect_url, msg = hub.upload(
request, request,
responses,
post_files, post_files,
documents, 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 return msg, redirect_url


Loading…
Cancel
Save