def test_amendment_collateral_id_invalid(session): """Assert that the amendment statement json with an invalid delete general collateral ID validates correctly.""" registration = Registration.find_by_id(200000008) assert registration json_data = registration.json del json_data['createDateTime'] del json_data['amendmentRegistrationNumber'] del json_data['addGeneralCollateral'] del json_data['addVehicleCollateral'] del json_data['deleteVehicleCollateral'] del json_data['addDebtors'] del json_data['addSecuredParties'] del json_data['deleteDebtors'] del json_data['deleteSecuredParties'] json_data['deleteGeneralCollateral'][0]['collateralId'] = 300000000 financing_statement = FinancingStatement.find_by_financing_id(200000000) with pytest.raises(BusinessException) as bad_request_err: Registration.create_from_json(json_data, 'AMENDMENT', financing_statement, 'TEST0001', 'PS12345') # check assert bad_request_err assert bad_request_err.value.status_code == HTTPStatus.BAD_REQUEST print(bad_request_err.value.error)
def test_save_renewal_rl(session): """Assert that creating a renewal statement on a RL financing statement contains all expected elements.""" json_data = copy.deepcopy(RENEWAL_STATEMENT) del json_data['createDateTime'] del json_data['renewalRegistrationNumber'] del json_data['payment'] del json_data['expiryDate'] financing_statement = FinancingStatement.find_by_financing_id(200000001) assert financing_statement registration = Registration.create_from_json(json_data, 'RENEWAL', financing_statement, 'TEST0002', 'PS12345') # print(registration.financing_id) # print(registration.json) registration.save() assert registration.financing_id == 200000001 assert registration.registration_id assert registration.registration_num assert registration.registration_type_cd assert registration.registration_ts assert registration.account_id assert registration.client_reference_id result = registration.json assert result assert result['baseRegistrationNumber'] assert result['renewalRegistrationNumber'] assert result['createDateTime'] assert result['registeringParty'] assert result['courtOrderInformation']
def test_save_discharge(session): """Assert that creating a discharge statement contains all expected elements.""" json_data = copy.deepcopy(DISCHARGE_STATEMENT) del json_data['createDateTime'] del json_data['dischargeRegistrationNumber'] del json_data['payment'] financing_statement = FinancingStatement.find_by_financing_id(200000003) assert financing_statement registration = Registration.create_from_json(json_data, 'DISCHARGE', financing_statement, 'TEST0003', 'PS12345') print(str(registration.registration_id)) print(registration.document_number) print(registration.registration_num) # print(registration.json) registration.save() assert registration.financing_id == 200000003 assert registration.registration_id assert registration.registration_num assert registration.registration_type_cd assert registration.registration_ts assert registration.account_id assert registration.client_reference_id result = registration.json assert result assert result['baseRegistrationNumber'] assert result['dischargeRegistrationNumber'] assert result['createDateTime'] assert result['registeringParty']
def test_save_amendment(session): """Assert that creating an amendment statement on a non-RL financing statement contains all expected elements.""" json_data = copy.deepcopy(AMENDMENT_STATEMENT) del json_data['createDateTime'] del json_data['amendmentRegistrationNumber'] del json_data['payment'] del json_data['documentId'] json_data['changeType'] = 'CO' financing_statement = FinancingStatement.find_by_financing_id(200000000) assert financing_statement for party in financing_statement.parties: if party.registration_id != 200000000 and not party.registration_id_end: if party.party_type_cd == 'DB' or party.party_type_cd == 'DI': json_data['deleteDebtors'][0]['partyId'] = party.party_id elif party.party_type_cd == 'SP': json_data['deleteSecuredParties'][0][ 'partyId'] = party.party_id for gc in financing_statement.general_collateral: if gc.registration_id != 200000000 and not gc.registration_id_end: json_data['deleteGeneralCollateral'][0][ 'collateralId'] = gc.collateral_id for vc in financing_statement.vehicle_collateral: if vc.registration_id != 200000000 and not vc.registration_id_end: json_data['deleteVehicleCollateral'][0][ 'vehicleId'] = vc.vehicle_id registration = Registration.create_from_json(json_data, 'AMENDMENT', financing_statement, 'TEST0001', 'PS12345') # print(registration.financing_id) # print(registration.json) registration.save() result = registration.json assert result assert result['baseRegistrationNumber'] assert result['amendmentRegistrationNumber'] assert result['createDateTime'] assert result['registeringParty'] assert result['courtOrderInformation'] assert result['addDebtors'] assert result['deleteDebtors'] assert result['addSecuredParties'] assert result['deleteSecuredParties'] assert result['addGeneralCollateral'] assert result['deleteGeneralCollateral'] assert result['addVehicleCollateral'] assert result['deleteVehicleCollateral'] assert 'documentId' not in result
def test_save_amendment_from_draft(session): """Assert that creating an amendment statement from a draft on a non-RL financing statement. Verify it contains all expected elements. """ json_data = copy.deepcopy(AMENDMENT_STATEMENT) del json_data['createDateTime'] del json_data['amendmentRegistrationNumber'] del json_data['payment'] financing_statement = FinancingStatement.find_by_financing_id(200000000) assert financing_statement for party in financing_statement.parties: if party.registration_id != 200000000 and not party.registration_id_end: if party.party_type_cd == 'DB' or party.party_type_cd == 'DI': json_data['deleteDebtors'][0]['partyId'] = party.party_id elif party.party_type_cd == 'SP': json_data['deleteSecuredParties'][0][ 'partyId'] = party.party_id for gc in financing_statement.general_collateral: if gc.registration_id != 200000000 and not gc.registration_id_end: json_data['deleteGeneralCollateral'][0][ 'collateralId'] = gc.collateral_id for vc in financing_statement.vehicle_collateral: if vc.registration_id != 200000000 and not vc.registration_id_end: json_data['deleteVehicleCollateral'][0][ 'vehicleId'] = vc.vehicle_id # Now create a draft amendment draft_json = copy.deepcopy(DRAFT_AMENDMENT_STATEMENT) draft = Draft.create_from_json(draft_json, 'PS12345') draft.save() assert draft.document_number json_data['documentId'] = draft.document_number registration = Registration.create_from_json(json_data, 'AMENDMENT', financing_statement, 'TEST0001', 'PS12345') registration.save() assert registration.draft result = registration.json assert result
def test_find_by_financing_id(session): """Assert that find financing statement by financing statement ID contains all expected elements.""" result = FinancingStatement.find_by_financing_id(200000000) assert result assert result.registration_num if result: result.mark_update_json = True json_data = result.json # print(json_data) assert json_data['type'] == 'SA' assert json_data['baseRegistrationNumber'] == 'TEST0001' assert json_data['registeringParty'] assert json_data['createDateTime'] assert json_data['debtors'][0] assert json_data['securedParties'][0] assert json_data['generalCollateral'][0] assert json_data['vehicleCollateral'][0] assert json_data['expiryDate'] assert json_data['lifeYears'] assert json_data['trustIndenture']
def test_renewal_client_code_invalid(session): """Assert that the renewal statement json with an invalid RP client code validates correctly.""" json_data = copy.deepcopy(RENEWAL_STATEMENT) del json_data['createDateTime'] del json_data['renewalRegistrationNumber'] del json_data['payment'] del json_data['courtOrderInformation'] del json_data['registeringParty'] party = {'code': '900000000'} json_data['registeringParty'] = party financing_statement = FinancingStatement.find_by_financing_id(200000004) assert financing_statement with pytest.raises(BusinessException) as bad_request_err: Registration.create_from_json(json_data, 'RS', financing_statement, 'TEST0001', 'PS12345') # check assert bad_request_err assert bad_request_err.value.status_code == HTTPStatus.BAD_REQUEST print(bad_request_err.value.error)