test: Extend unit tests

This commit is contained in:
TrisNol 2023-11-04 14:19:41 +01:00
parent 61f94fa3b9
commit e8d1a37cff
3 changed files with 55 additions and 8 deletions

View File

@ -1,4 +1,8 @@
"""Test load utils from Unternehmensregister."""
import json
import tempfile
from unittest.mock import Mock, patch
from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister import (
load,
)
@ -6,3 +10,37 @@ from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister im
def test_smoke() -> None:
assert load
@patch(
"aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.load.CompanyMongoService"
)
def test_load_directory_to_mongo(mock_company_service: Mock) -> None:
mock_company_service.migration_of_base_data.return_value = None
with tempfile.TemporaryDirectory() as tmp_dir:
with open(f"{tmp_dir}/test.json", "w") as f:
mock_company = {
"id": {
"district_court": {
"name": "Amtsgericht Hamburg",
"city": "Hamburg",
},
"hr_number": "HRB 47899",
},
"location": {
"city": "Hamburg",
"street": "Heußweg",
"house_number": "35",
"zip_code": "20255",
},
"name": "Aurelius Immo GmbH",
"last_update": "2021-07-05",
"relationships": [],
"business_purpose": "Erwerb und Verwaltung von Immobilien; Geschäftsführung von Immobilienfonds und anderen Gesellschaften; Dienstleistungen in diesem Zusammenhang.",
"capital": {"value": 50000, "currency": "DM", "type": "Stammkapital"},
"company_type": "Gesellschaft mit beschränkter Haftung",
"founding_date": "1977-03-03",
}
json.dump(mock_company, f)
result = load.load_directory_to_mongo(tmp_dir, mock_company_service)
assert result == 1

View File

@ -21,14 +21,10 @@ def test_traversal() -> None:
assert common.traversal(data, ["a", "b", "c"]) == "d"
# def test_traversal_raises_key_error():
# data = {"a": {"b": {"c": "d"}}}
# try:
# common.traversal(data, ["a", "b", "d"])
# except KeyError:
# assert True
# else:
# assert False
def test_traversal_raises_key_error() -> None:
data = {"a": {"b": {"c": "d"}}}
with pytest.raises(KeyError):
common.traversal(data, ["a", "b", "d"])
@pytest.mark.parametrize(

View File

@ -0,0 +1,13 @@
"""Test role_mapper.py."""
from aki_prj23_transparenzregister.models.company import RelationshipRoleEnum
from aki_prj23_transparenzregister.utils.data_extraction.unternehmensregister.transform.v3.role_mapper import (
RoleMapper,
)
def test_init() -> None:
assert isinstance(RoleMapper.mapper(), RoleMapper)
def test_map_role() -> None:
assert RoleMapper.mapper().get("285") == RelationshipRoleEnum.PROKURIST