Exemple #1
0
def test_business_relationships_json(session):
    """Assert that the business model is saved correctly."""
    from legal_api.models import Address, Office

    business = Business(legal_name='legal_name',
                        founding_date=EPOCH_DATETIME,
                        last_ledger_timestamp=EPOCH_DATETIME,
                        identifier='CP1234567',
                        last_modified=EPOCH_DATETIME)

    office = Office(office_type='registeredOffice')
    mailing_address = Address(city='Test City',
                              address_type=Address.MAILING,
                              business_id=business.id)
    office.addresses.append(mailing_address)
    business.offices.append(office)
    business.save()

    assert business.mailing_address.one_or_none()

    delivery_address = Address(city='Test City',
                               address_type=Address.DELIVERY,
                               business_id=business.id)
    office.addresses.append(delivery_address)
    business.save()

    assert business.delivery_address.one_or_none()
Exemple #2
0
def create_address(address_info: Dict, address_type: str) -> Address:
    """Create an address."""
    if not address_info:
        return Address()
    address = Address(
        street=address_info.get('streetAddress'),
        street_additional=address_info.get('streetAddressAdditional'),
        city=address_info.get('addressCity'),
        region=address_info.get('addressRegion'),
        country=pycountry.countries.search_fuzzy(
            address_info.get('addressCountry'))[0].alpha_2,
        postal_code=address_info.get('postalCode'),
        delivery_instructions=address_info.get('deliveryInstructions'),
        address_type=address_type)
    return address
Exemple #3
0
def test_post_valid_ar(session, client, jwt):
    """Assert that a unpaid filing can be posted."""
    from legal_api.models import Address, Filing
    identifier = 'CP7654321'
    business = factory_business(identifier)
    mailing_address = Address(city='Test Mailing City',
                              address_type=Address.MAILING)
    business.mailing_address.append(mailing_address)
    business.save()

    rv = client.post(f'/api/v1/businesses/{identifier}/filings',
                     json=AR_FILING,
                     headers=create_header(jwt, [STAFF_ROLE], identifier))

    # check return
    assert rv.status_code == HTTPStatus.CREATED
    assert not rv.json.get('errors')
    assert rv.json['filing']['header']['filingId']
    assert rv.json['filing']['header']['paymentToken']
    assert rv.json['filing']['header']['paymentToken'] == '153'

    # check stored filing
    filing = Filing.get_filing_by_payment_token(
        rv.json['filing']['header']['paymentToken'])
    assert filing
    assert filing.status == Filing.Status.PENDING.value
Exemple #4
0
def add_business_addresses(business, offices_json):
    for office_type in offices_json:
        delivery_address = create_delivery_address(
            offices_json[office_type]['deliveryAddress'])
        #business.delivery_address.append(delivery_address)

        mailing_address = None
        if offices_json[office_type]['mailingAddress'] == None:
            # clone delivery to mailing
            mailing_address = copy.deepcopy(delivery_address)
        else:
            mailing_address = Address()
            mailing_json = offices_json[office_type]['mailingAddress']
            mailing_address.city = mailing_json['addressCity']
            mailing_address.country = pycountry.countries.search_fuzzy(
                mailing_json['addressCountry'])[0].alpha_2
            mailing_address.delivery_instructions = mailing_json[
                'deliveryInstructions']
            mailing_address.postal_code = mailing_json['postalCode']
            mailing_address.region = mailing_json['addressRegion']
            mailing_address.street = mailing_json['streetAddress']
            mailing_address.street_additional = mailing_json[
                'streetAddressAdditional']
        mailing_address.address_type = Address.MAILING
        create_office(business, [mailing_address, delivery_address],
                      office_type)
Exemple #5
0
def factory_business_mailing_address(business):
    """Create a business entity."""
    address = Address(city='Test City',
                      street=f'{business.identifier}-Test Street',
                      postal_code='T3S3T3',
                      country='TA',
                      region='BC',
                      address_type=Address.MAILING)
    business.mailing_address.append(address)
    business.save()
    return business
Exemple #6
0
def test_address_save(session):
    """Assert that the address saves correctly."""
    identifier = 'CP1234567'
    address = Address(city='Test City',
                      street=f'{identifier}-Test Street',
                      postal_code='T3S3T3',
                      country='TA',
                      region='BC',
                      address_type=Address.MAILING)

    address.save()
    assert address.id
Exemple #7
0
def create_delivery_address(delivery_json):
    delivery_address = Address()
    delivery_address.address_type = Address.DELIVERY
    delivery_address.city = delivery_json['addressCity']
    # delivery_address.country = delivery_json['addressCountry']
    delivery_address.country = 'CA'
    delivery_address.delivery_instructions = delivery_json['deliveryInstructions']
    delivery_address.postal_code = delivery_json['postalCode']
    # delivery_address.region = delivery_json['addressRegion']
    delivery_address.region = 'BC'
    delivery_address.street = delivery_json['streetAddress']
    delivery_address.street_additional = delivery_json['streetAddressAdditional']
    return delivery_address
Exemple #8
0
def create_address(address_json: dict,
                   address_type: Address.ADDRESS_TYPES) -> Address:
    """Create a new address in lear via the model."""
    address = Address()
    address.address_type = address_type
    address.city = address_json['addressCity']
    address.country = pycountry.countries.search_fuzzy(
        address_json['addressCountry'])[0].alpha_2
    address.delivery_instructions = address_json['deliveryInstructions']
    address.postal_code = address_json['postalCode']
    address.region = address_json['addressRegion']
    address.street = address_json['streetAddress']
    address.street_additional = address_json['streetAddressAdditional']
    return address
def test_mailing_address_save_to_business(session):
    """Assert that the address saves correctly."""
    identifier = 'CP1234567'
    business = factory_business(identifier)

    address = Address(city='Test City',
                      street=f'{identifier}-Test Street',
                      postal_code='T3S3T3',
                      country='TA',
                      region='BC',
                      address_type=Address.MAILING)

    business.mailing_address.append(address)
    business.save()

    mailing = business.mailing_address.one_or_none()
    assert mailing.id
def create_business_address(business, type):
    """Create an address."""
    from legal_api.models import Address
    address = Address(
        city='Test City',
        street=f'{business.identifier}-Test Street',
        postal_code='T3S3T3',
        country='TA',
        region='BC',
    )
    if type == 'mailing':
        address.address_type = Address.MAILING
        business.mailing_address.append(address)
    else:
        address.address_type = Address.DELIVERY
        business.delivery_address.append(address)
    business.save()
    return business
Exemple #11
0
def create_business_address(business, type):
    """Create an address."""
    from legal_api.models import Address, Office
    address = Address(
        city='Test City',
        street=f'{business.identifier}-Test Street',
        postal_code='T3S3T3',
        country='TA',
        region='BC',
    )
    if type == 'mailing':
        address.address_type = Address.MAILING
    else:
        address.address_type = Address.DELIVERY

    office = Office(office_type='registeredOffice')
    office.addresses.append(address)
    business.offices.append(office)
    business.save()
    return business
Exemple #12
0
def create_director(director):
    """Create a director."""
    from legal_api.models import Address, Director
    new_address = Address(
        street=director['deliveryAddress']['streetAddress'],
        city=director['deliveryAddress']['addressCity'],
        country='CA',
        postal_code=director['deliveryAddress']['postalCode'],
        region=director['deliveryAddress']['addressRegion'],
        delivery_instructions=director['deliveryAddress'].get(
            'deliveryInstructions', '').upper())
    new_address.save()
    new_director = Director(
        first_name=director['officer'].get('firstName', '').upper(),
        last_name=director['officer'].get('lastName', '').upper(),
        middle_initial=director['officer'].get('middleInitial', '').upper(),
        appointment_date=director['appointmentDate'],
        cessation_date=None,
        delivery_address=new_address)
    new_director.save()
    return new_director
Exemple #13
0
def test_address_json(session):
    """Assert that the address renders our json format correctly."""
    identifier = 'CP1234567'
    address = Address(city='Test City',
                      street=f'{identifier}-Test Street',
                      postal_code='T3S3T3',
                      country='TA',
                      region='BC',
                      address_type=Address.MAILING)

    address_json = {
        'streetAddress': address.street,
        'streetAddressAdditional': address.street_additional,
        'addressType': address.address_type,
        'addressCity': address.city,
        'addressRegion': address.region,
        'addressCountry': address.country,
        'postalCode': address.postal_code,
        'deliveryInstructions': address.delivery_instructions
    }

    assert address.json == address_json