Пример #1
0
def test_find_affiliated_entities_by_org_id_no_org(session, auth_mock):  # pylint:disable=unused-argument
    """Assert that an Affiliation can not be find without org id or org id not exists."""
    with pytest.raises(BusinessException) as exception:
        AffiliationService.find_visible_affiliations_by_org_id(None)
    assert exception.value.code == Error.DATA_NOT_FOUND.name

    with pytest.raises(BusinessException) as exception:
        AffiliationService.find_visible_affiliations_by_org_id(999999)
    assert exception.value.code == Error.DATA_NOT_FOUND.name
Пример #2
0
def test_find_affiliations_for_new_business(session, auth_mock, nr_mock,
                                            monkeypatch):  # pylint:disable=unused-argument
    """Assert that an Affiliation can be created."""
    # Create 2 entities - 1 with type NR and another one TMP
    # Affiliate to an org
    # Get should return only 1 - TMP
    # Then delete one affiliation - TMP
    # Get should return only 1 - NR
    patch_token_info(TestJwtClaims.public_account_holder_user, monkeypatch)

    entity_service1 = factory_entity_service(
        entity_info=TestEntityInfo.name_request)
    entity_dictionary1 = entity_service1.as_dict()
    business_identifier1 = entity_dictionary1['business_identifier']
    name1 = entity_dictionary1['name']

    entity_service2 = factory_entity_service(
        entity_info=TestEntityInfo.tenp_business)
    entity_dictionary2 = entity_service2.as_dict()
    business_identifier2 = entity_dictionary2['business_identifier']

    org_service = factory_org_service()
    org_dictionary = org_service.as_dict()
    org_id = org_dictionary['id']

    # create NR affiliation
    AffiliationService.create_new_business_affiliation(
        org_id, business_identifier=business_identifier1, phone='1112223333')
    # create second row in affiliation table
    AffiliationService.create_affiliation(org_id, business_identifier2)

    affiliated_entities = AffiliationService.find_visible_affiliations_by_org_id(
        org_id)

    assert affiliated_entities
    assert len(affiliated_entities) == 1
    assert affiliated_entities[0][
        'business_identifier'] == business_identifier2
    assert affiliated_entities[0]['nr_number'] == business_identifier1
    assert affiliated_entities[0]['name'] == name1

    AffiliationService.delete_affiliation(
        org_id=org_id,
        business_identifier=business_identifier2,
        email_addresses=None)

    affiliated_entities = AffiliationService.find_visible_affiliations_by_org_id(
        org_id)

    assert affiliated_entities
    assert len(affiliated_entities) == 1
    assert affiliated_entities[0][
        'business_identifier'] == business_identifier1
Пример #3
0
def test_find_affiliated_entities_by_org_id(session, auth_mock):  # pylint:disable=unused-argument
    """Assert that an Affiliation can be created."""
    entity_service1 = factory_entity_service(
        entity_info=TestEntityInfo.entity_lear_mock)
    entity_dictionary1 = entity_service1.as_dict()
    business_identifier1 = entity_dictionary1['business_identifier']

    entity_service2 = factory_entity_service(
        entity_info=TestEntityInfo.entity_lear_mock2)
    entity_dictionary2 = entity_service2.as_dict()
    business_identifier2 = entity_dictionary2['business_identifier']

    org_service = factory_org_service()
    org_dictionary = org_service.as_dict()
    org_id = org_dictionary['id']

    # create first row in affiliation table
    AffiliationService.create_affiliation(
        org_id, business_identifier1,
        TestEntityInfo.entity_lear_mock['passCode'])
    # create second row in affiliation table
    AffiliationService.create_affiliation(
        org_id, business_identifier2,
        TestEntityInfo.entity_lear_mock2['passCode'])

    affiliated_entities = AffiliationService.find_visible_affiliations_by_org_id(
        org_id)

    assert affiliated_entities
    assert len(affiliated_entities) == 2
    assert affiliated_entities[0]['business_identifier'] == entity_dictionary2[
        'business_identifier']
Пример #4
0
def test_delete_org_with_affiliation(session, auth_mock, keycloak_mock,
                                     monkeypatch):  # pylint:disable=unused-argument
    """Assert that an org cannot be deleted."""
    user_with_token = TestUserInfo.user_test
    user_with_token['keycloak_guid'] = TestJwtClaims.public_user_role['sub']
    user = factory_user_model(user_info=user_with_token)

    patch_token_info({'sub': user.keycloak_guid}, monkeypatch)
    org = OrgService.create_org(TestOrgInfo.org1, user.id)
    org_id = org.as_dict()['id']

    entity_service = factory_entity_service(
        entity_info=TestEntityInfo.entity_lear_mock)
    entity_dictionary = entity_service.as_dict()
    business_identifier = entity_dictionary['business_identifier']
    AffiliationService.create_affiliation(
        org_id, business_identifier,
        TestEntityInfo.entity_lear_mock['passCode'])

    patch_token_info(TestJwtClaims.public_user_role, monkeypatch)
    patch_pay_account_delete(monkeypatch)
    OrgService.delete_org(org_id)

    assert len(
        AffiliationService.find_visible_affiliations_by_org_id(org_id)) == 0
Пример #5
0
    def get(org_id):
        """Get all affiliated entities for the given org."""
        try:
            response, status = jsonify({
                'entities': AffiliationService.find_visible_affiliations_by_org_id(org_id)}), http_status.HTTP_200_OK

        except BusinessException as exception:
            response, status = {'code': exception.code, 'message': exception.message}, exception.status_code

        return response, status
Пример #6
0
def test_find_affiliated_entities_by_org_id_no_affiliation(session, auth_mock):  # pylint:disable=unused-argument
    """Assert that an Affiliation can not be find without affiliation."""
    org_service = factory_org_service()
    org_dictionary = org_service.as_dict()
    org_id = org_dictionary['id']

    with patch.object(AffiliationModel,
                      'find_affiliations_by_org_id',
                      return_value=[]):
        affiliations = AffiliationService.find_visible_affiliations_by_org_id(
            org_id)
        assert not affiliations
Пример #7
0
def test_find_affiliations_for_new_business_incorporation_complete(
        session, auth_mock, nr_mock):  # pylint:disable=unused-argument
    """Assert that an Affiliation can be created."""
    # Create 2 entities - 1 with type NR and another one TMP
    # Affiliate to an org
    # Get should return only 1 - TMP
    # Delete NR affiliation
    # Then delete one affiliation - TMP
    # Re-add the TMP affiliation with name as the BC...

    nr_entity = factory_entity_service(entity_info=TestEntityInfo.name_request)
    entity_dictionary1 = nr_entity.as_dict()
    nr_business_identifier = entity_dictionary1['business_identifier']

    tmp_entity = factory_entity_service(
        entity_info=TestEntityInfo.tenp_business)
    entity_dictionary2 = tmp_entity.as_dict()
    tmp_business_identifier = entity_dictionary2['business_identifier']

    org_service = factory_org_service()
    org_dictionary = org_service.as_dict()
    org_id = org_dictionary['id']

    # create NR affiliation
    AffiliationService.create_new_business_affiliation(
        org_id, business_identifier=nr_business_identifier, phone='1112223333')
    # create second row in affiliation table
    AffiliationService.create_affiliation(org_id, tmp_business_identifier)

    affiliated_entities = AffiliationService.find_visible_affiliations_by_org_id(
        org_id)

    assert affiliated_entities
    assert len(affiliated_entities) == 1
    assert affiliated_entities[0][
        'business_identifier'] == tmp_business_identifier

    # Delete the NR And TEMP IA affiliation and entities
    AffiliationService.delete_affiliation(
        org_id=org_id, business_identifier=tmp_business_identifier)
    tmp_entity.delete()
    AffiliationService.delete_affiliation(
        org_id=org_id, business_identifier=nr_business_identifier)
    nr_entity.delete()

    # Create entities for a TEMP with name as BC... number and incorporated entity
    tmp_inc_entity = factory_entity_service(
        entity_info=TestEntityInfo.temp_business_incoporated)
    entity_dictionary1 = tmp_inc_entity.as_dict()
    tmp_business_incorporated_identifier = entity_dictionary1[
        'business_identifier']
    AffiliationService.create_affiliation(
        org_id, business_identifier=tmp_business_incorporated_identifier)

    inc_entity = factory_entity_service(
        entity_info=TestEntityInfo.business_incoporated)
    entity_dictionary1 = inc_entity.as_dict()
    business_incorporated_identifier = entity_dictionary1[
        'business_identifier']
    AffiliationService.create_affiliation(
        org_id, business_identifier=business_incorporated_identifier)

    affiliated_entities = AffiliationService.find_visible_affiliations_by_org_id(
        org_id)

    assert affiliated_entities
    assert len(affiliated_entities) == 1
    assert affiliated_entities[0][
        'business_identifier'] == business_incorporated_identifier