forked from AG_QGIS/Plugin_SN_Basis
Wrappe modular aufgebaut, Tests erfolgreich, Menüleiste und Werzeugleiste werden eingetragen (QT6 und QT5)- (Es fehlen noch Fachplugins, um zu prüfen, ob es auch wirklich in QGIS geht)
This commit is contained in:
@@ -25,7 +25,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 2. Leere Eingabe erlaubt → Nutzer sagt JA
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=True)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=True)
|
||||
def test_leereingabe_erlaubt_ja(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Leer?", "leereingabe_erlaubt", None)
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
@@ -36,7 +36,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 3. Leere Eingabe erlaubt → Nutzer sagt NEIN
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=False)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=False)
|
||||
def test_leereingabe_erlaubt_nein(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Leer?", "leereingabe_erlaubt", None)
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
@@ -47,21 +47,33 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 4. Standarddatei vorschlagen → Nutzer sagt JA
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=True)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=True)
|
||||
def test_standarddatei_vorschlagen_ja(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Standarddatei verwenden?", "standarddatei_vorschlagen", "/tmp/std.txt")
|
||||
ergebnis = pruef_ergebnis(
|
||||
False,
|
||||
"Standarddatei verwenden?",
|
||||
"standarddatei_vorschlagen",
|
||||
"/tmp/std.txt",
|
||||
)
|
||||
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
|
||||
self.assertTrue(entscheidung.ok)
|
||||
self.assertEqual(entscheidung.aktion, "ok")
|
||||
self.assertEqual(entscheidung.pfad, "/tmp/std.txt")
|
||||
self.assertEqual(entscheidung.kontext, "/tmp/std.txt")
|
||||
|
||||
# -----------------------------------------------------
|
||||
# 5. Standarddatei vorschlagen → Nutzer sagt NEIN
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=False)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=False)
|
||||
def test_standarddatei_vorschlagen_nein(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Standarddatei verwenden?", "standarddatei_vorschlagen", "/tmp/std.txt")
|
||||
ergebnis = pruef_ergebnis(
|
||||
False,
|
||||
"Standarddatei verwenden?",
|
||||
"standarddatei_vorschlagen",
|
||||
"/tmp/std.txt",
|
||||
)
|
||||
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
|
||||
self.assertFalse(entscheidung.ok)
|
||||
@@ -70,7 +82,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 6. Temporäre Datei erzeugen → Nutzer sagt JA
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=True)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=True)
|
||||
def test_temporaer_erlaubt_ja(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Temporär?", "temporaer_erlaubt", None)
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
@@ -81,7 +93,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 7. Temporäre Datei erzeugen → Nutzer sagt NEIN
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=False)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=False)
|
||||
def test_temporaer_erlaubt_nein(self, mock_ask):
|
||||
ergebnis = pruef_ergebnis(False, "Temporär?", "temporaer_erlaubt", None)
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
@@ -92,8 +104,8 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 8. Layer unsichtbar → Nutzer sagt JA
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=True)
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.set_layer_visible")
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=True)
|
||||
@patch("sn_basis.modules.Pruefmanager.set_layer_visible")
|
||||
def test_layer_unsichtbar_ja(self, mock_set, mock_ask):
|
||||
fake_layer = object()
|
||||
ergebnis = pruef_ergebnis(False, "Layer unsichtbar", "layer_unsichtbar", fake_layer)
|
||||
@@ -107,7 +119,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 9. Layer unsichtbar → Nutzer sagt NEIN
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.ask_yes_no", return_value=False)
|
||||
@patch("sn_basis.modules.Pruefmanager.ask_yes_no", return_value=False)
|
||||
def test_layer_unsichtbar_nein(self, mock_ask):
|
||||
fake_layer = object()
|
||||
ergebnis = pruef_ergebnis(False, "Layer unsichtbar", "layer_unsichtbar", fake_layer)
|
||||
@@ -120,7 +132,7 @@ class TestPruefmanager(unittest.TestCase):
|
||||
# -----------------------------------------------------
|
||||
# 10. Fehlerhafte Aktion → Fallback
|
||||
# -----------------------------------------------------
|
||||
@patch("sn_basis.functions.qgisqt_wrapper.warning")
|
||||
@patch("sn_basis.modules.Pruefmanager.warning")
|
||||
def test_unbekannte_aktion(self, mock_warn):
|
||||
ergebnis = pruef_ergebnis(False, "???", "unbekannt", None)
|
||||
entscheidung = self.manager.verarbeite(ergebnis)
|
||||
|
||||
Reference in New Issue
Block a user