expected = {} assert actual == expected parse_details_page_notes_scenarios = [ ((mock_data.details_page_notes_01, ''), 'Ensure a malformed entry is not parsed'), ((mock_data.details_page_notes_02, mock_data.details_page_notes_02_expected), 'Ensure details page notes parsed correctly'), ] @pytest.mark.parametrize('input_,expected', scenario_inputs(parse_details_page_notes_scenarios), ids=scenario_ids(parse_details_page_notes_scenarios)) def test_parse_details_page_notes_01(input_, expected): """Ensure details page notes parsed correctly.""" actual = apd.parse_details_page_notes(input_) assert actual == expected def test_extract_traffic_fatalities_page_details_link_00(news_page): """Ensure page detail links are extracted from news page.""" actual = apd.extract_traffic_fatalities_page_details_link(news_page) expected = [ ('/news/traffic-fatality-2-3', 'Traffic Fatality #2', '2'), ('/news/traffic-fatality-1-4', 'Traffic Fatality #1', '1'), ('/news/traffic-fatality-72-1', 'Traffic Fatality #72', '72'), ('/news/traffic-fatality-73-2', 'Traffic Fatality #73', '73'), ('/news/traffic-fatality-71-2', 'Traffic Fatality #71', '71'),
def test_parse_twitter_description_without_notes(): """ Test that the parser finds the right number of deceased people. """ twitter_description = ("'Case: 19-1321936 Date: May 12, 2019 " "Time: 11:34 p.m. Location: 12100 N. IH-35 NB Service road " "Deceased: First Middle Last, Black male, D.O.B. August 30, 1966'") d = parsing.parse_twitter_description(twitter_description) assert not d.get("D.O.B.") assert d["DOB"] == datetime.date(1966, 8, 30) @pytest.mark.parametrize('page,start,end', scenario_inputs(mock_data.note_fields_scenarios), ids=scenario_ids(mock_data.note_fields_scenarios)) def test_parse_notes(page, start, end): """Ensure Notes field are parsed correctly.""" soup = parsing.to_soup(page) deceased_field_list = parsing.parse_deceased_field(soup) notes = parsing.parse_notes_field(soup, deceased_field_list[-1]) assert notes.startswith(start) assert notes.endswith(end) @pytest.mark.parametrize('page,start,end', ( ('traffic-fatality-2-3', 'The preliminary investigation shows that the grey', 'No charges are expected to be filed.'), ('traffic-fatality-4-6', 'The preliminary investigation shows that a black, Ford', 'scene at 01:48 a.m.'), ('traffic-fatality-15-4', 'The preliminary investigation indicated that Garrett', 'seatbelts. No charges are expected to be filed.'),