Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65) #66

Merged
Daniel merged 1 commits from feature/65-tests-restliche-funktionen into unstable 2026-09-18 09:27:39 +00:00
Member

Was

Die restlichen priorisierten sn_basis-Funktionen der Kategorie „testen" bekommen Mock-Modus-Tests: Verfahrensgebiet-Zustandsverwaltung, Dock-Verwaltung, Pruefmanager-/Dateipruefer-Entscheidungswege, Fundament-Wrapper und SettingsTab. Issue: #65 (Folge zu #63)

Wie geprüft

  • python scripts/run_tests.py sn_basis --baseline: GRÜN 249/249 bestanden, unverändert gegenüber Baseline (vorher 244/244)
  • QGIS-Test: nicht nötig – reine Logik/Zustandsverwaltung, im Mock-Modus geprüft

Änderungen an Verträgen

keine – nur Tests ergänzt, dazu qt_wrapper._MockQDockWidget.closeEvent() nachgetragen (fehlte, siehe fallstricke.md)

Übergabenotiz

Aufgabe: Basis #65 – Tests für die restlichen priorisierten sn_basis-Funktionen
Stand: fertig
Geändert: 10 neue Testdateien, 3 erweiterte (test_dateipruefer.py, test_pruefmanager.py, test_sys_wrapper.py), 1 zusammengeführte (test_verfahrensgebiet_manager.py — s. u.), qt_wrapper.py (Mock-Ergänzung), changelog.txt
Nachweis: siehe oben
Entscheidungen/Annahmen: LayerLoader.apply_style/ly_style_wrapper.apply_style ausgeklammert (Bug-Verdacht, dritter Fund hartkodierter Fachplugin-Pfade); Pruefmanager._ask_use_or_replace_pufferlayer ausgeklammert (bereits als Bug in #60 erfasst, toter Code)
Wichtig für den Reviewer: Beim Anlegen von test_verfahrensgebiet_manager.py hatte ich versehentlich eine bereits bestehende Testdatei (5 Tests, PR #61) überschrieben, ohne sie vorher zu lesen. Fehler bemerkt, bevor committet wurde — die alten 5 Tests sind wiederhergestellt und mit den 8 neuen zusammengeführt (jetzt 13 Tests in der Datei). Alle anderen neuen Dateien wurden gegen die Historie geprüft, keine weiteren Überschreibungen.
Offen / nächste Schritte: print_logic/print_layout-Tests bleiben bewusst zurückgestellt (geplante Grundüberarbeitung).
Wissensbasis: docs/wissen/fallstricke.md (fehlendes closeEvent() im Mock, zwei bestätigte Heuristik-Fehlalarme, new-Pattern für nicht mock-konstruierbare UI-Klassen), docs/architektur/modulkarte.md – separater Commit im Projektwissen-Repo.

Checkliste

  • Nur Änderungen zum Issue
  • Keine direkten Qt/QGIS-Importe, keine Debug-print
  • changelog.txt ergänzt
  • Wissensbasis nachgezogen
Was Die restlichen priorisierten sn_basis-Funktionen der Kategorie „testen" bekommen Mock-Modus-Tests: Verfahrensgebiet-Zustandsverwaltung, Dock-Verwaltung, Pruefmanager-/Dateipruefer-Entscheidungswege, Fundament-Wrapper und SettingsTab. Issue: #65 (Folge zu #63) Wie geprüft - python scripts/run_tests.py sn_basis --baseline: GRÜN 249/249 bestanden, unverändert gegenüber Baseline (vorher 244/244) - QGIS-Test: nicht nötig – reine Logik/Zustandsverwaltung, im Mock-Modus geprüft Änderungen an Verträgen keine – nur Tests ergänzt, dazu qt_wrapper._MockQDockWidget.closeEvent() nachgetragen (fehlte, siehe fallstricke.md) Übergabenotiz Aufgabe: Basis #65 – Tests für die restlichen priorisierten sn_basis-Funktionen Stand: fertig Geändert: 10 neue Testdateien, 3 erweiterte (test_dateipruefer.py, test_pruefmanager.py, test_sys_wrapper.py), 1 zusammengeführte (test_verfahrensgebiet_manager.py — s. u.), qt_wrapper.py (Mock-Ergänzung), changelog.txt Nachweis: siehe oben Entscheidungen/Annahmen: LayerLoader.apply_style/ly_style_wrapper.apply_style ausgeklammert (Bug-Verdacht, dritter Fund hartkodierter Fachplugin-Pfade); Pruefmanager._ask_use_or_replace_pufferlayer ausgeklammert (bereits als Bug in #60 erfasst, toter Code) Wichtig für den Reviewer: Beim Anlegen von test_verfahrensgebiet_manager.py hatte ich versehentlich eine bereits bestehende Testdatei (5 Tests, PR #61) überschrieben, ohne sie vorher zu lesen. Fehler bemerkt, bevor committet wurde — die alten 5 Tests sind wiederhergestellt und mit den 8 neuen zusammengeführt (jetzt 13 Tests in der Datei). Alle anderen neuen Dateien wurden gegen die Historie geprüft, keine weiteren Überschreibungen. Offen / nächste Schritte: print_logic/print_layout-Tests bleiben bewusst zurückgestellt (geplante Grundüberarbeitung). Wissensbasis: docs/wissen/fallstricke.md (fehlendes closeEvent() im Mock, zwei bestätigte Heuristik-Fehlalarme, __new__-Pattern für nicht mock-konstruierbare UI-Klassen), docs/architektur/modulkarte.md – separater Commit im Projektwissen-Repo. Checkliste - [x] Nur Änderungen zum Issue - [x] Keine direkten Qt/QGIS-Importe, keine Debug-print - [x] changelog.txt ergänzt - [x] Wissensbasis nachgezogen
Daniel added 1 commit 2026-09-18 09:26:56 +00:00
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>
Daniel merged commit 0dd64cbe2e into unstable 2026-09-18 09:27:39 +00:00
Daniel deleted branch feature/65-tests-restliche-funktionen 2026-09-18 09:27:39 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AG_QGIS/Plugin_SN_Basis#66