def test_parse_institution_address_handles_state_province_none():
    address = {
        'address': None,
        'city': 'Beijing',
        'state_province': None,
        'country': None,
        'postal_code': '123-CFG',
        'country_code': None,
    }

    expected = {
        'city': 'Beijing',
        'country_code': None,
        'original_address': '',
        'postal_code': '123-CFG',
        'state': None,
    }
    result = parse_institution_address(**address)

    assert expected == result
def test_parse_institution_address_preserves_the_original_address():
    address = {
        'address': 'Tuscaloosa, AL 35487-0324',
        'city': 'Tuscaloosa',
        'country': '',
        'state_province': 'AL',
        'postal_code': 'PO Box 870324',
        'country_code': None,
    }

    expected = {
        'city': 'Tuscaloosa',
        'country_code': 'US',
        'original_address': 'Tuscaloosa, AL 35487-0324',
        'postal_code': 'PO Box 870324',
        'state': 'US-AL',
    }
    result = parse_institution_address(**address)

    assert expected == result
def test_parse_institution_address_handles_state_province_none():
    address = {
        'address': None,
        'city': 'Beijing',
        'state_province': None,
        'country': None,
        'postal_code': '123-CFG',
        'country_code': None,
    }

    expected = {
        'city': 'Beijing',
        'country': '',
        'country_code': None,
        'original_address': [],
        'postal_code': '123-CFG',
        'state': None,
    }
    result = parse_institution_address(**address)

    assert expected == result
def test_parse_institution_address_preserves_the_original_address():
    address = {
        'address': 'Tuscaloosa, AL 35487-0324',
        'city': 'Tuscaloosa',
        'state_province': 'AL',
        'country': '',
        'postal_code': 'PO Box 870324',
        'country_code': None,
    }

    expected = {
        'city': 'Tuscaloosa',
        'country': '',
        'country_code': 'US',
        'original_address': [
            'Tuscaloosa, AL 35487-0324',
        ],
        'postal_code': 'PO Box 870324',
        'state': 'US-AL',
    }
    result = parse_institution_address(**address)

    assert expected == result