From 648d3bd6c17f6be01c7f1d12299ee3cdfc8e2d76 Mon Sep 17 00:00:00 2001 From: Michael Olund Date: Tue, 27 Oct 2020 14:12:54 -0700 Subject: [PATCH] Split up submission tests and packaging tests --- .../apps/core/tests/test_efiling_packaging.py | 51 +++++++++++++++++++ ...ling_hub.py => test_efiling_submission.py} | 31 ----------- ...est_filing.py => test_filing_documents.py} | 0 edivorce/apps/core/views/efiling.py | 10 ++-- 4 files changed, 58 insertions(+), 34 deletions(-) create mode 100644 edivorce/apps/core/tests/test_efiling_packaging.py rename edivorce/apps/core/tests/{test_efiling_hub.py => test_efiling_submission.py} (86%) rename edivorce/apps/core/tests/{test_filing.py => test_filing_documents.py} (100%) diff --git a/edivorce/apps/core/tests/test_efiling_packaging.py b/edivorce/apps/core/tests/test_efiling_packaging.py new file mode 100644 index 00000000..4514df71 --- /dev/null +++ b/edivorce/apps/core/tests/test_efiling_packaging.py @@ -0,0 +1,51 @@ +import json +from unittest import mock + +from django.contrib.sessions.middleware import SessionMiddleware +from django.core.exceptions import PermissionDenied +from django.test import TransactionTestCase +from django.test.client import RequestFactory +from django.core.files.uploadedfile import SimpleUploadedFile + +from edivorce.apps.core.utils.efiling_submission import EFilingSubmission +from edivorce.apps.core.utils.efiling_packaging import EFilingPackaging, PACKAGE_PARTY_FORMAT, PACKAGE_DOCUMENT_FORMAT + + +class EFilingPackagingTests(TransactionTestCase): + + def setUp(self): + # Every test needs access to the request factory. + self.factory = RequestFactory() + + self.request = self.factory.get('/') + middleware = SessionMiddleware() + middleware.process_request(self.request) + self.request.session.save() + + self.packaging = EFilingPackaging(initial_filing=True) + + def test_format_package(self): + files = [] + documents = [] + for i in range(0, 2): + document = PACKAGE_DOCUMENT_FORMAT.copy() + filename = 'form_{}.pdf'.format(i) + document['name'] = filename + 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) + + self.assertTrue(package) + self.assertEqual(package['filingPackage']['documents'][0]['name'], 'form_0.pdf') + self.assertEqual(package['filingPackage']['documents'][1]['name'], 'form_1.pdf') + self.assertEqual(package['filingPackage']['parties'][0]['firstName'], 'Party 0') + self.assertEqual(package['filingPackage']['parties'][1]['firstName'], 'Party 1') diff --git a/edivorce/apps/core/tests/test_efiling_hub.py b/edivorce/apps/core/tests/test_efiling_submission.py similarity index 86% rename from edivorce/apps/core/tests/test_efiling_hub.py rename to edivorce/apps/core/tests/test_efiling_submission.py index 445557e3..70dd03fe 100644 --- a/edivorce/apps/core/tests/test_efiling_hub.py +++ b/edivorce/apps/core/tests/test_efiling_submission.py @@ -176,37 +176,6 @@ class EFilingSubmissionTests(TransactionTestCase): bceid = self.hub._get_bceid(self.request) self.assertFalse(bceid) - def test_format_package(self): - files = [] - documents = [] - for i in range(0, 2): - document = PACKAGE_DOCUMENT_FORMAT.copy() - filename = 'form_{}.pdf'.format(i) - document['name'] = filename - 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) - - self.assertTrue(package) - self.assertEqual(package['filingPackage']['documents'][0]['name'], 'form_0.pdf') - self.assertEqual(package['filingPackage']['documents'][1]['name'], 'form_1.pdf') - self.assertEqual(package['filingPackage']['parties'][0]['firstName'], 'Party 0') - self.assertEqual(package['filingPackage']['parties'][1]['firstName'], 'Party 1') - - def test_upload_anonymous_user(self): - with self.settings(DEPLOYMENT_TYPE='prod'): - with self.assertRaises(PermissionDenied): - redirect, msg = self.hub.upload(self.request, None) - @mock.patch('edivorce.apps.core.utils.efiling_submission.EFilingSubmission._get_api') def test_upload_success(self, mock_get_api): self.request.session['bcgov_userguid'] = '70fc9ce1-0cd6-4170-b842-bbabb88452a9' diff --git a/edivorce/apps/core/tests/test_filing.py b/edivorce/apps/core/tests/test_filing_documents.py similarity index 100% rename from edivorce/apps/core/tests/test_filing.py rename to edivorce/apps/core/tests/test_filing_documents.py diff --git a/edivorce/apps/core/views/efiling.py b/edivorce/apps/core/views/efiling.py index 1b81cb60..65f0f5fb 100644 --- a/edivorce/apps/core/views/efiling.py +++ b/edivorce/apps/core/views/efiling.py @@ -99,9 +99,13 @@ def _package_and_submit(request, uploaded, generated, responses, initial): hub = EFilingSubmission(initial_filing=initial) packaging = EFilingPackaging(initial_filing=initial) post_files, documents = packaging.get_files(request, responses, uploaded, generated) - location = packaging.get_location(responses) - parties = packaging.get_parties(responses) - redirect_url, msg = hub.upload(request, post_files, documents, parties, location) + redirect_url, msg = hub.upload( + request, + post_files, + documents, + parties=packaging.get_parties(responses), + location=packaging.get_location(responses) + ) return msg, redirect_url