| @ -0,0 +1,152 @@ | |||
| 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') | |||
| def test_get_location_success(self): | |||
| responses = { | |||
| "court_registry_for_filing": "Vancouver" | |||
| } | |||
| 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) | |||
| self.assertEqual(location, '0000') | |||
| responses = {} | |||
| location = self.packaging.get_location(responses) | |||
| self.assertEqual(location, '0000') | |||
| def test_get_json_data_signing_location(self): | |||
| responses = { | |||
| 'how_to_sign': 'Together', | |||
| 'signing_location': 'Virtual' | |||
| } | |||
| json = self.packaging._get_json_data(responses) | |||
| self.assertEqual(json['parties'][0]["signingVirtually"], True) | |||
| self.assertEqual(json['parties'][1]["signingVirtually"], True) | |||
| responses = { | |||
| 'how_to_sign': 'Separately', | |||
| 'signing_location_you': 'Virtual', | |||
| 'signing_location_spouse': 'In-person' | |||
| } | |||
| json = self.packaging._get_json_data(responses) | |||
| self.assertEqual(json['parties'][0]["signingVirtually"], True) | |||
| self.assertEqual(json['parties'][1]["signingVirtually"], False) | |||
| def test_get_json_data_parties(self): | |||
| responses = { | |||
| 'last_name_you': 'Smith', | |||
| 'given_name_1_you': 'John', | |||
| 'given_name_2_you': 'Jonas', | |||
| 'given_name_3_you': '', | |||
| 'birthday_you': 'Jun 1, 1970', | |||
| 'last_name_before_married_you': 'Baker', | |||
| 'last_name_born_you': '', | |||
| 'email_you': 'you@gmail.com', | |||
| 'address_to_send_official_document_email_you': 'you2@gmail.com', | |||
| 'last_name_spouse': 'Jones', | |||
| 'given_name_1_spouse': 'Jane', | |||
| 'given_name_2_spouse': 'Jennifer', | |||
| 'given_name_3_spouse': 'Janet', | |||
| 'birthday_spouse': 'Jan 15, 1980', | |||
| 'last_name_before_married_spouse': 'Wilson', | |||
| 'last_name_born_spouse': 'Ross', | |||
| 'email_spouse': '', | |||
| 'address_to_send_official_document_email_spouse': 'spouse2@gmail.com', | |||
| } | |||
| json = self.packaging._get_json_data(responses) | |||
| self.assertEqual(json['parties'][0]['surname'], 'Smith') | |||
| self.assertEqual(json['parties'][0]['given1'], 'John') | |||
| self.assertEqual(json['parties'][0]['given2'], 'Jonas') | |||
| self.assertEqual(json['parties'][0]['given3'], '') | |||
| self.assertEqual(json['parties'][0]['birthDate'], '1970-06-01') | |||
| self.assertEqual(json['parties'][0]['surnameBeforeMarriage'], 'Baker') | |||
| self.assertEqual(json['parties'][0]['surnameAtBirth'], '') | |||
| self.assertEqual(json['parties'][0]['email'], 'you@gmail.com') | |||
| self.assertEqual(json['parties'][1]['surname'], 'Jones') | |||
| self.assertEqual(json['parties'][1]['given1'], 'Jane') | |||
| self.assertEqual(json['parties'][1]['given2'], 'Jennifer') | |||
| self.assertEqual(json['parties'][1]['given3'], 'Janet') | |||
| self.assertEqual(json['parties'][1]['birthDate'], '1980-01-15') | |||
| self.assertEqual(json['parties'][1]['surnameBeforeMarriage'], 'Wilson') | |||
| self.assertEqual(json['parties'][1]['surnameAtBirth'], 'Ross') | |||
| self.assertEqual(json['parties'][1]['email'], 'spouse2@gmail.com') | |||
| def test_get_json_data_aliases(self): | |||
| responses = { | |||
| 'any_other_name_you': 'YES', | |||
| 'other_name_you': '[["also known as","Smith","Mike","Joe","Skippy"],["also known as","D","A","B","C"]]', | |||
| 'any_other_name_spouse': 'NO' | |||
| } | |||
| json = self.packaging._get_json_data(responses) | |||
| self.assertEqual(json['parties'][0]["aliases"][0]["surname"], "Smith") | |||
| self.assertEqual(json['parties'][0]["aliases"][0]["given1"], "Mike") | |||
| self.assertEqual(json['parties'][0]["aliases"][0]["given2"], "Joe") | |||
| self.assertEqual(json['parties'][0]["aliases"][0]["given3"], "Skippy") | |||
| self.assertEqual(json['parties'][0]["aliases"][1]["surname"], "D") | |||
| self.assertEqual(len(json['parties'][1]["aliases"]), 0) | |||