def test_legal_entity_derivations(database): initialize_db_values(database) # if there is a legal_entity_zip5, record_type is always 2 # when we have legal_entity_zip5 and zip4 obj = initialize_test_obj(le_zip5="12345", le_zip4="6789") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] == "Test Zip City" assert obj['legal_entity_congressional'] == "01" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York" # when we have legal_entity_zip5 but no zip4 obj = initialize_test_obj(le_zip5="12345", le_zip4="6789") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] == "Test Zip City" assert obj['legal_entity_congressional'] == "01" or "02" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York" # if there is no legal_entity_zip5, record_type is always 1 and ppop_code is always in format XX**### obj = initialize_test_obj(record_type=1, ppop_cd="03", ppop_code="NY**001") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] is None assert obj['legal_entity_congressional'] == "03" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York"
def test_legal_entity_derivations(database): initialize_db_values(database) # if there is a legal_entity_zip5, record_type is always 2 # when we have legal_entity_zip5 and zip4 obj = initialize_test_obj(le_zip5="12345", le_zip4="6789") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] == "Test Zip City" assert obj['legal_entity_congressional'] == "01" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York" # when we have legal_entity_zip5 but no zip4 obj = initialize_test_obj(le_zip5="12345", le_zip4="6789") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] == "Test Zip City" assert obj['legal_entity_congressional'] == "01" or "02" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York" # if there is no legal_entity_zip5, record_type is always 1 and ppop_code is always in format XX**### obj = initialize_test_obj(record_type=1, ppop_cd="03", ppop_code="NY**001") obj = fabs_derivations(obj, database.session) assert obj['legal_entity_city_name'] is None assert obj['legal_entity_congressional'] == "03" assert obj['legal_entity_county_code'] == "001" assert obj['legal_entity_county_name'] == "Test County" assert obj['legal_entity_state_code'] == "NY" assert obj['legal_entity_state_name'] == "New York"
def test_ppop_state_name(database): initialize_db_values(database) obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_state_nam'] == "New York" obj = initialize_test_obj(ppop_code="00*****") obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_state_nam'] == "Multi-state"
def test_funding_office_codes(database): initialize_db_values(database) # if funding office_code is present, get office name obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['funding_office_name'] == 'Office' obj = initialize_test_obj(funding_office='111111') obj = fabs_derivations(obj, database.session) assert obj['funding_office_name'] is None
def test_legal_country(database): initialize_db_values(database) # if primary_plce_of_performance_country_code is present get country name obj = initialize_test_obj(legal_country='USA') obj = fabs_derivations(obj, database.session) assert obj['legal_entity_country_name'] == 'United States of America' obj = initialize_test_obj(legal_country='NK') obj = fabs_derivations(obj, database.session) assert obj['legal_entity_country_name'] is None
def test_cfda_title(database): initialize_db_values(database, cfda_title="Test Title") # when cfda_number isn't in the database obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['cfda_title'] is None # when cfda_number is in the database obj = initialize_test_obj(cfda_num="12.345") obj = fabs_derivations(obj, database.session) assert obj['cfda_title'] == "Test Title"
def test_funding_sub_tier_agency_na(database): initialize_db_values(database) # when funding_sub_tier_agency_co is not provided obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['funding_sub_tier_agency_na'] is None # when funding_sub_tier_agency_co is provided obj = initialize_test_obj(sub_fund_agency_code="1234") obj = fabs_derivations(obj, database.session) assert obj['funding_sub_tier_agency_na'] == "Test Subtier Agency"
def test_cfda_title(database): initialize_db_values(database, cfda_title="Test Title") # when cfda_number isn't in the database obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['cfda_title'] is None # when cfda_number is in the database obj = initialize_test_obj(cfda_num="12.345") obj = fabs_derivations(obj, database.session) assert obj['cfda_title'] == "Test Title"
def test_afa_generated_unique(database): initialize_db_values(database) # Testing with none values obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['afa_generated_unique'] == '-none-1234-none--none-' # testing with no none values obj = initialize_test_obj(award_mod_amend='award', fain='fain', uri='uri') obj = fabs_derivations(obj, database.session) assert obj['afa_generated_unique'] == 'award1234fainuri'
def test_funding_agency_name(database): initialize_db_values(database, cgac_code="000") # when funding_agency_code is not provided obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['funding_agency_name'] is None # when funding_agency_code is provided obj = initialize_test_obj(fund_agency_code="000") obj = fabs_derivations(obj, database.session) assert obj['funding_agency_name'] == "Test CGAC Agency"
def test_funding_sub_tier_agency_na(database): initialize_db_values(database, cgac_code="5678") # when funding_sub_tier_agency_co is not provided obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['funding_sub_tier_agency_na'] is None assert obj['funding_agency_code'] is None assert obj['funding_agency_name'] is None # when funding_sub_tier_agency_co is provided obj = initialize_test_obj(sub_fund_agency_code="1234") obj = fabs_derivations(obj, database.session) assert obj['funding_sub_tier_agency_na'] == "Test Subtier Agency" assert obj['funding_agency_code'] == '5678' assert obj['funding_agency_name'] == 'Test CGAC Agency'
def test_awarding_agency_cgac(database): initialize_db_values(database, cgac_code="000", frec_code="1111") obj = initialize_test_obj(sub_tier_code="1234") obj = fabs_derivations(obj, database.session) assert obj['awarding_agency_code'] == "000" assert obj['awarding_agency_name'] == "Test CGAC Agency" assert obj['awarding_sub_tier_agency_n'] == "Test Subtier Agency"
def test_awarding_agency_cgac(database): initialize_db_values(database, cgac_code="000", frec_code="1111") obj = initialize_test_obj(sub_tier_code="1234") obj = fabs_derivations(obj, database.session) assert obj['awarding_agency_code'] == "000" assert obj['awarding_agency_name'] == "Test CGAC Agency" assert obj['awarding_sub_tier_agency_n'] == "Test Subtier Agency"
def test_total_funding_amount(database): initialize_db_values(database) # when fao and nffa are empty obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 0 # when one of fao and nffa is empty and the other isn't obj = initialize_test_obj(fao=5.3) obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 5.3 # when fao and nffa aren't empty obj = initialize_test_obj(fao=-10.6, nffa=123) obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 112.4
def test_is_active(database): initialize_db_values(database) # Testing with none values obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['is_active'] is True # Testing with value other than D obj = initialize_test_obj(cldi="c") obj = fabs_derivations(obj, database.session) assert obj['is_active'] is True # Testing with D obj = initialize_test_obj(cldi="D") obj = fabs_derivations(obj, database.session) assert obj['is_active'] is False
def test_is_active(database): initialize_db_values(database) # Testing with none values obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['is_active'] is True # Testing with value other than D obj = initialize_test_obj(cldi="c") obj = fabs_derivations(obj, database.session) assert obj['is_active'] is True # Testing with D obj = initialize_test_obj(cldi="D") obj = fabs_derivations(obj, database.session) assert obj['is_active'] is False
def test_total_funding_amount(database): initialize_db_values(database) # when fao and nffa are empty obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 0 # when one of fao and nffa is empty and the other isn't obj = initialize_test_obj(fao=5.3) obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 5.3 # when fao and nffa aren't empty obj = initialize_test_obj(fao=-10.6, nffa=123) obj = fabs_derivations(obj, database.session) assert obj['total_funding_amount'] == 112.4
def test_ppop_derivations(database): initialize_db_values(database) # when ppop_zip4a is 5 digits and no congressional district obj = initialize_test_obj(ppop_zip4a="123454321") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '02' assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City" # when ppop_zip4a is 5 digits and has congressional district obj = initialize_test_obj(ppop_zip4a="12345-4321", ppop_cd="03") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '03' # when ppop_zip4a is 5 digits obj = initialize_test_obj(ppop_zip4a="12345") obj = fabs_derivations(obj, database.session) # cd should be 90 if there's more than one option assert obj['place_of_performance_congr'] == '90' assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City" # when ppop_zip4 is 9 digits but last 4 are invalid (one cd available) obj = initialize_test_obj(ppop_zip4a="543210000") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '05' assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City 2" # when ppop_zip4 is 9 digits (no cd available) obj = initialize_test_obj(ppop_zip4a="987654321") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '90' assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City 3" # when we don't have ppop_zip4a and ppop_code is in XX**### format obj = initialize_test_obj(ppop_code="NY**001") obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] is None assert obj['place_of_performance_congr'] is None # when we don't have ppop_zip4a and ppop_code is in XX##### format obj = initialize_test_obj(ppop_code="NY00001") obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_county_co'] == "001" assert obj['place_of_perform_county_na'] == "Test City County" assert obj['place_of_performance_city'] == "Test City" assert obj['place_of_performance_congr'] is None
def test_ppop_derivations(database): initialize_db_values(database) # when ppop_zip4a is 5 digits and no congressional district obj = initialize_test_obj(ppop_zip4a="123454321") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '02' assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City" # when ppop_zip4a is 5 digits and has congressional district obj = initialize_test_obj(ppop_zip4a="12345-4321", ppop_cd="03") obj = fabs_derivations(obj, database.session) assert obj['place_of_performance_congr'] == '03' # when ppop_zip4a is 4 digits obj = initialize_test_obj(ppop_zip4a="12345") obj = fabs_derivations(obj, database.session) # hard to tell which will be "first" because it depends on what order it's added by sqlalchemy, # but we know it has to be one of them assert obj['place_of_performance_congr'] == '01' or '02' assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] == "Test Zip City" # when we don't have ppop_zip4a and ppop_code is in XX**### format obj = initialize_test_obj(ppop_code="NY**001") obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_county_na'] == "Test County" assert obj['place_of_performance_city'] is None assert obj['place_of_performance_congr'] is None # when we don't have ppop_zip4a and ppop_code is in XX##### format obj = initialize_test_obj(ppop_code="NY00001") obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_county_na'] == "Test City County" assert obj['place_of_performance_city'] == "Test City" assert obj['place_of_performance_congr'] is None
def test_ppop_state_name(database): initialize_db_values(database) obj = initialize_test_obj() obj = fabs_derivations(obj, database.session) assert obj['place_of_perform_state_nam'] == "New York"