test(data-ingestion): Increase coverage on Bundesanzeiger wrapper

This commit is contained in:
TrisNol 2023-09-06 18:11:47 +02:00
parent f4a4cbc4f2
commit 0a374a10f6
2 changed files with 31 additions and 20 deletions

View File

@ -90,10 +90,6 @@ pytest-cov = "^4.1.0"
pytest-mock = "^3.10.0" pytest-mock = "^3.10.0"
pytest-repeat = "^0.9.1" pytest-repeat = "^0.9.1"
# TODO Add enrich_company_financials hinzufügen
[tool.poetry.scripts]
mein_test = "aki_prj23_transparenzregister.utils.postgres.connector:init_db"
[tool.ruff] [tool.ruff]
exclude = [ exclude = [
".bzr", ".bzr",

View File

@ -1,7 +1,6 @@
from unittest.mock import Mock from unittest.mock import Mock, patch
import pandas as pd import pandas as pd
import pytest
from aki_prj23_transparenzregister.models.company import FinancialKPIEnum from aki_prj23_transparenzregister.models.company import FinancialKPIEnum
from aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger import ( from aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger import (
@ -9,16 +8,6 @@ from aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger import (
) )
@pytest.fixture()
def mock_bundesanzeiger(mocker: Mock) -> Mock:
mock = Mock()
mocker.patch(
"deutschland.bundesanzeiger",
return_value=mock,
)
return mock
def test_extract_auditor_company_no_hits() -> None: def test_extract_auditor_company_no_hits() -> None:
input_data = """ input_data = """
<b> <b>
@ -79,8 +68,8 @@ def test_extracct_financial_results() -> None:
def test_filter_reports() -> None: def test_filter_reports() -> None:
test_data = [ test_data = [
{"name": "Bedienungsanleitung", "report": ""}, {"name": "Bedienungsanleitung", "report": "", "raw_report": ""},
{"name": "Jahresabschluss 1998", "report": ""}, {"name": "Jahresabschluss 1998", "report": "", "raw_report": ""},
] ]
test_df = pd.DataFrame(test_data) test_df = pd.DataFrame(test_data)
ba = Bundesanzeiger() ba = Bundesanzeiger()
@ -89,8 +78,34 @@ def test_filter_reports() -> None:
assert result.iloc[0].jahr == "1998" assert result.iloc[0].jahr == "1998"
@patch(
"aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger.Ba.get_reports"
)
def test_get_information(mock_bundesanzeiger: Mock) -> None: def test_get_information(mock_bundesanzeiger: Mock) -> None:
mock_bundesanzeiger.get_reports.return_value = [{}, {}] mock_bundesanzeiger.return_value = {
"1": {
"name": "Bedienungsanleitung",
"report": "",
"company": "",
"raw_report": "",
},
"2": {
"name": "Jahresabschluss 1998",
"report": "",
"company": "PRJ 23 Transparenzregister GmbH",
"raw_report": "",
},
}
ba = Bundesanzeiger() ba = Bundesanzeiger()
result = ba.get_information("PRJ 23 Transparenzregister GmbH", "Iserlohn") result = ba.get_information("PRJ 23 Transparenzregister GmbH", "Iserlohn")
assert result is not None assert len(result) == 1
@patch(
"aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger.Ba.get_reports"
)
def test_get_information_no_results(mock_bundesanzeiger: Mock) -> None:
mock_bundesanzeiger.return_value = {}
ba = Bundesanzeiger()
result = ba.get_information("PRJ 23 Transparenzregister GmbH", "Iserlohn")
assert len(result) == 0