from unittest.mock import Mock, patch
import pandas as pd
from aki_prj23_transparenzregister.models.company import FinancialKPIEnum
from aki_prj23_transparenzregister.utils.data_extraction.bundesanzeiger import (
Bundesanzeiger,
)
def test_extract_auditor_company_no_hits() -> None:
input_data = """
Nothing to see here
"""
ba = Bundesanzeiger()
result = ba.extract_auditor_company(input_data)
assert result is None
def test_extract_auditor_company() -> None:
company_name = "Korrupte Wirtschaftsprüfer GmbH & Co. KG"
input_data = f"""
{company_name}
Max Mustermann
"""
ba = Bundesanzeiger()
result = ba.extract_auditor_company(input_data)
assert result == company_name
def test_extract_kpis() -> None:
input_data = """
Die Prj23_Transparenzregister GmbH erwirtschaftete einen Jahresüberschuss 10.000,43 €.
Des Weiteren sanken die Gesamtverbindlichkeiten 42,00 €
"""
ba = Bundesanzeiger()
result = ba.__extract_kpis__(input_data)
net_income = 10000.43
liabilities = 42.00
assert result[FinancialKPIEnum.NET_INCOME.value] == net_income
assert result[FinancialKPIEnum.LIABILITIES.value] == liabilities
def test_extracct_financial_results() -> None:
input_data = """
Die Prj23_Transparenzregister GmbH erwirtschaftete einen Jahresüberschuss 10.000,43 €.