def test_make_prereq_blob_competency(): df = pd.DataFrame({"HS diploma required?": ["No"], "Eligible groups": ["Veteran"]}) transformer = PathwaysTransformer(dataframe=df) row = df.iloc[0] results = transformer._make_prereq_blob(row) assert ( results["competency_required"] == "Must belong to one or more of the following group(s): Veteran" ) assert "credential_category" not in results
def test_filter_non_pathways_programs(): df = pd.DataFrame( { "Program Name": ["Technical Academy Program", "Sales Leadership"], "Should this program be available in Google Pathways?": ["Yes", "No"], } ) transformer = PathwaysTransformer(dataframe=df) filtered_df = transformer._filter_non_pathways_programs() assert len(transformer.dataframe) == 2 assert len(filtered_df) == 1
def test_make_address_blob_for_multiple_addresses_with_pipe(): df = pd.DataFrame( { "Organization Address": ["234 Mulberry Street, Chicago IL 74444"], "Program Address (if different from organization address)": [ "111 Grickle Grass Lane, Springfield MA 88884 | 3344 Lifted Lorax Street, Chicago IL 88884" ], } ) transformer = PathwaysTransformer(dataframe=df) row = df.iloc[0] results = transformer._make_address_blob(row) expected_results = [ { "street_address": "234 Mulberry Street", "address_locality": "Chicago", "address_region": "IL", "address_country": "US", "postal_code": "74444", }, { "street_address": "111 Grickle Grass Lane", "address_locality": "Springfield", "address_region": "MA", "address_country": "US", "postal_code": "88884", }, { "street_address": "3344 Lifted Lorax Street", "address_locality": "Chicago", "address_region": "IL", "address_country": "US", "postal_code": "88884", }, ] assert len(results) == 3 assert expected_results == results
def test_make_address_blob_for_provider(): df = pd.DataFrame( { "Organization Address": ["111 Grickle Grass Lane, Springfield MA 88884"], "Program Address (if different from organization address)": [""], } ) transformer = PathwaysTransformer(dataframe=df) row = df.iloc[0] results = transformer._make_address_blob(row) expected_results = [ { "street_address": "111 Grickle Grass Lane", "address_locality": "Springfield", "address_region": "MA", "address_country": "US", "postal_code": "88884", } ] assert len(results) == 1 assert expected_results == results
def test_convert_duration_to_isoformat(input, expected_output): transformer = PathwaysTransformer(dataframe=pd.DataFrame({})) output = transformer._convert_duration_to_isoformat(input) assert output == expected_output
opt_out = OptOut(google_sheet_as_list=sheet_as_list, programs_table=programs_table, engine=engine) deleted_records = opt_out.remove_deleted_programs() logger.info( f"----Deleted {len(deleted_records)} records from the Pathways database. {' '.join(deleted_records)}" ) opt_out_records = opt_out.remove_programs_not_marked_for_pathways() logger.info( f"----Found {len(opt_out_records)} records that 'opt-out' of Pathways. {' '.join(opt_out_records)}" ) dataframe = DataframeTransformer(sheet=sheet_as_list, engine=engine).transform() logger.info( f"----Initial transformation complete: {len(dataframe)} records prepped for PathwaysTransformer." ) pathways_dataframe = PathwaysTransformer( dataframe=dataframe).pathways_transform() logger.info( f"----Pathways transformation complete: {len(pathways_dataframe)} records prepped for loading." ) loader = Loader(engine=engine) loader.load_data(dataframe=pathways_dataframe, metadata_table=programs_table, primary_key="id") logger.info("----Data loaded into Google Pathways API")