From 0a374a10f69cacf6a271db696faac8c8dbad44fd Mon Sep 17 00:00:00 2001 From: TrisNol Date: Wed, 6 Sep 2023 18:11:47 +0200 Subject: [PATCH] test(data-ingestion): Increase coverage on Bundesanzeiger wrapper --- pyproject.toml | 4 -- .../data_extraction/bundesanzeiger_test.py | 47 ++++++++++++------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ae2393a..2aa450f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -90,10 +90,6 @@ pytest-cov = "^4.1.0" pytest-mock = "^3.10.0" 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] exclude = [ ".bzr", diff --git a/tests/utils/data_extraction/bundesanzeiger_test.py b/tests/utils/data_extraction/bundesanzeiger_test.py index 49dbb3f..30e8007 100644 --- a/tests/utils/data_extraction/bundesanzeiger_test.py +++ b/tests/utils/data_extraction/bundesanzeiger_test.py @@ -1,7 +1,6 @@ -from unittest.mock import Mock +from unittest.mock import Mock, patch import pandas as pd -import pytest from aki_prj23_transparenzregister.models.company import FinancialKPIEnum 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: input_data = """ @@ -79,8 +68,8 @@ def test_extracct_financial_results() -> None: def test_filter_reports() -> None: test_data = [ - {"name": "Bedienungsanleitung", "report": ""}, - {"name": "Jahresabschluss 1998", "report": ""}, + {"name": "Bedienungsanleitung", "report": "", "raw_report": ""}, + {"name": "Jahresabschluss 1998", "report": "", "raw_report": ""}, ] test_df = pd.DataFrame(test_data) ba = Bundesanzeiger() @@ -89,8 +78,34 @@ def test_filter_reports() -> None: 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: - 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() 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