all table rows to be considered relevant
This commit is contained in:
		| @@ -57,39 +57,10 @@ class FunctionsTestCase(IsolatedAsyncioTestCase): | ||||
|         output = functions.extract_end_dates(self.test_soup) | ||||
|         self.assertTupleEqual(expected_output, output) | ||||
|  | ||||
|     def test_is_relevant_table_row(self): | ||||
|         test_soup = BeautifulSoup('<tr><td><div> Cash & Short Term Investments </div></td></tr>', HTML_PARSER) | ||||
|         self.assertTrue(functions.is_relevant_table_row(test_soup.tr)) | ||||
|         test_soup = BeautifulSoup('<tr><td><div> Cash & Short Term Investments Growth </div></td></tr>', HTML_PARSER) | ||||
|         self.assertFalse(functions.is_relevant_table_row(test_soup.tr)) | ||||
|         test_soup = BeautifulSoup('<tr><td><div> baz </div></td></tr>', HTML_PARSER) | ||||
|         with self.assertRaises(UnknownFinancialStatementItem): | ||||
|             functions.is_relevant_table_row(test_soup.tr) | ||||
|  | ||||
|     @patch.object(functions, 'open') | ||||
|     @patch.object(functions, 'is_relevant_table_row') | ||||
|     def test_find_relevant_table_rows(self, mock_is_relevant_table_row, mock_open): | ||||
|         mock_is_relevant_table_row.return_value = True | ||||
|     def test_get_all_table_rows(self): | ||||
|         expected_output = self.test_soup.find('div', attrs={'class': 'financials'}).tbody.find_all('tr') | ||||
|         tr0, tr1 = expected_output | ||||
|         output = functions.find_relevant_table_rows(self.test_soup) | ||||
|         self.assertListEqual(expected_output, output) | ||||
|         mock_is_relevant_table_row.assert_has_calls([call(tr0), call(tr1)]) | ||||
|         mock_is_relevant_table_row.reset_mock() | ||||
|  | ||||
|         mock_is_relevant_table_row.side_effect = UnknownFinancialStatementItem() | ||||
|         expected_output = self.test_soup.find_all('thistagdoesntexist') | ||||
|         output = functions.find_relevant_table_rows(self.test_soup) | ||||
|         self.assertListEqual(expected_output, output) | ||||
|         mock_is_relevant_table_row.assert_has_calls([call(tr0), call(tr1)]) | ||||
|         mock_is_relevant_table_row.reset_mock() | ||||
|  | ||||
|         mock_write = mock_open.return_value.__enter__.return_value.write | ||||
|         with patch.object(functions, 'DEV_MODE', new=True): | ||||
|             output = functions.find_relevant_table_rows(self.test_soup) | ||||
|         self.assertListEqual(expected_output, output) | ||||
|         mock_is_relevant_table_row.assert_has_calls([call(tr0), call(tr1)]) | ||||
|         mock_write.assert_has_calls([call(str(self.test_soup)), call(str(self.test_soup))]) | ||||
|         output = functions.get_all_table_rows(self.test_soup) | ||||
|         self.assertSequenceEqual(expected_output, output) | ||||
|  | ||||
|     def test_extract_row_data(self): | ||||
|         test_row = self.test_soup.find('div', attrs={'class': 'financials'}).tbody.tr | ||||
|   | ||||
		Reference in New Issue
	
	Block a user