reading test html file in test class set up method
This commit is contained in:
parent
6ac38ad06d
commit
d504ddfc33
@ -11,6 +11,8 @@ from bs4.element import ResultSet, Tag
|
||||
# the end dates of the reporting periods as strings (either years or quarters).
|
||||
ResultDict = dict[str, Union[tuple[int], tuple[str]]]
|
||||
|
||||
HTML_PARSER = 'html.parser'
|
||||
|
||||
|
||||
async def soup_from_url(url: str, session: ClientSession = None) -> BeautifulSoup:
|
||||
"""
|
||||
|
@ -1,3 +1,4 @@
|
||||
from pathlib import Path
|
||||
from unittest import IsolatedAsyncioTestCase
|
||||
from unittest.mock import patch, MagicMock, AsyncMock, call
|
||||
|
||||
@ -5,14 +6,21 @@ from bs4 import BeautifulSoup
|
||||
|
||||
from mwfin import functions
|
||||
|
||||
# boiled down & accurate structure of a relevant data table
|
||||
# https://www.marketwatch.com/investing/stock/aapl/financials/cash-flow
|
||||
# view page source @ line 2055
|
||||
TEST_HTML = ''
|
||||
TEST_SOUP = BeautifulSoup(TEST_HTML, 'html.parser')
|
||||
|
||||
THIS_DIR = Path(__file__).parent
|
||||
|
||||
|
||||
class FunctionsTestCase(IsolatedAsyncioTestCase):
|
||||
# boiled down & accurate structure of a relevant data table
|
||||
# https://www.marketwatch.com/investing/stock/aapl/financials/cash-flow
|
||||
# view page source @ line 2055
|
||||
TEST_HTML_FILE_PATH = Path(THIS_DIR, 'test_structure.html')
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
with open(cls.TEST_HTML_FILE_PATH, 'r') as f:
|
||||
test_html = f.read()
|
||||
cls.test_soup = BeautifulSoup(test_html, functions.HTML_PARSER)
|
||||
|
||||
@patch.object(functions, 'ClientSession')
|
||||
async def test_soup_from_url(self, mock_session_cls):
|
||||
@ -33,7 +41,7 @@ class FunctionsTestCase(IsolatedAsyncioTestCase):
|
||||
|
||||
def test_extract_end_dates(self):
|
||||
expected_output = ('End_Date_1', 'End_Date_2')
|
||||
output = functions.extract_end_dates(TEST_SOUP)
|
||||
output = functions.extract_end_dates(self.test_soup)
|
||||
self.assertTupleEqual(expected_output, output)
|
||||
|
||||
def test_find_relevant_table_rows(self):
|
||||
|
Loading…
Reference in New Issue
Block a user