Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)
79 neue Testfälle: Verfahrensgebiet-Zustandsverwaltung (Listener-Setup/ -teardown, Signal-Handler), DockManager/BaseDockWidget, pruef_ergebnis- Persistenz-Gates, Pruefmanager-Entscheidungswege, restliche Dateipruefer- Zweige, Fundament-Wrapper (sys_wrapper, ly_existence_wrapper, ly_style_wrapper.apply_style_from_path, landkreise, message_wrapper, qgiscore_wrapper.polygon_zu_linie/layer_exists_in_gpkg, qgisui_wrapper.add_layer_to_project) und SettingsTab.save_data/load_data. Ausgeklammert: LayerLoader.apply_style/ly_style_wrapper.apply_style (Bug-Verdacht, hartkodierter Fachplugin-Pfad) und Pruefmanager._ask_use_or_replace_pufferlayer (bereits als Bug in #60 erfasst: ruft nicht existierendes self.pruefmanager auf). qt_wrapper._MockQDockWidget um closeEvent() ergänzt (fehlte, ließ jede BaseDockWidget.closeEvent()-Ausführung im Mock-Modus abstürzen). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""Tests für sn_basis/modules/pruef_ergebnis.py::ist_verfahrens_db_aktion/erlaubte_persistierung (Issue #65)."""
|
||||
|
||||
import unittest
|
||||
|
||||
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
|
||||
|
||||
|
||||
class IstVerfahrensDbAktionTests(unittest.TestCase):
|
||||
def test_liefert_true_fuer_alle_verfahrens_db_aktionen(self):
|
||||
"""Prüft, dass ist_verfahrens_db_aktion für alle vier Verfahrens-DB-Aktionscodes True liefert."""
|
||||
for aktion in (
|
||||
"datei_wird_erzeugt",
|
||||
"datei_existiert",
|
||||
"datei_existiert_ueberschreiben",
|
||||
"datei_existiert_anhaengen",
|
||||
"datei_existiert_ueberspringen",
|
||||
):
|
||||
with self.subTest(aktion=aktion):
|
||||
ergebnis = pruef_ergebnis(ok=True, aktion=aktion)
|
||||
self.assertTrue(ergebnis.ist_verfahrens_db_aktion)
|
||||
|
||||
def test_liefert_false_fuer_andere_aktionen(self):
|
||||
"""Prüft, dass ist_verfahrens_db_aktion für Nicht-Verfahrens-DB-Aktionen und ohne Aktion False liefert."""
|
||||
for aktion in ("ok", "datenabruf", None):
|
||||
with self.subTest(aktion=aktion):
|
||||
ergebnis = pruef_ergebnis(ok=True, aktion=aktion)
|
||||
self.assertFalse(ergebnis.ist_verfahrens_db_aktion)
|
||||
|
||||
|
||||
class ErlaubtePersistierungTests(unittest.TestCase):
|
||||
def test_liefert_true_fuer_erzeugen_ueberschreiben_anhaengen(self):
|
||||
"""Prüft, dass erlaubte_persistierung für Erzeugen/Überschreiben/Anhängen True liefert."""
|
||||
for aktion in ("datei_wird_erzeugt", "datei_existiert_ueberschreiben", "datei_existiert_anhaengen"):
|
||||
with self.subTest(aktion=aktion):
|
||||
ergebnis = pruef_ergebnis(ok=True, aktion=aktion)
|
||||
self.assertTrue(ergebnis.erlaubte_persistierung)
|
||||
|
||||
def test_liefert_false_fuer_ueberspringen_und_reines_existieren(self):
|
||||
"""Prüft, dass erlaubte_persistierung bei Überspringen und reinem 'datei_existiert' False liefert."""
|
||||
for aktion in ("datei_existiert_ueberspringen", "datei_existiert", "ok", None):
|
||||
with self.subTest(aktion=aktion):
|
||||
ergebnis = pruef_ergebnis(ok=True, aktion=aktion)
|
||||
self.assertFalse(ergebnis.erlaubte_persistierung)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user