From 6ccf2ffd170860ca44b54d6b0a1f020841ee7c9e Mon Sep 17 00:00:00 2001 From: Philipp Horstenkamp Date: Sat, 23 Dec 2023 21:19:36 +0100 Subject: [PATCH] Reworked the options creation (#464) Fixed the bug --- src/aki_prj23_transparenzregister/ui/app.py | 2 +- .../ui/data_elements.py | 9 ++++----- tests/ui/data_elements_test.py | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/aki_prj23_transparenzregister/ui/app.py b/src/aki_prj23_transparenzregister/ui/app.py index f2b6c26..0a98a57 100644 --- a/src/aki_prj23_transparenzregister/ui/app.py +++ b/src/aki_prj23_transparenzregister/ui/app.py @@ -134,7 +134,7 @@ def main() -> None: configer_logger(namespace=parsed) config = parsed.config SessionHandler.session = connector.get_session(get_config_provider(config)) - app.run(debug=False) + app.run() if __name__ == "__main__": diff --git a/src/aki_prj23_transparenzregister/ui/data_elements.py b/src/aki_prj23_transparenzregister/ui/data_elements.py index 632ec97..f6d374a 100644 --- a/src/aki_prj23_transparenzregister/ui/data_elements.py +++ b/src/aki_prj23_transparenzregister/ui/data_elements.py @@ -122,14 +122,13 @@ def get_options(session: Session | None) -> dict[int, str]: return {} persons = get_person_data(session).rename("p_{}".format) - persons[ - "person_lastname_firstname" - ] = f"{persons['person_lastname']}, {persons['person_firstname']}" - persons_options = persons["person_lastname_firstname"] + logger.info(persons.items()) + persons_options = persons.apply( + lambda row: f"{row['person_lastname']}, {row['person_firstname']}", axis=1 + ) companies = get_company_data(session).rename("c_{}".format) companies_options = companies["company_name"] all_options = pd.concat([persons_options, companies_options]) - return all_options.sort_values(ascending=True).to_dict() diff --git a/tests/ui/data_elements_test.py b/tests/ui/data_elements_test.py index 8f60a34..f4d7583 100644 --- a/tests/ui/data_elements_test.py +++ b/tests/ui/data_elements_test.py @@ -1,6 +1,7 @@ """Tests for ui elements.""" import pandas as pd +import pytest from sqlalchemy.orm import Session from aki_prj23_transparenzregister.ui import data_elements @@ -111,3 +112,19 @@ def test_get_news_of_one_company1(news_db: Session) -> None: "title": "AI Revolution in Tech", }, ] + + +@pytest.mark.working_on() +def test_options(full_db: Session) -> None: + """Tests if the options can be generated.""" + options = data_elements.get_options(full_db) + assert options == { + "c_1": "Some Company GmbH", + "c_2": "Other Company GmbH", + "c_3": "Third Company GmbH", + "p_1": "Mustermann, Max", + "p_2": "Mustermann, Sabine", + "p_3": "Some Surname, Some Firstname", + "p_4": "Some Surname, Some Firstname", + "p_5": "Other Surname, Other Firstname", + }