Kategorie "vielleicht testen" in sn_basis abgeschlossen (#67)

37 neue Testfälle für die 31 verbleibenden "vielleicht testen"-
Funktionen: os_wrapper.is_case_sensitive_fs, qgiscore_wrapper.
create_buffer_layer (nur die Wächter, echte Pufferlogik importiert
qgis.core direkt), qgisui_wrapper.find_dock_widgets/add_menu/remove_menu,
DataGrabber._aggregate_results, pruef_ergebnis.dateipfad,
Navigation (add_action, finalize_menu_and_toolbar, set_active_plugin,
remove_action, remove_all), SettingsTab._build_input und PrintTab
(18 Methoden: Zustandslogik, Signal-Handling, Atlas-/Theme-Verwaltung).

PrintTab._build_ui bekommt stattdessen den Vermerk "von Test abgesehen,
weil vernachlässigbar; HD 18.09.2026" - reine Qt-Widget-Konstruktion ohne
eigenständig prüfbare Logik. Damit ist die Kategorie "vielleicht testen"
für sn_basis aufgelöst: jede Funktion ist jetzt getestet oder mit einem
begründeten Vermerk versehen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-18 13:06:06 +02:00
co-authored by Claude Sonnet 5
parent aa4b383a84
commit 8eb89e92a7
10 changed files with 1023 additions and 4 deletions
+16 -1
View File
@@ -1,6 +1,7 @@
"""Tests für sn_basis/modules/pruef_ergebnis.py::ist_verfahrens_db_aktion/erlaubte_persistierung (Issue #65)."""
"""Tests für sn_basis/modules/pruef_ergebnis.py::ist_verfahrens_db_aktion/erlaubte_persistierung/dateipfad (Issue #65/#67)."""
import unittest
from pathlib import Path
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
@@ -43,5 +44,19 @@ class ErlaubtePersistierungTests(unittest.TestCase):
self.assertFalse(ergebnis.erlaubte_persistierung)
class DateipfadTests(unittest.TestCase):
def test_liefert_path_wenn_kontext_ein_path_ist(self):
"""Prüft, dass dateipfad den Kontext liefert, wenn dieser bereits ein Path-Objekt ist."""
ergebnis = pruef_ergebnis(ok=True, kontext=Path("C:/tmp/verfahren.gpkg"))
self.assertEqual(ergebnis.dateipfad, Path("C:/tmp/verfahren.gpkg"))
def test_liefert_none_wenn_kontext_kein_path_ist(self):
"""Prüft, dass dateipfad None liefert, wenn der Kontext kein Path-Objekt ist (z. B. String oder Layer)."""
self.assertIsNone(pruef_ergebnis(ok=True, kontext="C:/tmp/verfahren.gpkg").dateipfad)
self.assertIsNone(pruef_ergebnis(ok=True, kontext=None).dateipfad)
self.assertIsNone(pruef_ergebnis(ok=True, kontext=object()).dateipfad)
if __name__ == "__main__":
unittest.main()