Jedes Paket zeigt jetzt dieselben Kennzahl-Kacheln wie die Gesamtübersicht (Testdateien, Testfälle, grün/rot/übersprungen, mit Docstring, geprüft, ohne Testbezug) statt eines Fließtexts. Ungetestete Funktionen werden per Docstring-Auswertung als "beabsichtigt" (Vermerk "von Test abgesehen, weil …" oder "Test ausgesetzt, zunächst Refactor") oder "ungeklärt" markiert - in Markdown als Anmerkung je Funktion, im Prüfstand als Pille mit Tooltip (Begründung). Der Abschnitt "Ungetestete Funktionen" ist im Prüfstand jetzt eine ausklappbare Karte wie eine Testdatei, mit eigener Kennzahl-Übersicht (Anzahl, ungeklärt, beabsichtigt) im Kopf - bewusst von den Filter-Chips ausgenommen (.gapcard), da diese sich auf Testfall-Status beziehen, nicht auf Quellcode-Funktionen. Neue Funktion absichtlicher_verzicht() plus 6 neue Tests in scripts/tests/test_testkatalog_quellfunktionen.py. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
144 KiB
Testkatalog der sn_*-Plugins
Automatisch erzeugt von
scripts/testkatalog.py– nicht von Hand bearbeiten. Neu erzeugen:python scripts/testkatalog.py. Prüfen (CI, vor dem Commit):python scripts/testkatalog.py --pruefen.
Dieser Katalog zeigt ohne Blick in den Quelltext, was die Testsuite prüft. Er ist die Grundlage für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus den Testdateien selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Stand des Prüf-Audits: docs/status/testpruefungen.json (SHA-256 68b590c8feef)
Gesamt: 3 Pakete, 49 Testdateien, 569 Testfälle – 526 grün, 35 rot (Baseline), 8 übersprungen. Mit Beschreibung (Docstring): 424 von 569 (75 %). Fachlich geprüft: 55 von 569 (10 %) aktuell, 0 veraltet seit Codeänderung, 514 nie geprüft. Strukturelle Lücken (heuristisch, Namensabgleich): 149 von 413 (36 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug |
|---|---|---|---|---|---|---|---|---|
sn_basis |
32 | 317 | 317 | 0 | 0 | 317 von 317 (100 %) | 55 von 317 (17 %) | 76 von 229 (33 %) |
sn_verfahrensgebiet |
12 | 208 | 166 | 34 | 8 | 106 von 208 (51 %) | 0 von 208 (0 %) | 34 von 104 (33 %) |
sn_plan41 |
5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
| Summe | 49 | 569 | 526 | 35 | 8 | 424 von 569 (75 %) | 55 von 569 (10 %) | 149 von 413 (36 %) |
Legende
- prüft – erste Zeile des Docstrings des Testfalls. Fehlt sie, steht dort
— (Docstring fehlt). - grün – der Testfall lief im Baseline-Lauf durch.
- rot (Baseline) – der Testfall schlägt bereits fehl und ist in
docs/status/testbaseline.jsonvermerkt; er darf nicht ignoriert, aber auch nicht als neuer Fehler gewertet werden. - übersprungen – per
@unittest.skip/skipIf/skipUnlessabgeschaltet; der Grund steht dabei. - Ein Testfall heißt
Testgruppe.test_name; die Testgruppe fasst zusammengehörige Testfälle einer Datei zusammen. - geprüft – Prüf-Audit (
scripts/test_audit.py): nie geprüft kein Eintrag indocs/status/testpruefungen.json; geprüft am … ein Mensch hat den Testfall bestätigt und der Testcode hat sich seither nicht geändert; veraltet seit Änderung … der Testcode wurde nach der letzten Prüfung geändert. - ohne Testbezug – Funktionen/Methoden im Quellcode, deren Name in keiner Testdatei des Pakets vorkommt (weder als Aufruf noch als
mock.patch("…")-Ziel). Ein Namensabgleich, kein Ausführungsnachweis – siehe Abschnitt „Ungetestete Funktionen“ für die Grenzen dieser Heuristik. Das ist bewusst keine Zeilen-Coverage in Prozent (siehe ADR 0009, „Verworfene Alternativen“), sondern eine Lückenliste wie bei fehlenden Beschreibungen. Davon beabsichtigt – der Docstring dokumentiert den Testverzicht; ungeklärt – weder Test noch Vermerk, die eigentliche Arbeitsliste.
Paket sn_basis
Plattform-Plugin, Ordner Plugin_SN_Basis – 32 Testdateien mit 317 Testfällen (317 grün, 0 rot, 0 übersprungen).
Plugin_SN_Basis/tests/test_base_dockwidget.py
Worum es in der Datei geht: Tests für sn_basis/ui/base_dockwidget.py::closeEvent (Issue #65).
Testgruppen:
CloseEventTests(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
CloseEventTests.test_ruft_cleanup_aller_tabs_auf |
Prüft, dass closeEvent cleanup() auf allen Tabs des Dock-Widgets aufruft. | grün | nie geprüft |
CloseEventTests.test_ignoriert_tabs_ohne_cleanup |
Prüft, dass ein Tab ohne cleanup()-Methode nicht zu einem Fehler führt. | grün | nie geprüft |
CloseEventTests.test_fehler_in_cleanup_wird_abgefangen_und_andere_tabs_laufen_weiter |
Prüft, dass ein Fehler in cleanup() eines Tabs nicht die übrigen Tabs verhindert. | grün | nie geprüft |
CloseEventTests.test_setzt_toolbar_action_zurueck |
Prüft, dass closeEvent die verknüpfte Toolbar-Action auf 'nicht gedrückt' zurücksetzt. | grün | nie geprüft |
CloseEventTests.test_ohne_action_wird_nichts_zurueckgesetzt |
Prüft, dass closeEvent ohne verknüpfte Toolbar-Action keine Ausnahme wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_bootstrap.py
Worum es in der Datei geht: — (Docstring fehlt)
Keine Testfälle: Die Datei enthält keine unittest.TestCase-Klasse – sie ist eine reine Hilfsdatei, die beim Testlauf nur importiert wird.
Plugin_SN_Basis/tests/test_datagrabber.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDataGrabber(8 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDataGrabber.test_analyze_source_type_detects_excel |
Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_returns_unknown_filetype |
Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_detects_service_when_file_check_fails |
Prüft, dass eine Quelle als 'dienst' erkannt wird, wenn die Dateiprüfung fehlschlägt, die URL aber erreichbar ist. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_returns_unbekannte_quelle_on_full_failure |
Prüft, dass eine Quelle als 'unbekannte_quelle' eingestuft wird, wenn weder Datei- noch Linkprüfung erfolgreich sind. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_run_returns_success_summary_with_valid_rows |
Prüft, dass run() bei erfolgreichem Excel-Import eine Erfolgsmeldung mit den geladenen Zeilen liefert. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_run_returns_failure_summary_without_rows |
Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_aggregate_results_mit_zeilen_liefert_erfolgsergebnis |
Prüft, dass _aggregate_results bei vorhandenen Zeilen ein Erfolgsergebnis mit Zeilenzahl liefert. | grün | nie geprüft |
TestDataGrabber.test_aggregate_results_ohne_zeilen_liefert_keine_validen_eintraege |
Prüft, dass _aggregate_results ohne Zeilen ok=False mit Aktion 'keine_validen_eintraege' liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_dateipruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDateipruefer(12 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDateipruefer.test_leereingabe_erlaubt |
Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_leereingabe_nicht_erlaubt |
Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_standarddatei_vorschlagen |
Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird. | grün | nie geprüft |
TestDateipruefer.test_temporaer_erlaubt |
Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_datei_nicht_gefunden |
Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_datei_ok |
Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_erkenne_dateityp_unterscheidet_excel_datenbank_und_unbekannt |
Prüft, dass erkenne_dateityp .xlsx als 'excel', .gpkg/.sqlite als 'datenbank' und Rest als 'unbekannt' erkennt. | grün | nie geprüft |
TestDateipruefer.test_pfad_verbindet_relativen_pfad_mit_basispfad |
Prüft, dass _pfad einen relativen Pfad mit dem Basisverzeichnis verbindet. | grün | nie geprüft |
TestDateipruefer.test_pfad_laesst_absoluten_pfad_unveraendert |
Prüft, dass _pfad einen bereits absoluten Pfad nicht mit dem Basisverzeichnis verbindet. | grün | nie geprüft |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_akzeptiert_vorhandenes_verzeichnis |
Prüft, dass ein .gpkg-Pfad mit vorhandenem Zielverzeichnis als gültig gilt. | grün | nie geprüft |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_lehnt_falsche_endung_ab |
Prüft, dass ein Pfad ohne .gpkg-Endung als ungültig gilt, auch bei vorhandenem Verzeichnis. | grün | nie geprüft |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_lehnt_fehlendes_verzeichnis_ab |
Prüft, dass ein .gpkg-Pfad in einem nicht vorhandenen Verzeichnis als ungültig gilt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_datenabruf.py
Worum es in der Datei geht: Tests für sn_basis/modules/Datenabruf.py (Datenabruf-Kernpipeline, Issue #63).
Testgruppen:
DetermineSpatialFilterTests(7 Testfälle): — (Docstring fehlt)BuildProviderUrlTests(9 Testfälle): — (Docstring fehlt)FetchFeaturesTests(5 Testfälle): — (Docstring fehlt)DatenabrufOrchestrierungTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
DetermineSpatialFilterTests.test_raumfilter_ohne_liefert_none |
Prüft, dass Raumfilter 'ohne' unabhängig vom Layer immer None liefert. | grün | nie geprüft |
DetermineSpatialFilterTests.test_fehlender_layer_liefert_none |
Prüft, dass ohne Verfahrensgebiet-Layer kein Raumfilter gebaut wird. | grün | nie geprüft |
DetermineSpatialFilterTests.test_unbekannter_raumfilter_liefert_none |
Prüft, dass ein unbekannter Raumfilter-Wert None liefert, statt einen Fehler zu werfen. | grün | nie geprüft |
DetermineSpatialFilterTests.test_verfahrensgebiet_liefert_extent_und_crs |
Prüft, dass Raumfilter 'Verfahrensgebiet' Extent und CRS des Verfahrensgebiet-Layers liefert. | grün | nie geprüft |
DetermineSpatialFilterTests.test_verfahrensgebiet_ohne_extent_liefert_none |
Prüft, dass ein Verfahrensgebiet-Layer ohne ermittelbaren Extent None liefert. | grün | nie geprüft |
DetermineSpatialFilterTests.test_pufferlayer_liefert_extent_des_pufferlayers |
Prüft, dass Raumfilter 'Pufferlayer' Extent und CRS des erzeugten Pufferlayers liefert. | grün | nie geprüft |
DetermineSpatialFilterTests.test_pufferlayer_ohne_puffer_liefert_none |
Prüft, dass 'Pufferlayer' None liefert, wenn kein Pufferlayer erzeugt werden konnte. | grün | nie geprüft |
BuildProviderUrlTests.test_wms_liefert_link_unveraendert |
Prüft, dass bei Provider WMS der Link unverändert durchgereicht wird, auch mit Raumfilter. | grün | nie geprüft |
BuildProviderUrlTests.test_url_praefix_wird_entfernt |
Prüft, dass ein vorangestelltes 'url=' aus dem Link entfernt wird. | grün | nie geprüft |
BuildProviderUrlTests.test_wfs_baut_standardparameter_und_bbox_mit_crs |
Prüft, dass WFS-Abrufe Standardparameter, umbenanntes TYPENAMES und BBOX mit CRS-URN erhalten. | grün | nie geprüft |
BuildProviderUrlTests.test_wfs_repariert_doppeltes_fragezeichen |
Prüft, dass ein zweites '?' im WFS-Link zu '&' korrigiert wird, statt eine ungültige URL zu erzeugen. | grün | nie geprüft |
BuildProviderUrlTests.test_wfs_ohne_raumfilter_setzt_keine_bbox |
Prüft, dass WFS ohne Raumfilter (bbox_geom=None) keinen BBOX-Parameter setzt. | grün | nie geprüft |
BuildProviderUrlTests.test_rest_provider_haengt_query_endpunkt_an |
Prüft, dass REST/ArcGIS-Links ohne '/query'-Endpunkt automatisch ergänzt werden. | grün | nie geprüft |
BuildProviderUrlTests.test_rest_provider_mit_bbox_baut_geometry_envelope_und_srid |
Prüft, dass REST-Abrufe mit Raumfilter eine Geometry-Envelope und inSR/outSR aus dem CRS setzen. | grün | nie geprüft |
BuildProviderUrlTests.test_default_provider_haengt_generischen_bbox_parameter_an |
Prüft, dass ein unbekannter Provider mit Raumfilter einen generischen bbox-Parameter erhält. | grün | nie geprüft |
BuildProviderUrlTests.test_default_provider_ohne_raumfilter_laesst_query_unveraendert |
Prüft, dass ein unbekannter Provider ohne Raumfilter keinen bbox-Parameter ergänzt. | grün | nie geprüft |
FetchFeaturesTests.test_wms_liefert_keine_features_ohne_fehler |
Prüft, dass bei Provider WMS kein Featureabruf stattfindet und kein Fehler gemeldet wird. | grün | nie geprüft |
FetchFeaturesTests.test_abbruch_vor_abruf_liefert_fehlermeldung |
Prüft, dass ein bereits gesetzter Abbruch vor dem eigentlichen Abruf erkannt wird. | grün | nie geprüft |
FetchFeaturesTests.test_json_featurecollection_wird_geparst |
Prüft, dass eine JSON-FeatureCollection-Antwort in eine Feature-Liste umgewandelt wird. | grün | nie geprüft |
FetchFeaturesTests.test_netzwerkfehler_wird_als_fehlermeldung_gemeldet |
Prüft, dass ein fehlgeschlagener HTTP-Abruf eine Fehlermeldung statt einer Ausnahme liefert. | grün | nie geprüft |
FetchFeaturesTests.test_wfs_xml_liefert_anzahl_aus_numberofmatched |
Prüft, dass eine WFS-XML-Antwort ohne JSON die Trefferzahl aus numberOfMatched übernimmt. | grün | nie geprüft |
DatenabrufOrchestrierungTests.test_fehlende_pflichtfelder_werden_als_ungueltig_gemeldet |
Prüft, dass eine Zeile ohne Link/Provider mit Aktion 'pflichtfelder_fehlen' gemeldet und übersprungen wird. | grün | nie geprüft |
DatenabrufOrchestrierungTests.test_wms_zeile_ohne_features_landet_in_ausserhalb |
Prüft, dass eine erfolgreich abgerufene WMS-Zeile mit 0 Features als 'ausserhalb' gezählt wird. | grün | nie geprüft |
DatenabrufOrchestrierungTests.test_abbruch_ueber_progress_stoppt_weitere_zeilen |
Prüft, dass ein Abbruch über das Progress-Objekt die Verarbeitung weiterer Zeilen stoppt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_datenschreiber.py
Worum es in der Datei geht: Tests für sn_basis/modules/Datenschreiber.py (Schreib-/Ladepipeline, Issue #63).
Testgruppen:
WriteLayerToGpkgTests(2 Testfälle): — (Docstring fehlt)ResolveStylePathTests(3 Testfälle): — (Docstring fehlt)SchreibeDatenTests(4 Testfälle): — (Docstring fehlt)LadeLayerTests(3 Testfälle): — (Docstring fehlt)SchreibeLogTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
WriteLayerToGpkgTests.test_ungueltiger_layer_liefert_fehlermeldung |
Prüft, dass ein ungültiger Layer eine Fehlermeldung statt eines Absturzes liefert. | grün | nie geprüft |
WriteLayerToGpkgTests.test_gueltiger_layer_wird_ohne_fehler_geschrieben |
Prüft, dass ein gültiger Layer im Mock-Modus ohne Fehlermeldung geschrieben wird. | grün | nie geprüft |
ResolveStylePathTests.test_leerer_stilpfad_liefert_none |
Prüft, dass ein leerer oder fehlender Stilpfad None liefert. | grün | nie geprüft |
ResolveStylePathTests.test_absoluter_vorhandener_stilpfad_wird_aufgeloest |
Prüft, dass ein absoluter, vorhandener Stilpfad normalisiert und unverändert erkannt wird. | grün | nie geprüft |
ResolveStylePathTests.test_nicht_vorhandener_stilpfad_liefert_none |
Prüft, dass ein nicht vorhandener Stilpfad None liefert, statt einen ungültigen Pfad zurückzugeben. | grün | nie geprüft |
SchreibeDatenTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_Daten ohne Speicherort einen ValueError wirft. | grün | nie geprüft |
SchreibeDatenTests.test_eintrag_ohne_gueltigen_layer_wird_uebersprungen |
Prüft, dass ein Eintrag ohne gültigen Layer übersprungen wird und ein Fehlerergebnis meldet. | grün | nie geprüft |
SchreibeDatenTests.test_erfolgreicher_eintrag_liefert_layer_path_und_thema |
Prüft, dass ein gültiger Layer einen Layer-Path mit GPKG-Pfad und Layername liefert. | grün | nie geprüft |
SchreibeDatenTests.test_ohne_thema_wird_ident_als_layername_verwendet |
Prüft, dass ohne passendes Thema in processed_results der ident als Layername verwendet wird. | grün | nie geprüft |
LadeLayerTests.test_ohne_layer_path_wird_uebersprungen |
Prüft, dass ein Eintrag ohne layer_path übersprungen wird, ohne einen Fehler zu melden. | grün | nie geprüft |
LadeLayerTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültig ladbarer Layer ohne Fehlermeldung verarbeitet wird. | grün | nie geprüft |
LadeLayerTests.test_ungueltiger_layer_meldet_layer_nicht_gefunden |
Prüft, dass ein ungültig ladbarer Layer als 'layer_nicht_gefunden' gemeldet wird. | grün | nie geprüft |
SchreibeLogTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_log ohne Speicherort einen ValueError wirft. | grün | nie geprüft |
SchreibeLogTests.test_schreibt_json_datei_mit_ergebnissen_und_gibt_pfad_zurueck |
Prüft, dass schreibe_log eine lesbare JSON-Log-Datei erzeugt und deren Pfad zurückgibt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_dockmanager.py
Worum es in der Datei geht: Tests für sn_basis/ui/dockmanager.py (nur ein Dock gleichzeitig sichtbar, Issue #65).
Testgruppen:
DockManagerShowTests(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
DockManagerShowTests.test_none_dock_meldet_fehler_und_zeigt_nichts_an |
Prüft, dass ein fehlendes Dock-Widget (None) einen Fehler meldet und nichts anzeigt. | grün | nie geprüft |
DockManagerShowTests.test_setzt_objectname_wenn_leer |
Prüft, dass ein Dock ohne Namen einen technischen Namen mit dem Präfix 'sn_dock_' erhält. | grün | nie geprüft |
DockManagerShowTests.test_entfernt_andere_sn_docks_aber_nicht_sich_selbst |
Prüft, dass andere sn_basis-Docks entfernt werden, das neue Dock und fremde Widgets aber unangetastet bleiben. | grün | nie geprüft |
DockManagerShowTests.test_zeigt_neues_dock_mit_default_area_an |
Prüft, dass ein neues Dock mit der Standard-Area (DockAreaRight) angezeigt wird. | grün | nie geprüft |
DockManagerShowTests.test_fehler_beim_entfernen_wird_als_warnung_gemeldet |
Prüft, dass ein Fehler beim Entfernen alter Docks nur gewarnt und das neue Dock trotzdem angezeigt wird. | grün | nie geprüft |
DockManagerShowTests.test_fehler_beim_anzeigen_wird_gemeldet |
Prüft, dass ein Fehler beim Anzeigen des Docks als Fehler gemeldet wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_excel_importer.py
Worum es in der Datei geht: Tests für sn_basis/modules/excel_importer.py (Excel-Import für Linklisten, Issue #63).
Testgruppen:
ImportXlsxTests(5 Testfälle): — (Docstring fehlt)ExcelImporterKonstruktorTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
ImportXlsxTests.test_erfolgreicher_import_liefert_zeilen_als_dicts |
Prüft, dass eine gültige Excel-Datei als Liste von Dicts mit den Header-Spalten geliefert wird. | grün | nie geprüft |
ImportXlsxTests.test_fehlende_datei_liefert_leere_liste |
Prüft, dass eine nicht vorhandene Datei eine leere Liste liefert, statt eine Ausnahme zu werfen. | grün | nie geprüft |
ImportXlsxTests.test_arbeitsblatt_ohne_header_liefert_leere_liste_und_meldet_kein_header |
Prüft, dass ein leeres Arbeitsblatt ohne Header-Zeile 'kein_header' meldet und eine leere Liste liefert. | grün | nie geprüft |
ImportXlsxTests.test_header_zeile_nur_leere_werte_liefert_kein_header |
Prüft, dass eine Header-Zeile aus ausschließlich leeren Zellen ebenfalls als 'kein_header' gilt. | grün | nie geprüft |
ImportXlsxTests.test_nicht_lesbare_datei_liefert_leere_liste_und_meldet_read_error |
Prüft, dass eine Datei mit ungültigem Excel-Inhalt 'read_error' meldet und eine leere Liste liefert. | grün | nie geprüft |
ExcelImporterKonstruktorTests.test_ohne_dateipfad_wirft_valueerror |
Prüft, dass ExcelImporter ohne Dateipfad einen ValueError wirft. | grün | nie geprüft |
ExcelImporterKonstruktorTests.test_ohne_pruefmanager_wirft_valueerror |
Prüft, dass ExcelImporter ohne Pruefmanager einen ValueError wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_laenderkennung.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.laenderkennung.
Testgruppen:
TestGetLaenderkennung(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestGetLaenderkennung.test_bekannter_praefix_gibt_kennung_zurueck |
Prüft, dass der Präfix 'sn' die ALKIS-Länderkennung '14' für Sachsen liefert. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig |
Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror |
Prüft, dass ein unbekannter Präfix einen KeyError auslöst. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet |
Prüft, dass ohne Argument der Präfix aus dem Modulnamen des Aufrufers abgeleitet wird. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_mapping_enthaelt_sachsen |
Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen ('sn' -> '14') enthält. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_landkreise.py
Worum es in der Datei geht: Tests für sn_basis/functions/landkreise.py::_lade_landkreise (Issue #65).
Testgruppen:
LadeLandkreiseTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
LadeLandkreiseTests.test_laedt_die_echte_landkreisliste_nicht_leer |
Prüft, dass _lade_landkreise die echte landkreise.json als nicht-leere Liste von (Kennzahl, Name)-Tupeln liefert. | grün | nie geprüft |
LadeLandkreiseTests.test_fehlende_datei_liefert_leere_liste |
Prüft, dass eine nicht lesbare Datenquelle eine leere Liste liefert, statt eine Ausnahme zu werfen. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_layerloader.py
Worum es in der Datei geht: Tests für sn_basis/modules/LayerLoader.py (Layer erzeugen/filtern/laden, Issue #63).
Testgruppen:
CreateLayerTests(7 Testfälle): — (Docstring fehlt)TransformGeometryTests(3 Testfälle): — (Docstring fehlt)TransformExtentTests(2 Testfälle): — (Docstring fehlt)FilterByExtentTests(6 Testfälle): — (Docstring fehlt)FilterByLayerTests(4 Testfälle): — (Docstring fehlt)AddToProjectTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
CreateLayerTests.test_wfs_baut_uri_ohne_getfeature_parameter |
Prüft, dass für WFS die GetFeature-spezifischen Parameter aus der URI entfernt werden. | grün | nie geprüft |
CreateLayerTests.test_wfs_mit_url_praefix_wird_nicht_doppelt_gesetzt |
Prüft, dass ein bereits vorhandenes 'url='-Präfix im WFS-Link nicht verdoppelt wird. | grün | nie geprüft |
CreateLayerTests.test_wms_baut_url_praefix_und_nutzt_rasterlayer |
Prüft, dass WMS-Layer über QgsRasterLayer mit 'url='-Präfix erzeugt werden. | grün | nie geprüft |
CreateLayerTests.test_rest_featureserver_ergaenzt_layer_index |
Prüft, dass ein REST-Link auf '.../FeatureServer' automatisch um '/0' ergänzt wird. | grün | nie geprüft |
CreateLayerTests.test_ogr_provider_nutzt_link_direkt |
Prüft, dass ein OGR-Provider den Link unverändert an QgsVectorLayer übergibt. | grün | nie geprüft |
CreateLayerTests.test_ungueltiger_layer_meldet_layer_nicht_verfuegbar |
Prüft, dass ein ungültig erzeugter Layer als 'layer_nicht_verfuegbar' gemeldet wird und None liefert. | grün | nie geprüft |
CreateLayerTests.test_ausnahme_beim_erstellen_wird_abgefangen |
Prüft, dass eine Ausnahme beim Layer-Erstellen abgefangen und als Fehlerergebnis gemeldet wird. | grün | nie geprüft |
TransformGeometryTests.test_fehlender_layer_liefert_geometrie_unveraendert |
Prüft, dass ohne Quell- oder Ziel-Layer die Geometrie unverändert zurückgegeben wird. | grün | nie geprüft |
TransformGeometryTests.test_gleiche_crs_liefert_geometrie_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel keine Transformation stattfindet. | grün | nie geprüft |
TransformGeometryTests.test_unterschiedliche_crs_klont_und_transformiert_geometrie |
Prüft, dass bei unterschiedlichem CRS eine geklonte, transformierte Geometrie geliefert wird. | grün | nie geprüft |
TransformExtentTests.test_gleiche_crs_liefert_extent_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel der Extent unverändert bleibt. | grün | nie geprüft |
TransformExtentTests.test_unterschiedliche_crs_nutzt_coordinate_transform |
Prüft, dass bei unterschiedlichem CRS der Extent über QgsCoordinateTransform umgerechnet wird. | grün | nie geprüft |
FilterByExtentTests.test_ungueltiger_layer_wird_unveraendert_zurueckgegeben |
Prüft, dass ein ungültiger Layer von filter_by_extent unverändert zurückgegeben wird. | grün | nie geprüft |
FilterByExtentTests.test_ohne_extent_wird_layer_unveraendert_zurueckgegeben |
Prüft, dass ohne Extent (None) der Layer unverändert zurückgegeben wird. | grün | nie geprüft |
FilterByExtentTests.test_falscher_layertyp_wird_unveraendert_zurueckgegeben |
Prüft, dass ein Nicht-Vektor-Layer (z. B. Rasterlayer) unverändert zurückgegeben wird. | grün | nie geprüft |
FilterByExtentTests.test_keine_treffer_liefert_none |
Prüft, dass ein Raumfilter ohne Treffer None statt eines leeren Layers liefert. | grün | nie geprüft |
FilterByExtentTests.test_abbruch_liefert_none_und_meldet_needs_user_action |
Prüft, dass ein Abbruch während des Raumfilters None liefert und gemeldet wird. | grün | nie geprüft |
FilterByExtentTests.test_erfolgreicher_filter_liefert_neuen_layer_mit_features |
Prüft, dass ein erfolgreicher BBOX-Filter einen neuen Speicherlayer mit den gefundenen Features liefert. | grün | nie geprüft |
FilterByLayerTests.test_ungueltiger_layer_oder_filterlayer_wird_unveraendert_zurueckgegeben |
Prüft, dass ein ungültiger Haupt- oder Filter-Layer unverändert zurückgegeben wird. | grün | nie geprüft |
FilterByLayerTests.test_filterlayer_ohne_features_liefert_none |
Prüft, dass ein Filter-Layer ohne Features (leere Vereinigungsgeometrie) None liefert. | grün | nie geprüft |
FilterByLayerTests.test_erfolgreicher_geometriefilter_liefert_neuen_layer |
Prüft, dass ein erfolgreicher Geometriefilter einen neuen Speicherlayer mit den passenden Features liefert. | grün | nie geprüft |
FilterByLayerTests.test_keine_ueberschneidung_liefert_none |
Prüft, dass ohne überschneidende Features None statt eines leeren Layers geliefert wird. | grün | nie geprüft |
AddToProjectTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültiger Layer über QgsProject.instance().addMapLayer hinzugefügt wird. | grün | nie geprüft |
AddToProjectTests.test_ungueltiger_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein ungültiger Layer nicht ans Projekt übergeben wird. | grün | nie geprüft |
AddToProjectTests.test_none_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein fehlender Layer (None) nicht ans Projekt übergeben wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_layerpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestLayerpruefer(10 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestLayerpruefer.test_layer_exists |
Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_unsichtbar |
Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falscher_layertyp |
Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falscher_geotyp |
Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_leer |
Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falsches_crs |
Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_felder_fehlen |
Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_datenquelle_unerwartet |
Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_nicht_editierbar |
Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_ok |
Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_linkpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestLinkpruefer(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestLinkpruefer.test_leere_eingabe |
Prüft, dass eine leere Eingabe ohne Netzwerk-/Dateizugriff als 'leer' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_ok |
Prüft, dass eine erreichbare Remote-URL (HTTP HEAD ohne Fehler) als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_error |
Prüft, dass eine Remote-URL mit Fehlerantwort als 'url_nicht_erreichbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_network_error |
Prüft, dass eine ausbleibende Netzwerkantwort (None) als 'netzwerkfehler' gemeldet wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_local_link_not_found |
Prüft, dass ein nicht existierender lokaler Pfad als 'pfad_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_local_link_ok |
Prüft, dass ein existierender lokaler Pfad als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_ly_existence_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/ly_existence_wrapper.py::layer_is_valid/layer_is_usable (Issue #65).
Testgruppen:
LayerIsValidTests(5 Testfälle): — (Docstring fehlt)LayerIsUsableTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
LayerIsValidTests.test_none_ist_nicht_gueltig |
Prüft, dass layer_is_valid für None False liefert. | grün | nie geprüft |
LayerIsValidTests.test_objekt_ohne_isvalid_ist_nicht_gueltig |
Prüft, dass ein Objekt ohne isValid()-Methode als ungültig gilt. | grün | nie geprüft |
LayerIsValidTests.test_gueltiger_layer_liefert_true |
Prüft, dass ein Layer mit isValid()==True als gültig erkannt wird. | grün | nie geprüft |
LayerIsValidTests.test_ungueltiger_layer_liefert_false |
Prüft, dass ein Layer mit isValid()==False als ungültig erkannt wird. | grün | nie geprüft |
LayerIsValidTests.test_ausnahme_bei_isvalid_liefert_false |
Prüft, dass eine Ausnahme in isValid() abgefangen wird und False liefert. | grün | nie geprüft |
LayerIsUsableTests.test_none_ist_nicht_nutzbar |
Prüft, dass layer_is_usable für None False liefert. | grün | nie geprüft |
LayerIsUsableTests.test_gueltiger_layer_ist_nutzbar |
Prüft, dass ein vorhandener, gültiger Layer als nutzbar gilt. | grün | nie geprüft |
LayerIsUsableTests.test_ungueltiger_layer_ist_nicht_nutzbar |
Prüft, dass ein vorhandener, aber ungültiger Layer als nicht nutzbar gilt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_ly_style_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/ly_style_wrapper.py::apply_style_from_path (Issue #65).
Testgruppen:
ApplyStyleFromPathTests(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
ApplyStyleFromPathTests.test_fehlender_layer_liefert_false |
Prüft, dass ein fehlender Layer (None) False liefert, ohne einen Stil zu laden. | grün | nie geprüft |
ApplyStyleFromPathTests.test_erfolgreiches_laden_liefert_true_und_triggert_repaint |
Prüft, dass ein erfolgreich geladener Stil True liefert und den Layer neu zeichnet. | grün | nie geprüft |
ApplyStyleFromPathTests.test_fehlgeschlagenes_laden_liefert_false_ohne_repaint |
Prüft, dass ein fehlgeschlagenes Laden False liefert, ohne den Layer neu zu zeichnen. | grün | nie geprüft |
ApplyStyleFromPathTests.test_ausnahme_beim_laden_wird_abgefangen |
Prüft, dass eine Ausnahme beim Laden des Stils abgefangen wird und False liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_message_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/message_wrapper.py (Issue #65).
Testgruppen:
GetMessageBarTests(2 Testfälle): — (Docstring fehlt)PushMessageTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
GetMessageBarTests.test_liefert_objekt_mit_pushmessage_methode |
Prüft, dass _get_message_bar ein Objekt mit aufrufbarer pushMessage()-Methode liefert. | grün | nie geprüft |
GetMessageBarTests.test_faellt_bei_fehlerhaftem_iface_auf_mock_bar_zurueck |
Prüft, dass ein Fehler beim Zugriff auf iface.messageBar() auf eine funktionierende Mock-MessageBar zurückfällt. | grün | nie geprüft |
PushMessageTests.test_liefert_dict_mit_titel_text_level_und_dauer |
Prüft, dass push_message im Mock-Modus ein Dict mit den übergebenen Werten liefert. | grün | nie geprüft |
PushMessageTests.test_fehler_in_der_message_bar_wird_abgefangen |
Prüft, dass eine fehlschlagende MessageBar push_message nicht zum Absturz bringt, sondern None liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_navigation.py
Worum es in der Datei geht: Tests für sn_basis/ui/navigation.py::Navigation (Issue #67, ohne init_ui – s. Docstring dort).
Testgruppen:
AddActionTests(2 Testfälle): — (Docstring fehlt)FinalizeMenuAndToolbarTests(2 Testfälle): — (Docstring fehlt)SetActivePluginTests(2 Testfälle): — (Docstring fehlt)RemoveActionTests(3 Testfälle): — (Docstring fehlt)RemoveAllTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
AddActionTests.test_ohne_plugin_group_liefert_none |
Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. | grün | nie geprüft |
AddActionTests.test_erzeugt_action_und_fuegt_sie_gruppe_und_liste_hinzu |
Prüft, dass add_action eine Action erzeugt, ihr die Gruppe zuweist und sie priorisiert in der Liste ablegt. | grün | nie geprüft |
FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts |
Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. | grün | nie geprüft |
FinalizeMenuAndToolbarTests.test_sortiert_und_fuegt_aktionen_in_prioritaetsreihenfolge_hinzu |
Prüft, dass finalize_menu_and_toolbar Aktionen nach Priorität sortiert in Menü und Toolbar einträgt. | grün | nie geprüft |
SetActivePluginTests.test_setzt_nur_aktive_action_auf_checked |
Prüft, dass set_active_plugin nur die übergebene Action markiert, alle anderen abwählt. | grün | nie geprüft |
SetActivePluginTests.test_ohne_aktive_action_setzt_alle_auf_false |
Prüft, dass set_active_plugin ohne aktive Action alle bestehenden Actions abwählt. | grün | nie geprüft |
RemoveActionTests.test_none_action_tut_nichts |
Prüft, dass remove_action mit None keine Ausnahme wirft und die Liste unverändert lässt. | grün | nie geprüft |
RemoveActionTests.test_entfernt_action_aus_menu_toolbar_und_liste |
Prüft, dass remove_action die Action aus Menü, Toolbar und der internen Liste entfernt. | grün | nie geprüft |
RemoveActionTests.test_ohne_menu_oder_toolbar_entfernt_trotzdem_aus_liste |
Prüft, dass remove_action ohne Menü/Toolbar trotzdem aus der internen Liste entfernt. | grün | nie geprüft |
RemoveAllTests.test_entfernt_menu_toolbar_und_setzt_zustand_zurueck |
Prüft, dass remove_all Menü und Toolbar über die Wrapper entfernt und den Navigationszustand zurücksetzt. | grün | nie geprüft |
RemoveAllTests.test_ohne_menu_und_toolbar_ruft_wrapper_nicht_auf |
Prüft, dass remove_all ohne vorhandenes Menü/Toolbar die Wrapper nicht aufruft, aber die Liste leert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_os_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/os_wrapper.py::is_case_sensitive_fs (Issue #67).
Testgruppen:
IsCaseSensitiveFsTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
IsCaseSensitiveFsTests.test_windows_ist_nicht_case_sensitiv |
Prüft, dass Windows als nicht case-sensitives Dateisystem gilt. | grün | nie geprüft |
IsCaseSensitiveFsTests.test_macos_ist_nicht_case_sensitiv |
Prüft, dass macOS als nicht case-sensitives Dateisystem gilt. | grün | nie geprüft |
IsCaseSensitiveFsTests.test_linux_ist_case_sensitiv |
Prüft, dass Linux als case-sensitives Dateisystem gilt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_print_layout.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPrintLayout(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPrintLayout.test_create_legend_item_links_map_and_enables_map_filtering |
Prüft, dass eine erzeugte Legende mit der übergebenen Karte verknüpft ist und automatisch nach deren Sichtbarkeit gefiltert wird. | grün | nie geprüft |
TestPrintLayout.test_create_legend_item_does_not_copy_project_layers_into_legend_model |
Prüft, dass eine neu erzeugte Legende keine Projekt-Layer in ihr Legendenmodell übernimmt (leere Root-Gruppe). | grün | nie geprüft |
TestPrintLayout.test_configure_legend_size_uses_content_adaptive_size |
Prüft, dass die Legendengröße inhaltsadaptiv bestimmt wird (kein manuelles Resize) und die ermittelte Höhe zurückgegeben wird. | grün | nie geprüft |
TestPrintLayout.test_configure_hauptkarte_grids_uses_wrapper_constants |
Prüft, dass das Gitternetz der Hauptkarte mit den erwarteten Stil-, Rahmen- und Beschriftungskonstanten (nur rechts/unten beschriftet, Schriftgröße und Hintergrund) konfiguriert wird. | grün | nie geprüft |
TestPrintLayout.test_create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme |
Prüft, dass ein einseitiges Layout die Hauptkarte auf das übergebene Kartenthema festlegt und die Legende mit dieser Karte verknüpft bleibt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_print_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPrintLogic(17 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPrintLogic.test_get_baufreigabe_page_dimensions_prefers_a4_for_small_extent |
Prüft, dass für einen kleinen Kartenausschnitt (Baufreigabe) das Format DIN A4 ohne Fallback gewählt wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3 |
Prüft, dass ein größerer Kartenausschnitt (Baufreigabe) auf DIN A3 eskaliert wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback |
Prüft, dass bei auf DIN A4 begrenztem Höchstformat ein eigentlich A3-großer Ausschnitt mit Fallback-Kennzeichnung auf A4 reduziert wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent |
Prüft, dass ein Ausschnitt, der auch DIN A3 übersteigt, mit Fallback-Kennzeichnung auf DIN A3 begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_uses_a4_as_minimum_sheet |
Prüft, dass für einen kleinen Ausschnitt trotz Höchstgrenze DIN A3 mindestens DIN A4 als Blattgröße gewählt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_limits_hauptkarte_to_a3 |
Prüft, dass ein die Fläche voll ausnutzender Ausschnitt auf DIN A3 als größtes zulässiges Format begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_returns_none_if_a3_is_too_small |
Prüft, dass kein Layout gewählt wird (None), wenn der Ausschnitt selbst DIN A3 als Höchstformat übersteigt. | grün | nie geprüft |
TestPrintLogic.test_get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent |
Prüft, dass für einen kleinen Ausschnitt DIN A4 gewählt und das Einpassen (force_fit) erzwungen wird. | grün | nie geprüft |
TestPrintLogic.test_get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm |
Prüft, dass bei aktiviertem Formfaktor (Endlosrolle) die Seitenbreite auf die maximale Rollenbreite (2000 mm) begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_apply_standard_minimum_a4_fallback_for_small_page |
Prüft, dass eine zu kleine Seite auf die A4-Mindestgröße angehoben und als erzwungen (forced) markiert wird. | grün | nie geprüft |
TestPrintLogic.test_apply_standard_minimum_a4_fallback_keeps_large_page |
Prüft, dass eine bereits ausreichend große Seite (A3) unverändert bleibt und nicht als erzwungen markiert wird. | grün | nie geprüft |
TestPrintLogic.test_does_plot_fit_page_true_for_standard_a4 |
Prüft, dass ein Kartenobjekt, das in eine DIN A4-Seite passt, als passend erkannt wird. | grün | nie geprüft |
TestPrintLogic.test_does_plot_fit_page_false_if_objects_exceed_page |
Prüft, dass ein Kartenobjekt, das die Seitenbreite überschreitet, als nicht passend erkannt wird. | grün | nie geprüft |
TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster |
Prüft, dass die Auswahl 'wie Kartenfenster' als Projektvariable 'druckbereich' gespeichert wird. | grün | nie geprüft |
TestPrintLogic.test_get_canvas_extent_returns_valid_extent |
Prüft, dass der aktuelle Kartenausschnitt des Kartenfensters unverändert zurückgegeben wird. | grün | nie geprüft |
TestPrintLogic.test_resolve_extent_uses_canvas_extent_without_buffer |
Prüft, dass bei Druckbereich 'wie Kartenfenster' der Kartenausschnitt ohne Puffer und ohne verknüpften Layer übernommen wird. | grün | nie geprüft |
TestPrintLogic.test_resolve_extent_uses_rectangle_extent_without_buffer |
Prüft, dass bei Druckbereich 'Rechteck' der gezeichnete Ausschnitt ohne Puffer und ohne verknüpften Layer übernommen wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_print_tab.py
Worum es in der Datei geht: Tests für sn_basis/ui/tabs/print_tab.py::PrintTab (Issue #67).
Testgruppen:
SetServicesTests(2 Testfälle): — (Docstring fehlt)RestoreStateTests(2 Testfälle): — (Docstring fehlt)OnDruckpufferClickedTests(3 Testfälle): — (Docstring fehlt)OnVorlageErstellenTests(2 Testfälle): — (Docstring fehlt)ProjectSignalsTests(3 Testfälle): — (Docstring fehlt)CleanupTests(1 Testfälle): — (Docstring fehlt)ToggleAtlasTests(2 Testfälle): — (Docstring fehlt)RestoreAtlasLayerSelectionTests(2 Testfälle): — (Docstring fehlt)ThemeCollectionSignalsTests(3 Testfälle): — (Docstring fehlt)RefreshThemaComboLiveTests(2 Testfälle): — (Docstring fehlt)GetGespeicherteThemenTests(2 Testfälle): — (Docstring fehlt)GetCurrentCanvasScaleTests(3 Testfälle): — (Docstring fehlt)OnAtlasLayerChangedTests(3 Testfälle): — (Docstring fehlt)OnAuswahlAsAtlasClickedTests(2 Testfälle): — (Docstring fehlt)PopulateAtlasLayerComboTests(2 Testfälle): — (Docstring fehlt)OnAtlasErzeugenChangedTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
SetServicesTests.test_ruft_alle_set_methoden_mit_combo_werten_auf |
Prüft, dass set_services alle set_*-Methoden von PrintLogic mit den aktuellen Combo-Werten aufruft. | grün | nie geprüft |
SetServicesTests.test_ohne_combos_ruft_keine_set_methode_auf |
Prüft, dass set_services ohne vorhandene Combos keine set_*-Methode von PrintLogic aufruft. | grün | nie geprüft |
RestoreStateTests.test_gueltige_gespeicherte_werte_werden_uebernommen |
Prüft, dass _restore_state gültige gespeicherte Werte in die jeweiligen Widgets übernimmt. | grün | nie geprüft |
RestoreStateTests.test_ungueltige_oder_fehlende_werte_fallen_auf_defaults_zurueck |
Prüft, dass _restore_state ohne (gültige) gespeicherte Werte auf die Default-Konstanten zurückfällt. | grün | nie geprüft |
OnDruckpufferClickedTests.test_gueltige_zahl_setzt_variable_und_button_text |
Prüft, dass eine bestätigte, gültige Zahl den Druckpuffer speichert und den Button-Text aktualisiert. | grün | nie geprüft |
OnDruckpufferClickedTests.test_abgebrochen_aendert_nichts |
Prüft, dass ein abgebrochener Dialog den Druckpuffer nicht verändert. | grün | nie geprüft |
OnDruckpufferClickedTests.test_ungueltige_zahl_zeigt_hinweis_und_setzt_nichts |
Prüft, dass eine nicht-numerische Eingabe einen Hinweis zeigt und den Druckpuffer nicht setzt. | grün | nie geprüft |
OnVorlageErstellenTests.test_ruft_druckvorlage_anlegen_mit_combo_werten_auf |
Prüft, dass _on_vorlage_erstellen druckvorlage_anlegen mit den aktuellen Combo-Werten aufruft. | grün | nie geprüft |
OnVorlageErstellenTests.test_ohne_logic_tut_nichts |
Prüft, dass _on_vorlage_erstellen ohne gesetzte PrintLogic keine Ausnahme wirft. | grün | nie geprüft |
ProjectSignalsTests.test_connect_verbindet_alle_drei_signale |
Prüft, dass _connect_project_signals alle drei Projektsignale mit _on_project_changed verbindet. | grün | nie geprüft |
ProjectSignalsTests.test_disconnect_trennt_alle_drei_signale |
Prüft, dass _disconnect_project_signals alle drei zuvor verbundenen Projektsignale trennt. | grün | nie geprüft |
ProjectSignalsTests.test_instance_wirft_ausnahme_wird_abgefangen |
Prüft, dass eine Ausnahme bei QgsProject.instance() in beiden Signalmethoden abgefangen wird. | grün | nie geprüft |
CleanupTests.test_ruft_beide_disconnect_methoden_auf |
Prüft, dass cleanup sowohl die Theme- als auch die Projektsignale trennt. | grün | nie geprüft |
ToggleAtlasTests.test_checked_true_setzt_arrow_down_und_zeigt_inhalt |
Prüft, dass _toggle_atlas bei checked=True den Pfeil nach unten dreht und den Inhalt einblendet. | grün | nie geprüft |
ToggleAtlasTests.test_checked_false_setzt_arrow_right_und_versteckt_inhalt |
Prüft, dass _toggle_atlas bei checked=False den Pfeil nach rechts dreht und den Inhalt ausblendet. | grün | nie geprüft |
RestoreAtlasLayerSelectionTests.test_vorhandene_layer_id_setzt_layer_in_combo |
Prüft, dass eine gespeicherte Layer-ID den zugehörigen Layer im Atlas-Dropdown auswählt. | grün | nie geprüft |
RestoreAtlasLayerSelectionTests.test_leere_gespeicherte_layer_id_tut_nichts |
Prüft, dass eine leere gespeicherte Layer-ID das Projekt gar nicht erst anfragt. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_connect_verbindet_alle_signale |
Prüft, dass _connect_theme_collection_signals alle Signale der Theme-Collection verbindet. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_connect_ist_idempotent_wenn_schon_verbunden |
Prüft, dass _connect_theme_collection_signals bei bereits verbundenem Signal nichts erneut tut. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_disconnect_trennt_alle_signale |
Prüft, dass _disconnect_theme_collection_signals alle verbundenen Theme-Signale trennt und zurücksetzt. | grün | nie geprüft |
RefreshThemaComboLiveTests.test_erhaelt_vorherige_auswahl_wenn_noch_vorhanden |
Prüft, dass _refresh_thema_combo_live die vorherige Auswahl beibehält, wenn sie noch existiert. | grün | nie geprüft |
RefreshThemaComboLiveTests.test_faellt_auf_wie_kartenfenster_zurueck_wenn_auswahl_verschwunden |
Prüft, dass _refresh_thema_combo_live auf 'wie Kartenfenster' zurückfällt, wenn die Auswahl verschwunden ist. | grün | nie geprüft |
GetGespeicherteThemenTests.test_dedupliziert_und_filtert_leere_eintraege |
Prüft, dass _get_gespeicherte_themen Duplikate und leere/None-Einträge entfernt. | grün | nie geprüft |
GetGespeicherteThemenTests.test_fehler_liefert_leere_liste |
Prüft, dass ein Fehler beim Zugriff auf die Theme-Collection eine leere Liste liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_liefert_skalierung_als_float |
Prüft, dass _get_current_canvas_scale die Canvas-Skalierung als float liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_ohne_canvas_liefert_none |
Prüft, dass _get_current_canvas_scale ohne verfügbares Kartenfenster None liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_skalierung_null_liefert_none |
Prüft, dass eine Skalierung von 0 als None statt als 0.0 gilt. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_none_oder_leer_setzt_variable_leer |
Prüft, dass None oder ein leerer Wert die Abdeckungslayer-Variable leeren. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_layer_objekt_mit_id_methode_setzt_dessen_id |
Prüft, dass ein echtes Layer-Objekt (mit id()-Methode) dessen ID speichert. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_string_fallback_sucht_layer_ueber_namen |
Prüft, dass ohne id()-Methode über den Layernamen im Projekt gesucht und dessen ID gespeichert wird. | grün | nie geprüft |
OnAuswahlAsAtlasClickedTests.test_erfolgreicher_layer_aktualisiert_atlas_ui |
Prüft, dass ein erfolgreich erzeugter Atlas-Layer den Atlas-Bereich öffnet und ins Dropdown übernimmt. | grün | nie geprüft |
OnAuswahlAsAtlasClickedTests.test_ohne_erzeugten_layer_tut_nichts_weiter |
Prüft, dass ohne erzeugten Atlas-Layer keine UI-Aktualisierung stattfindet. | grün | nie geprüft |
PopulateAtlasLayerComboTests.test_befuellt_combo_ohne_druckrechteck_und_leere_namen |
Prüft, dass _populate_atlas_layer_combo alle Layernamen außer 'Druckrechteck' und leeren Namen einträgt. | grün | nie geprüft |
PopulateAtlasLayerComboTests.test_ohne_atlas_layer_combo_tut_nichts |
Prüft, dass _populate_atlas_layer_combo ohne Atlas-Dropdown keine Ausnahme wirft. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_aktiviert_speichert_variable_und_aktiviert_widgets |
Prüft, dass ein aktivierter Atlas-Schalter die Variable setzt und Layer-Combo/Button aktiviert. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_deaktiviert_speichert_variable_und_deaktiviert_widgets |
Prüft, dass ein deaktivierter Atlas-Schalter die Variable setzt und Layer-Combo/Button deaktiviert. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_ohne_widgets_wirft_keine_ausnahme |
Prüft, dass _on_atlas_erzeugen_changed ohne Atlas-Combo/-Button keine Ausnahme wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_pruef_ergebnis.py
Worum es in der Datei geht: Tests für sn_basis/modules/pruef_ergebnis.py::ist_verfahrens_db_aktion/erlaubte_persistierung/dateipfad (Issue #65/#67).
Testgruppen:
IstVerfahrensDbAktionTests(2 Testfälle): — (Docstring fehlt)ErlaubtePersistierungTests(2 Testfälle): — (Docstring fehlt)DateipfadTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
IstVerfahrensDbAktionTests.test_liefert_true_fuer_alle_verfahrens_db_aktionen |
Prüft, dass ist_verfahrens_db_aktion für alle vier Verfahrens-DB-Aktionscodes True liefert. | grün | nie geprüft |
IstVerfahrensDbAktionTests.test_liefert_false_fuer_andere_aktionen |
Prüft, dass ist_verfahrens_db_aktion für Nicht-Verfahrens-DB-Aktionen und ohne Aktion False liefert. | grün | nie geprüft |
ErlaubtePersistierungTests.test_liefert_true_fuer_erzeugen_ueberschreiben_anhaengen |
Prüft, dass erlaubte_persistierung für Erzeugen/Überschreiben/Anhängen True liefert. | grün | nie geprüft |
ErlaubtePersistierungTests.test_liefert_false_fuer_ueberspringen_und_reines_existieren |
Prüft, dass erlaubte_persistierung bei Überspringen und reinem 'datei_existiert' False liefert. | grün | nie geprüft |
DateipfadTests.test_liefert_path_wenn_kontext_ein_path_ist |
Prüft, dass dateipfad den Kontext liefert, wenn dieser bereits ein Path-Objekt ist. | grün | nie geprüft |
DateipfadTests.test_liefert_none_wenn_kontext_kein_path_ist |
Prüft, dass dateipfad None liefert, wenn der Kontext kein Path-Objekt ist (z. B. String oder Layer). | grün | nie geprüft |
Plugin_SN_Basis/tests/test_pruefmanager.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPruefmanager(24 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPruefmanager.test_ok |
Prüft, dass ein bereits erfolgreiches Prüfergebnis ohne Nutzerinteraktion als 'ok' durchgereicht wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_leereingabe_erlaubt_ja |
Prüft, dass bei erlaubter leerer Eingabe eine Ja-Antwort des Nutzers die Entscheidung 'ok' liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_leereingabe_erlaubt_nein |
Prüft, dass bei erlaubter leerer Eingabe eine Nein-Antwort die Aktion 'leereingabe_erlaubt' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_standarddatei_vorschlagen_ja |
Prüft, dass eine Ja-Antwort auf den Vorschlag der Standarddatei die Entscheidung 'ok' mit dem Standardpfad als Kontext liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_standarddatei_vorschlagen_nein |
Prüft, dass eine Nein-Antwort auf den Vorschlag der Standarddatei die Aktion 'standarddatei_vorschlagen' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_temporaer_erlaubt_ja |
Prüft, dass eine Ja-Antwort auf die Rückfrage nach einer temporären Datei die Aktion 'temporaer_erzeugen' auslöst. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_temporaer_erlaubt_nein |
Prüft, dass eine Nein-Antwort auf die Rückfrage nach einer temporären Datei die Aktion 'temporaer_erlaubt' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_layer_unsichtbar_ja |
Prüft, dass eine Ja-Antwort bei unsichtbarem Layer den Layer sichtbar schaltet und die Entscheidung 'ok' liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_layer_unsichtbar_nein |
Prüft, dass eine Nein-Antwort bei unsichtbarem Layer die Aktion 'layer_unsichtbar' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_unbekannte_aktion |
Prüft, dass eine unbekannte Aktion eine Warnung auslöst und unverarbeitet als Fehlschlag zurückgegeben wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_overwrite |
Prüft, dass die Nutzerwahl 'überschreiben' bei bestehender Datei zur Aktion 'datei_existiert_ueberschreiben' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_append |
Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_cancel |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input |
Prüft, dass außerhalb des QGIS-Modus bei bestehender Datei keine Rückfrage erfolgt, sondern die ursprüngliche Aktion unentschieden zurückgegeben wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen |
Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. | grün | nie geprüft |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. | grün | nie geprüft |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_in_non_qgis_mode_returns_input |
Prüft, dass außerhalb des QGIS-Modus bei bestehendem Verfahrensgebiet keine Rückfrage erfolgt. | grün | nie geprüft |
TestPruefmanager.test_report_error_kritische_aktion_ruft_error_auf |
Prüft, dass eine kritische Aktion (z. B. 'netzwerkfehler') über error() gemeldet wird, nicht über warning(). | grün | nie geprüft |
TestPruefmanager.test_report_error_warn_aktion_ruft_warning_auf |
Prüft, dass eine Warn-Aktion (z. B. 'datei_nicht_gefunden') über warning() gemeldet wird, nicht über error(). | grün | nie geprüft |
TestPruefmanager.test_report_error_unbekannte_aktion_faellt_auf_warning_zurueck |
Prüft, dass eine nicht eingestufte Aktion als Fallback über warning() gemeldet wird. | grün | nie geprüft |
TestPruefmanager.test_frage_ja_nein_im_qgis_modus_fragt_nutzer |
Prüft, dass frage_ja_nein im QGIS-Modus den Nutzer fragt und dessen Antwort liefert. | grün | nie geprüft |
TestPruefmanager.test_frage_ja_nein_ausserhalb_qgis_liefert_default_ohne_rueckfrage |
Prüft, dass frage_ja_nein außerhalb des QGIS-Modus den Default-Wert liefert, ohne den Nutzer zu fragen. | grün | nie geprüft |
TestPruefmanager.test_frage_text_im_qgis_modus_fragt_nutzer |
Prüft, dass frage_text im QGIS-Modus den Nutzer fragt und Text plus OK-Status liefert. | grün | nie geprüft |
TestPruefmanager.test_frage_text_ausserhalb_qgis_liefert_default_ohne_rueckfrage |
Prüft, dass frage_text außerhalb des QGIS-Modus den Standardtext mit OK=True liefert, ohne den Nutzer zu fragen. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_qgiscore_wrapper_helpers.py
Worum es in der Datei geht: Tests für sn_basis/functions/qgiscore_wrapper.py::polygon_zu_linie/layer_exists_in_gpkg/create_buffer_layer (Issue #65/#67).
Testgruppen:
PolygonZuLinieTests(7 Testfälle): — (Docstring fehlt)LayerExistsInGpkgTests(4 Testfälle): — (Docstring fehlt)CreateBufferLayerTests(3 Testfälle): Deckt nur die Wächter ab: die eigentliche Pufferbildung importiertqgis.core.QgsFeature
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
PolygonZuLinieTests.test_none_liefert_none |
Prüft, dass polygon_zu_linie für None-Eingabe None liefert. | grün | nie geprüft |
PolygonZuLinieTests.test_leere_geometrie_liefert_none |
Prüft, dass eine leere Geometrie None liefert. | grün | nie geprüft |
PolygonZuLinieTests.test_stufe1_nutzt_boundary_wenn_vorhanden |
Prüft, dass eine Geometrie mit boundary() (QGIS 3.x-Pfad) deren Ergebnis direkt liefert. | grün | nie geprüft |
PolygonZuLinieTests.test_stufe2_extrahiert_ringe_bei_einfachem_polygon |
Prüft, dass ohne boundary() die Ringe eines einfachen Polygons manuell extrahiert werden. | grün | nie geprüft |
PolygonZuLinieTests.test_stufe2_extrahiert_alle_ringe_bei_multipolygon |
Prüft, dass bei einem MultiPolygon die Ringe aller Teilpolygone extrahiert werden. | grün | nie geprüft |
PolygonZuLinieTests.test_stufe3_fallback_wenn_keine_ringe_extrahierbar |
Prüft, dass bei fehlgeschlagener Ringextraktion auf convertToType zurückgefallen wird. | grün | nie geprüft |
PolygonZuLinieTests.test_alle_stufen_scheitern_liefert_none |
Prüft, dass polygon_zu_linie None liefert, wenn Ringextraktion und convertToType beide scheitern. | grün | nie geprüft |
LayerExistsInGpkgTests.test_fehlende_datei_liefert_false |
Prüft, dass eine nicht vorhandene GPKG-Datei False liefert. | grün | nie geprüft |
LayerExistsInGpkgTests.test_leerer_pfad_oder_layername_liefert_false |
Prüft, dass ein leerer Pfad oder Layername False liefert. | grün | nie geprüft |
LayerExistsInGpkgTests.test_vorhandener_layer_liefert_true |
Prüft, dass ein in gpkg_contents eingetragener Layername als vorhanden erkannt wird. | grün | nie geprüft |
LayerExistsInGpkgTests.test_fehlender_layer_liefert_false |
Prüft, dass ein nicht in gpkg_contents eingetragener Layername als nicht vorhanden gilt. | grün | nie geprüft |
CreateBufferLayerTests.test_ohne_qgis_liefert_none |
Prüft, dass create_buffer_layer ohne verfügbares QGIS None liefert. | grün | nie geprüft |
CreateBufferLayerTests.test_fehlender_source_layer_liefert_none |
Prüft, dass ein fehlender Quelllayer (None) None liefert, auch wenn QGIS verfügbar wäre. | grün | nie geprüft |
CreateBufferLayerTests.test_source_layer_ohne_getfeatures_liefert_none |
Prüft, dass ein Quelllayer ohne getFeatures()-Methode None liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_qgisui_wrapper_helpers.py
Worum es in der Datei geht: Tests für sn_basis/functions/qgisui_wrapper.py::add_layer_to_project/find_dock_widgets/add_menu/remove_menu (Issue #65/#67).
Testgruppen:
AddLayerToProjectTests(4 Testfälle): — (Docstring fehlt)FindDockWidgetsTests(3 Testfälle): — (Docstring fehlt)AddRemoveMenuTests(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
AddLayerToProjectTests.test_none_layer_liefert_false |
Prüft, dass add_layer_to_project für einen fehlenden Layer (None) False liefert. | grün | nie geprüft |
AddLayerToProjectTests.test_mock_modus_liefert_true_ohne_projektzugriff |
Prüft, dass im Mock-Modus (ohne QGIS) ein gültiger Layer True liefert, ohne das Projekt anzufassen. | grün | nie geprüft |
AddLayerToProjectTests.test_mit_qgis_fuegt_layer_dem_projekt_hinzu |
Prüft, dass bei verfügbarem QGIS der Layer über QgsProject.instance().addMapLayer hinzugefügt wird. | grün | nie geprüft |
AddLayerToProjectTests.test_mit_qgis_fehler_liefert_false |
Prüft, dass ein Fehler beim Hinzufügen zum Projekt abgefangen wird und False liefert. | grün | nie geprüft |
FindDockWidgetsTests.test_ohne_main_window_liefert_leere_liste |
Prüft, dass find_dock_widgets ohne verfügbares Hauptfenster eine leere Liste liefert. | grün | nie geprüft |
FindDockWidgetsTests.test_liefert_dock_widgets_des_main_window |
Prüft, dass find_dock_widgets die vom Hauptfenster gefundenen Dock-Widgets durchreicht. | grün | nie geprüft |
FindDockWidgetsTests.test_fehler_beim_suchen_liefert_leere_liste |
Prüft, dass ein Fehler beim Suchen der Dock-Widgets abgefangen wird und eine leere Liste liefert. | grün | nie geprüft |
AddRemoveMenuTests.test_add_menu_ohne_main_window_tut_nichts |
Prüft, dass add_menu ohne Hauptfenster keine Ausnahme wirft. | grün | nie geprüft |
AddRemoveMenuTests.test_add_menu_mit_echtem_qt_menu_fuegt_es_der_menubar_hinzu |
Prüft, dass ein echtes Qt-Menü (mit menuAction) der Menüleiste hinzugefügt wird. | grün | nie geprüft |
AddRemoveMenuTests.test_add_menu_ohne_menuaction_wird_ignoriert |
Prüft, dass ein Objekt ohne menuAction nicht an die Menüleiste übergeben wird. | grün | nie geprüft |
AddRemoveMenuTests.test_remove_menu_entfernt_ueber_menuaction |
Prüft, dass remove_menu das Menü über dessen menuAction() aus der Menüleiste entfernt. | grün | nie geprüft |
AddRemoveMenuTests.test_remove_menu_ohne_main_window_tut_nichts |
Prüft, dass remove_menu ohne Hauptfenster keine Ausnahme wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_settings_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestSettingsLogic(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSettingsLogic.test_load |
Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_save |
Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_load_handles_partial_values_with_empty_fallback |
Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_save_empty_string_value_is_persisted |
Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_settings_tab.py
Worum es in der Datei geht: Tests für sn_basis/ui/tabs/settings_tab.py::save_data/load_data/_build_input (Issue #65/#67).
Testgruppen:
SaveDataTests(2 Testfälle): — (Docstring fehlt)LoadDataTests(4 Testfälle): — (Docstring fehlt)BuildInputTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
SaveDataTests.test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl |
Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt. | grün | nie geprüft |
SaveDataTests.test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt |
Prüft, dass ohne Landkreis-Dropdown im Formular keine 'landkreis_kennzahl' ergänzt wird. | grün | nie geprüft |
LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten |
Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. | grün | nie geprüft |
LoadDataTests.test_ohne_gespeicherten_wert_bleibt_textfeld_leer |
Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt. | grün | nie geprüft |
LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen |
Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. | grün | nie geprüft |
LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag |
Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den ersten Eintrag zurückfällt. | grün | nie geprüft |
BuildInputTests.test_landkreis_feld_liefert_combobox_mit_allen_landkreisen |
Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert. | grün | nie geprüft |
BuildInputTests.test_anderes_feld_liefert_lineedit |
Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_stilpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestStilpruefer(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestStilpruefer.test_keine_datei_angegeben |
Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_mit_qml |
Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_falsche_endung |
Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_nicht |
Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_sys_wrapper.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.sys_wrapper.get_plugin_root().
Testgruppen:
TestGetPluginRoot(1 Testfälle): — (Docstring fehlt)JoinPathTests(1 Testfälle): — (Docstring fehlt)EnsureDirTests(2 Testfälle): — (Docstring fehlt)GetattrSafeTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestGetPluginRoot.test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung |
Prüft, dass get_plugin_root() bei einem über eine Verzeichnisverknüpfung (wie von link_qgis_profile.py angelegt) erreichten Modul den verlinkten Pfad liefert, statt zum echten Zielverzeichnis aufzulösen (Verfahrensgebiet #50). | grün | geprüft am 2026-09-17 |
JoinPathTests.test_verbindet_mehrere_pfadbestandteile |
Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. | grün | nie geprüft |
EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an |
Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. | grün | nie geprüft |
EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler |
Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft. | grün | nie geprüft |
GetattrSafeTests.test_liefert_vorhandenes_attribut |
Prüft, dass getattr_safe ein vorhandenes Attribut liefert. | grün | nie geprüft |
GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut |
Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_text_wrapper.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.text_wrapper.
Testgruppen:
TestSanitizeBezeichner(7 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSanitizeBezeichner.test_umlaute_bleiben_erhalten |
Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden. | grün | nie geprüft |
TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten |
Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). | grün | nie geprüft |
TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten |
Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. | grün | nie geprüft |
TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst |
Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden. | grün | nie geprüft |
TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt |
Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. | grün | nie geprüft |
TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet |
Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. | grün | nie geprüft |
TestSanitizeBezeichner.test_nur_unzulaessige_zeichen_ergibt_leeren_string |
Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_variable_wrapper.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestVariableWrapper(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVariableWrapper.test_set_variable_project_noop_write_is_skipped |
Prüft, dass set_variable() im Projekt-Scope nicht schreibt, wenn der neue Wert dem bestehenden entspricht. | grün | nie geprüft |
TestVariableWrapper.test_set_variable_project_changed_value_is_written |
Prüft, dass set_variable() im Projekt-Scope bei geändertem Wert mit dem Präfix 'sn_' geschrieben wird. | grün | nie geprüft |
TestVariableWrapper.test_set_variable_global_writes_prefixed_name |
Prüft, dass set_variable() im globalen Scope den Variablennamen mit 'sn_' vorangestellt schreibt. | grün | nie geprüft |
TestVariableWrapper.test_get_variable_global_returns_empty_string_fallback |
Prüft, dass get_variable() im globalen Scope für eine nicht gesetzte Variable einen leeren String liefert. | grün | nie geprüft |
TestVariableWrapper.test_get_variable_invalid_scope_raises |
Prüft, dass get_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün | nie geprüft |
TestVariableWrapper.test_set_variable_invalid_scope_raises |
Prüft, dass set_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_verfahrensgebiet_manager.py
Worum es in der Datei geht: Tests für sn_basis/functions/verfahrensgebiet_manager.py (zentrale Layer-Verfolgung, Issue #65).
Testgruppen:
TestVerfahrensgebietManager(5 Testfälle): — (Docstring fehlt)OnHandlerTests(5 Testfälle): — (Docstring fehlt)ListenerSetupTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_value |
Prüft, dass get_verfahrensgebiet_layer_id() die in der Projektvariable gespeicherte Layer-ID liefert. | grün | nie geprüft |
TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value |
Prüft, dass get_verfahrensgebiet_layer_id() bei leerer Projektvariable None statt eines leeren Strings liefert. | grün | nie geprüft |
TestVerfahrensgebietManager.test_set_verfahrensgebiet_layer_id_writes_project_variable |
Prüft, dass set_verfahrensgebiet_layer_id() die Layer-ID als Projektvariable 'verfahrensgebiet_layer' speichert. | grün | nie geprüft |
TestVerfahrensgebietManager.test_update_without_layer_does_not_write_when_already_empty |
Prüft, dass ohne gefundenen Verfahrensgebiet-Layer keine Schreibaktion erfolgt, wenn die Variable bereits leer ist. | grün | nie geprüft |
TestVerfahrensgebietManager.test_update_with_layer_writes_variable |
Prüft, dass ein gefundener Verfahrensgebiet-Layer seine ID als Projektvariable speichert. | grün | nie geprüft |
OnHandlerTests.test_on_project_changed_ohne_layer_setzt_variable_leer |
Prüft, dass _on_project_changed die Variable leert, wenn kein Verfahrensgebiet-Layer existiert. | grün | nie geprüft |
OnHandlerTests.test_on_project_changed_mit_layer_setzt_variable |
Prüft, dass _on_project_changed die Layer-ID eines gefundenen Verfahrensgebiet-Layers übernimmt. | grün | nie geprüft |
OnHandlerTests.test_on_layers_added_findet_neuen_layer |
Prüft, dass _on_layers_added nach neu hinzugefügten Layern sucht und die Variable aktualisiert. | grün | nie geprüft |
OnHandlerTests.test_on_layer_removed_bei_aktuellem_layer_sucht_neu |
Prüft, dass das Entfernen des aktuell aktiven Verfahrensgebiet-Layers eine Neusuche auslöst. | grün | nie geprüft |
OnHandlerTests.test_on_layer_removed_bei_anderem_layer_aendert_nichts |
Prüft, dass das Entfernen eines anderen Layers keine Neusuche auslöst. | grün | nie geprüft |
ListenerSetupTests.test_setup_ohne_qgis_tut_nichts |
Prüft, dass setup_verfahrensgebiet_listener ohne QGIS keine Signale registriert. | grün | nie geprüft |
ListenerSetupTests.test_setup_verbindet_signale_und_ist_idempotent |
Prüft, dass setup_verfahrensgebiet_listener die Projektsignale verbindet und ein zweiter Aufruf nichts doppelt registriert. | grün | nie geprüft |
ListenerSetupTests.test_teardown_trennt_alle_signale_und_ist_idempotent |
Prüft, dass teardown_verfahrensgebiet_listener alle Signale trennt und mehrfacher Aufruf nicht fehlschlägt. | grün | nie geprüft |
Paket sn_verfahrensgebiet
Fachplugin, Ordner Plugin_SN_Verfahrensgebiet – 12 Testdateien mit 208 Testfällen (166 grün, 34 rot, 8 übersprungen).
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.beteiligung_pruefung.
Testgruppen:
TestBaueFlurstueckCsv(12 Testfälle): — (Docstring fehlt)TestBaueFlurstueckCsvListe(1 Testfälle): — (Docstring fehlt)TestHoleVerfahrensgebietLayer(3 Testfälle): — (Docstring fehlt)TestFordereManuellesLadenAn(2 Testfälle): try2/try3 laden nicht mehr automatisch, sondern fordern den Nutzer auf,TestTry3Bootstrap(1 Testfälle): — (Docstring fehlt)TestBeteiligungPruefenDispatch(2 Testfälle): Dispatch-Logik in beteiligung_pruefen(): try1 unverändert, try2/try3TestLadeBeteiligungCsv(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_leerer_wert_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen |
— (Docstring fehlt) | grün | nie geprüft |
TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer |
— (Docstring fehlt) | grün | nie geprüft |
TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDockWidget(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDockWidget.test_init_tabs_with_services_injects_available_services |
— (Docstring fehlt) | grün | nie geprüft |
TestDockWidget.test_init_tabs_with_services_reports_errors |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_alkis.py
Worum es in der Datei geht: Unit-Tests für das flurstueck_alkis-Modul.
Testgruppen:
TestFlurstueckAlkis(11 Testfälle): — (Docstring fehlt)TestFlurstueckAlkisAnhaengenDedup(3 Testfälle): Anhängen an einen bestehenden Flurstück-Layer (Issue #28).
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestFlurstueckAlkis.test_user_cancel_returns_none |
Prüft, dass ein Abbruch im Eingabedialog (ok=False) (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_empty_text_after_confirmation_returns_none |
Prüft, dass ein bestätigter, aber leerer Eingabetext ebenfalls (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_invalid_wfs_layer_returns_none |
Prüft, dass ein ungültiger WFS-Layer (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_success_returns_layer_and_first_status |
Prüft, dass ohne bestehenden Layer der von lade_flurstuecke_per_gemarkung gelieferte Layer mit LoadStatus.FIRST zurückgegeben wird. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_sql_filter_contains_all_schluessel |
Prüft, dass lade_flurstuecke_per_gemarkung für jeden Gemarkungsschlüssel eine eigene WFS-Anfrage mit dessen Schlüssel stellt. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_existing_layer_reload_yes |
Prüft, dass bei bestehendem Layer und Klick auf 'Überschreiben' der alte Layer entfernt und LoadStatus.RELOAD geliefert wird. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_existing_layer_abbrechen_returns_none |
Prüft, dass bei bestehendem Layer und Klick auf 'Abbrechen' nichts verändert wird und (None, LoadStatus.NONE) geliefert wird. | grün | nie geprüft |
TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text |
Prüft, dass vorgabe_schluessel als vorbelegter default_text im Eingabedialog erscheint. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label |
Prüft, dass vorgabe_namen im Beschriftungstext des Eingabedialogs erscheint. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_backwards_compatible_no_new_params |
Prüft, dass flurstueck_alkis() ohne die neuen optionalen Parameter weiterhin fehlerfrei einen Layer mit LoadStatus.FIRST liefert. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_ohne_schluessel_abfrage_ueberspringt_ask_text |
Prüft, dass ohne_schluessel_abfrage=True vorgabe_schluessel direkt verwendet und ask_text nicht aufgerufen wird. | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_append_ueberspringt_bereits_vorhandene_flurstuecke |
Prüft, dass beim Anhängen bereits vorhandene flurstueckskennzeichen nicht erneut hinzugefügt werden. | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_append_ohne_kennzeichen_feld_haengt_alles_an |
Prüft, dass ohne flurstueckskennzeichen-Feld weiterhin alle Features angehängt werden (Rückfallverhalten). | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_ohne_schluessel_abfrage_append_dedup |
ohne_schluessel_abfrage=True: Anhängen dedupliziert trotzdem, ohne nach Schlüsseln zu fragen (#47). | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.gemarkung_alkis.
Testgruppen:
TestExtractSchluesselUndName(4 Testfälle): — (Docstring fehlt)TestGemarkungSchluesselbbox(6 Testfälle): — (Docstring fehlt)TestGemarkungSchluesselnurNummern(2 Testfälle): — (Docstring fehlt)TestLadeGemarkungenlayer(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtractSchluesselUndName.test_standard_attribute |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestExtractSchluesselUndName.test_fallback_attribute |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestExtractSchluesselUndName.test_missing_attribute_returns_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestExtractSchluesselUndName.test_none_value_returns_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestGemarkungSchluesselbbox.test_success_bbox_filter |
WFS-BBox-Filter liefert Features → korrekte Tupel-Liste. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_fallback_when_bbox_fails |
BBox-Filter schlägt fehl → Fallback auf Volllade + client-seitige Filterung. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_both_layers_fail_returns_empty |
Beide Lade-Strategien scheitern → leere Liste. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_deduplication_and_sorting |
Doppelte Schlüssel werden dedupliziert, Ergebnis ist sortiert. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_feature_without_schluessel_skipped |
Feature ohne Schlüssel-Attribut wird übersprungen. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_exception_returns_empty |
Exception im Ladevorgang → leere Liste (kein Crash). | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselnurNummern.test_returns_only_nummern |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestLadeGemarkungenlayer.test_returns_layer_when_service_reachable |
Dienst erreichbar (isValid=True) → Layer-Objekt zurückgegeben. | grün | nie geprüft |
TestLadeGemarkungenlayer.test_returns_none_when_service_unreachable |
Dienst nicht erreichbar (isValid=False) → None zurückgegeben. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.grenzpunkt_alkis.
Testgruppen:
TestExtrahiereGmlIds(5 Testfälle): — (Docstring fehlt)TestGrenzpunktAlkis(7 Testfälle): — (Docstring fehlt)TestGrenzpunkteGemarkungsweiseStil(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtrahiereGmlIds.test_xlink_href_format |
URN-Format 'urn:adv:oid:DEABC123' → nur 'DEABC123' extrahiert. | grün | nie geprüft |
TestExtrahiereGmlIds.test_plain_gml_id |
Plain-GML-ID ohne Doppelpunkt → direkt übernommen. | grün | nie geprüft |
TestExtrahiereGmlIds.test_empty_value_skipped |
Leerer gehoertZu-Wert wird übersprungen. | grün | nie geprüft |
TestExtrahiereGmlIds.test_deduplication |
Doppelte Referenzen werden dedupliziert. | grün | nie geprüft |
TestExtrahiereGmlIds.test_sorted_output |
Rückgabe ist aufsteigend sortiert. | grün | nie geprüft |
TestGrenzpunktAlkis.test_no_vg_layer_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_invalid_punktort_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_empty_punktort_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_grenzpunkt_batch_empty |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_success_returns_both_layers |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_extent_derived_from_vg_layer |
Wenn kein extent übergeben → Extent aus VG-Layer holen. | rot (Baseline) | nie geprüft |
TestGrenzpunkteGemarkungsweiseStil.test_stil_wird_nach_dem_laden_auf_den_ergebnis_layer_angewendet |
Prüft, dass grenzpunkte_gemarkungsweise() nach dem Laden apply_style() mit dem neuen ALKIS-Grenzpunkt-Stil auf den fertigen Join-Layer anwendet (#53). | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.knickpunkt_pruefung.
Testgruppen:
TestExtrahiereKnickpunkte(4 Testfälle): — (Docstring fehlt)TestKnickpunktPruefungInputvalidierung(3 Testfälle): — (Docstring fehlt)TestKnickpunktPruefungKlassifizierung(2 Testfälle): Testet die Grün/Rot/Orange-Klassifizierung mit gesteuertem QGIS-Mock.TestFehlendKnickpunkteViaVerbindungslinien(4 Testfälle): Direkte Tests für_fehlende_knickpunkte_via_verbindungslinien.
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_qgis_nicht_verfuegbar_gibt_leere_liste |
Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste. | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungKlassifizierung.test_identischer_punkt_wird_gruen_gezaehlt |
PunktortTA exakt am Knickpunkt → identisch_count == 1. | grün | nie geprüft |
TestKnickpunktPruefungKlassifizierung.test_kein_pta_an_knickpunkt_wird_rot_gezaehlt |
Kein PunktortTA am Knickpunkt → kein_pta_count == 1. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_leere_union_gibt_null_zurueck |
bror_union.isEmpty() == True → (0, []). | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_weniger_als_zwei_pta_auf_ring_kein_orange |
Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_im_puffer_wird_orange |
Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_ausserhalb_puffer_kein_orange |
Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_main.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPluginMain(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPluginMain.test_init_sets_services_and_names |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_initGui_registers_action_when_basis_ui_exists |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_run_creates_dock_and_marks_toolbar_active |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_unload_removes_dock_and_action |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestVerfahrensgebietAlkis(8 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVerfahrensgebietAlkis.test_check_existing_layer_first_load |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_success_single_kombination |
Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl |
Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch |
Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl |
Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.verfahrensgebiet_alkis_komplett.
Testgruppen:
TestSelectByLocation(3 Testfälle): — (Docstring fehlt)TestFuegeVkzFeldHinzu(3 Testfälle): — (Docstring fehlt)TestFlaechenvergleich(8 Testfälle): — (Docstring fehlt)TestVerfahrensgebietAlkisKomplett(16 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSelectByLocation.test_processing_not_available_returns_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestSelectByLocation.test_processing_success_returns_count |
— (Docstring fehlt) | grün | nie geprüft |
TestSelectByLocation.test_processing_exception_returns_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_vkz_field_added |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_differenz_innerhalb_toleranz |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_differenz_ausserhalb_toleranz |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_flaechen_werte_korrekt |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_default_ist_null |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_parst_string |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_progress_cancel_after_step1_returns_none |
Abbruch nach Schritt 1 → sofortiger sauberer Rückgabestatus. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_success_flaechen_match_zeigt_info |
Flächenübereinstimmung → show_info_dialog mit erwartetem Text. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_abbrechen_kein_detailcheck |
Abweichung + Abbrechen → knickpunkt_pruefung wird NICHT aufgerufen. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_als_vg_laden |
Abweichung + Als VG laden → BROR-Layer wird umbenannt und als | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_detailpruefung_startet_knickpruefung |
Abweichung + Detailprüfung → lade_punktort_ta + knickpunkt_pruefung | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_bleibt_bei_erfolg_im_projekt |
Bei Erfolg darf der BROR-Layer NICHT entfernt werden. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_wird_bei_fehler_entfernt |
Bei Fehler (flst_alkis NONE) wird der BROR-Layer aus dem Projekt entfernt. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_abgebrochen |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer bricht den | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_liefert_landkreis |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer wählt einen | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_wird_bei_fehlender_vkz_verwendet |
Keine Verfahrensnummer, aber Landkreis gesetzt → Landkreis-Suchpfad | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_nur_laden_ueberspringt_dialog2 |
nur_laden=True → Funktion kehrt sofort zurück, Dialog 2 (Gemarkung | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py
Worum es in der Datei geht: Unit-Tests für das Verfahrensgebiet-Edit-Service-Modul.
Testgruppen:
TestPruefeFlurstueckLayer(3 Testfälle): — (Docstring fehlt)TestPruefeAuswahl(3 Testfälle): — (Docstring fehlt)TestGetKennzeichenMenge(3 Testfälle): — (Docstring fehlt)TestErstelle(3 Testfälle): — (Docstring fehlt)TestErgaenzeVerfahrensgebiet(3 Testfälle): — (Docstring fehlt)TestEntferneAusVerfahrensgebiet(5 Testfälle): — (Docstring fehlt)TestErsetze(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPruefeFlurstueckLayer.test_layer_ok_passes |
Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True. | grün | nie geprüft |
TestPruefeFlurstueckLayer.test_layer_missing_field_fails |
Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen. | grün | nie geprüft |
TestPruefeFlurstueckLayer.test_layer_wrong_geometry_fails |
Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp. | grün | nie geprüft |
TestPruefeAuswahl.test_no_selection_fails |
— (Docstring fehlt) | grün | nie geprüft |
TestPruefeAuswahl.test_with_selection_passes |
— (Docstring fehlt) | grün | nie geprüft |
TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestGetKennzeichenMenge.test_returns_set_of_ids |
Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst. | grün | nie geprüft |
TestGetKennzeichenMenge.test_empty_layer_returns_empty_set |
— (Docstring fehlt) | grün | nie geprüft |
TestGetKennzeichenMenge.test_single_kennzeichen_without_comma |
Einzelnes Kennzeichen ohne Komma wird korrekt erkannt. | grün | nie geprüft |
TestErstelle.test_success_counts |
3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer. | grün | nie geprüft |
TestErstelle.test_partial_failure_on_empty_geometry |
2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1. | grün | nie geprüft |
TestErstelle.test_all_fail_on_empty_geometries |
Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_adds_only_new_ids |
Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_skip_empty_geometry_counts_as_failed |
Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_all_already_present |
Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_removes_present_ids |
Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_counts_ids_not_in_layer |
Auswahl enthält ID, die nicht im Verfahrensgebiet ist → nicht_enthalten=1. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_none_present_in_layer |
Auswahl hat IDs, die alle nicht im Layer sind → entfernt=0, nicht_enthalten=n. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_empty_selection_removes_nothing |
Leere Auswahl → nichts entfernt, nichts nicht_enthalten. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_removes_last_id_deletes_feature |
Wird das letzte Kennzeichen entfernt, wird das Feature gelöscht. | grün | nie geprüft |
TestErsetze.test_ersetze_delegates_to_erstelle |
ersetze_verfahrensgebiet gibt dasselbe Ergebnis wie erstelle zurück. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.verfahrensgebiet_shape_komplett.
Testgruppen:
TestFindShp(4 Testfälle): — (Docstring fehlt)TestErstelleMemoryLayerAusShp(3 Testfälle): — (Docstring fehlt)TestLadeVgAusZip(6 Testfälle): — (Docstring fehlt)TestVerfahrensgebietShapeKomplett(18 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestFindShp.test_findet_shp_in_root |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_findet_shp_in_unterordner |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_kein_shp_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_case_insensitive_erkennung |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_attribute_von_erstem_feature_werden_gesetzt |
Attributwerte des ersten Features werden auf das Union-Feature übertragen. | grün | nie geprüft |
TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden |
Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt |
Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_bleibt_im_projekt_bei_erfolg |
Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt. | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_layer_ist_stets_none |
Dritter Rückgabewert ist im Shape-Workflow immer None (kein BROR). | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt |
VKZ gesetzt → verfahrensgebiet_alkis aufgerufen, bror_layer zurückgegeben. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt |
BROR wird VOR shape_vg ins Projekt eingefügt (kein Namenskonflikt). | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt |
BROR und shape_vg werden bei Fehler aus dem Projekt entfernt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer |
Leere VKZ → verfahrensgebiet_alkis wird NICHT aufgerufen. | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich |
Mit BROR: _vergleiche_flaechen wird (bror, shape_vg, ...) aufgerufen. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen |
BROR-Ladeversagen → Fallback: _vergleiche_flaechen mit shape_vg vs temp_enriched. | rot (Baseline) | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestWorkingTab(24 Testfälle): — (Docstring fehlt)TestHandleVerfShape(9 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestWorkingTab.test_set_busy_updates_button_state |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_on_verf_layer_changed_none_clears_variable |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_verf_alkis_success_path |
verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST). | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_verf_alkis_failure_clears_layer_var |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_first_load_uebernimmt_layer |
Erstmaliges Laden über 'Flurstücke laden' fügt den Layer dem Projekt hinzu. | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_aus_gemarkungen_ruft_flurstueck_alkis_ohne_schluessel_abfrage |
Der Gemarkungen-Auswahl-Button ruft dieselbe Ladefunktion mit ohne_schluessel_abfrage=True auf (#47). | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_aus_gemarkungen_abbruch_zeigt_keine_zusaetzliche_meldung |
Bricht flurstueck_alkis() ab (None, NONE), zeigt der Button keine eigene Meldung – flurstueck_alkis() hat das schon getan (#47). | grün | nie geprüft |
TestWorkingTab.test_handle_grenz_alkis_success_sets_haken |
Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt. | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken |
grenzpunkt_alkis liefert (None, None) → kein Haken. | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_invalid_input_returns_early |
Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_active_layer |
Kein aktiver Layer → warning, kein Layer wird erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_required_fields |
Layer ohne Pflichtfelder → warning, kein Layer wird erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_selection |
Keine Flurstück-Auswahl → warning, kein Layer erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_new_layer_success |
Erstlauf ohne bestehenden Layer → Layer wird erstellt und hinzugefügt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch |
Entscheidung 'ergaenzen' → ergaenze_verfahrensgebiet wird aufgerufen. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch |
Entscheidung 'entfernen' → entferne_aus_verfahrensgebiet wird aufgerufen. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch |
Entscheidung 'ersetzen' → alter Layer entfernt, neuer hinzugefügt. | grün | nie geprüft |
TestWorkingTab.test_aus_liste_button_shows_not_implemented_hint |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_service_reachable_adds_layer |
Dienst erreichbar → Layer ins Projekt, Stil angewendet, Haken gesetzt. | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_service_unreachable_shows_warning |
Dienst nicht erreichbar (None) → warning, kein addMapLayer. | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_layer_already_exists_shows_info |
Layer 'Gemarkungen' bereits vorhanden → info, kein erneutes Laden. | grün | nie geprüft |
TestHandleVerfShape.test_status_none_clears_layer_variable |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün | nie geprüft |
TestHandleVerfShape.test_button_always_re_enabled_on_failure |
Button muss nach Status NONE wieder freigegeben sein (finally). | grün | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab |
Verfahrensnummer leer + Nutzer wählt 'Nein' → Vorgang abgebrochen. | rot (Baseline) | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort |
Verfahrensnummer leer + Nutzer wählt 'Ja' → Pipeline wird aufgerufen. | rot (Baseline) | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_gesetzt_kein_rueckfrage_dialog |
Verfahrensnummer gesetzt → kein ask_yes_no-Dialog. | grün | nie geprüft |
TestHandleVerfShape.test_success_path_applies_style_and_sets_haken |
Erfolg → verfahrensgebiet.qml angewendet, haken_verf gesetzt, success aufgerufen. | grün | nie geprüft |
TestHandleVerfShape.test_bror_layer_erhaelt_qml_stil |
Wenn bror_layer zurückgegeben → BauRaumOderBodenordnungsrecht.qml angewendet. | grün | nie geprüft |
TestHandleVerfShape.test_enriched_layer_already_in_project_not_added_again |
Layer bereits im Projekt → kein erneutes addMapLayer für VG-Layer. | grün | nie geprüft |
TestHandleVerfShape.test_busy_state_set_during_execution |
Button wird während der Ausführung auf busy gesetzt. | grün | nie geprüft |
Paket sn_plan41
Fachplugin, Ordner Plugin_SN_Plan41 – 5 Testdateien mit 44 Testfällen (43 grün, 1 rot, 0 übersprungen).
Plugin_SN_Plan41/tests/test_listenauswerter.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestListenauswerter(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_provider |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_rejects_missing_required_fields |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabALogic(9 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabALogic.test_verfahrens_db_set_and_load_roundtrip |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_verfahrens_db_clear |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_linkliste_set_and_load_existing_path |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_linkliste_load_returns_none_when_file_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_raumfilter_without_filter_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_preconditions.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabAPreconditions(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_ui.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabAUI(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crash |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAUI.test_tab_a_raumfilter_callback_persists_value |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
Plugin_SN_Plan41/tests/test_vln_api_logic.py
Worum es in der Datei geht: Tests für sn_plan41/modules/vln_api_logic.py
Testgruppen:
TestVlnApiLogicAvailability(2 Testfälle): — (Docstring fehlt)TestVlnApiLogicCredentials(4 Testfälle): — (Docstring fehlt)TestVlnApiLogicLogin(6 Testfälle): — (Docstring fehlt)TestVlnApiLogicVerfahren(2 Testfälle): — (Docstring fehlt)TestVlnApiLogicVkz(4 Testfälle): — (Docstring fehlt)TestVlnApiLogicLoadP41(3 Testfälle): — (Docstring fehlt)TestVlnApiLogicUpload(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVlnApiLogicAvailability.test_is_available_reflects_import_state |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicAvailability.test_is_available_false_when_vln_karten_missing |
Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False. | grün | nie geprüft |
TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_clear_api_key_calls_remove |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_sets_client_and_saves_key |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_propagates_api_error |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_logout_clears_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_is_authenticated_false_after_logout |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_save_vkz_writes_to_project |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_calls_save_feature_collection |
— (Docstring fehlt) | grün | nie geprüft |
Lücken
Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen, lässt sich nur aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall, dann verschwindet er hier von selbst.
sn_basis – 0 von 317 Testfällen ohne Beschreibung
Keine Lücken.
sn_verfahrensgebiet – 102 von 208 Testfällen ohne Beschreibung
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py (25 von 25)
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullenTestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuelltTestBaueFlurstueckCsv.test_ungueltiges_format_gibt_noneTestBaueFlurstueckCsv.test_leerer_wert_gibt_noneTestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_aTestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_bTestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_zTestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerischTestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkanntTestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuelltTestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_listeTestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahlTestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layerTestHoleVerfahrensgebietLayer.test_kein_layer_gibt_noneTestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichenTestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummerTestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_anTestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_noneTestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehlerTestLadeBeteiligungCsv.test_leere_datei_wirft_fehlerTestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py (2 von 2) – auch der Modul-Docstring fehlt
TestDockWidget.test_init_tabs_with_services_injects_available_servicesTestDockWidget.test_init_tabs_with_services_reports_errors
Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py (6 von 14)
TestExtractSchluesselUndName.test_standard_attributeTestExtractSchluesselUndName.test_fallback_attributeTestExtractSchluesselUndName.test_missing_attribute_returns_emptyTestExtractSchluesselUndName.test_none_value_returns_emptyTestGemarkungSchluesselnurNummern.test_returns_only_nummernTestGemarkungSchluesselnurNummern.test_empty_input_returns_empty
Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py (6 von 13)
TestGrenzpunktAlkis.test_no_vg_layer_returns_noneTestGrenzpunktAlkis.test_invalid_punktort_layerTestGrenzpunktAlkis.test_empty_punktort_layerTestGrenzpunktAlkis.test_no_gml_ids_returns_pta_onlyTestGrenzpunktAlkis.test_grenzpunkt_batch_emptyTestGrenzpunktAlkis.test_success_returns_both_layers
Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py (6 von 13)
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_listeTestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_listeTestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_listeTestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_main.py (4 von 4) – auch der Modul-Docstring fehlt
TestPluginMain.test_init_sets_services_and_namesTestPluginMain.test_initGui_registers_action_when_basis_ui_existsTestPluginMain.test_run_creates_dock_and_marks_toolbar_activeTestPluginMain.test_unload_removes_dock_and_action
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py (4 von 8) – auch der Modul-Docstring fehlt
TestVerfahrensgebietAlkis.test_check_existing_layer_first_loadTestVerfahrensgebietAlkis.test_check_existing_layer_keep_existingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py (19 von 30)
TestSelectByLocation.test_processing_not_available_returns_zeroTestSelectByLocation.test_processing_success_returns_countTestSelectByLocation.test_processing_exception_returns_zeroTestFuegeVkzFeldHinzu.test_empty_vkz_does_nothingTestFuegeVkzFeldHinzu.test_none_vkz_does_nothingTestFuegeVkzFeldHinzu.test_vkz_field_addedTestFlaechenvergleich.test_gleiche_flaeche_stimmt_uebereinTestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_uebereinTestFlaechenvergleich.test_differenz_innerhalb_toleranzTestFlaechenvergleich.test_differenz_ausserhalb_toleranzTestFlaechenvergleich.test_flaechen_werte_korrektTestFlaechenvergleich.test_lese_toleranz_default_ist_nullTestFlaechenvergleich.test_lese_toleranz_parst_stringTestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_nullTestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_abortsTestVerfahrensgebietAlkisKomplett.test_flst_none_abortsTestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enrichedTestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_noneTestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py (4 von 21)
TestPruefeAuswahl.test_no_selection_failsTestPruefeAuswahl.test_with_selection_passesTestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zeroTestGetKennzeichenMenge.test_empty_layer_returns_empty_set
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py (20 von 31)
TestFindShp.test_findet_shp_in_rootTestFindShp.test_findet_shp_in_unterordnerTestFindShp.test_kein_shp_gibt_none_zurueckTestFindShp.test_case_insensitive_erkennungTestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_noneTestErstelleMemoryLayerAusShp.test_keine_features_gibt_noneTestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueckTestLadeVgAusZip.test_zip_fehler_gibt_none_und_warningTestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warningTestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warningTestLadeVgAusZip.test_leere_geometrien_geben_none_und_warningTestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueckTestVerfahrensgebietShapeKomplett.test_lade_zip_none_abortsTestVerfahrensgebietShapeKomplett.test_flst_none_abortsTestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warningTestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialogTestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueckTestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_aufTestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehlerTestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt
Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py (6 von 33) – auch der Modul-Docstring fehlt
TestWorkingTab.test_set_busy_updates_button_stateTestWorkingTab.test_on_verf_layer_changed_valid_sets_variableTestWorkingTab.test_on_verf_layer_changed_none_clears_variableTestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_styleTestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_pathTestWorkingTab.test_aus_liste_button_shows_not_implemented_hint
sn_plan41 – 43 von 44 Testfällen ohne Beschreibung
Plugin_SN_Plan41/tests/test_listenauswerter.py (4 von 4) – auch der Modul-Docstring fehlt
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_providerTestListenauswerter.test_validate_rows_rejects_missing_required_fieldsTestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failureTestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case
Plugin_SN_Plan41/tests/test_tab_a_logic.py (9 von 9) – auch der Modul-Docstring fehlt
TestTabALogic.test_verfahrens_db_set_and_load_roundtripTestTabALogic.test_verfahrens_db_clearTestTabALogic.test_linkliste_set_and_load_existing_pathTestTabALogic.test_linkliste_load_returns_none_when_file_missingTestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persistsTestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejectsTestTabALogic.test_resolve_raumfilter_without_filter_returns_noneTestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookupTestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps
Plugin_SN_Plan41/tests/test_tab_a_preconditions.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missingTestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_projectTestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing
Plugin_SN_Plan41/tests/test_tab_a_ui.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crashTestTabAUI.test_tab_a_raumfilter_callback_persists_valueTestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber
Plugin_SN_Plan41/tests/test_vln_api_logic.py (24 von 25)
TestVlnApiLogicAvailability.test_is_available_reflects_import_stateTestVlnApiLogicCredentials.test_save_api_key_calls_qsettingsTestVlnApiLogicCredentials.test_clear_api_key_calls_removeTestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mailTestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_emptyTestVlnApiLogicLogin.test_login_sets_client_and_saves_keyTestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modulesTestVlnApiLogicLogin.test_login_propagates_api_errorTestVlnApiLogicLogin.test_logout_clears_clientTestVlnApiLogicLogin.test_is_authenticated_false_after_logoutTestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_clientTestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticatedTestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_clientTestVlnApiLogicVkz.test_load_stored_vkz_reads_from_projectTestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_emptyTestVlnApiLogicVkz.test_save_vkz_writes_to_projectTestVlnApiLogicVkz.test_save_vkz_does_nothing_for_noneTestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_kartenTestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layersTestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layerTestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_pathTestVlnApiLogicUpload.test_upload_returns_error_for_none_layerTestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modulesTestVlnApiLogicUpload.test_upload_calls_save_feature_collection
Ungetestete Funktionen (strukturelle Lücke)
Heuristik, kein Beweis: Diese Funktionen und Methoden kommen unter ihrem Namen in keiner Testdatei des Pakets vor. Das schließt nicht aus, dass sie indirekt über eine andere, getestete Funktion mitlaufen – umgekehrt gilt: Taucht der Name irgendwo in einer Testdatei auf, gilt die Funktion schon als referenziert, auch bei zufälliger Namensgleichheit mit etwas anderem. main.py/__init__.py (QGIS-Einstiegspunkte wie classFactory, initGui, unload) und Dunder-Methoden sind ausgenommen. Diese Liste ersetzt keine fachliche Prüfung, ob ein Test sinnvoll wäre – dafür braucht es einen Menschen, der die Funktion kennt.
„beabsichtigt“ liest den Docstring der Funktion: Enthält er einen Vermerk wie „von Test abgesehen, weil …“ oder „Test ausgesetzt, zunächst Refactor“, gilt der fehlende Test als bewusste Entscheidung. Alles andere ist „ungeklärt“ – die eigentliche Arbeitsliste.
sn_basis – 76 von 229 (33 %) ohne Testbezug (9 ungeklärt, 67 beabsichtigt)
functions/dialog_wrapper.py (9)
show_info_dialog(Zeile 42) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ask_detailpruefung_oder_vg_laden(Zeile 192) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ask_detailpruefung_oder_abbrechen(Zeile 244) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_total(Zeile 339) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_value(Zeile 348) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_label(Zeile 361) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.is_canceled(Zeile 371) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.raise_to_front(Zeile 389) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026create_progress_dialog(Zeile 408) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/message_wrapper.py (2)
info(Zeile 67) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026success(Zeile 84) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/os_wrapper.py (5)
normalize_path(Zeile 43) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026get_home_dir(Zeile 55) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026is_absolute_path(Zeile 64) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026basename(Zeile 75) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026path_suffix(Zeile 106) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/qgisui_wrapper.py (1)
add_toolbar(Zeile 204) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/qt_wrapper.py (2)
exec_dialog(Zeile 60) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026debug_qt_status(Zeile 67) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/DataGrabber.py (3)
DataGrabber.set_source(Zeile 68) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026DataGrabber._process_database_source(Zeile 312) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026DataGrabber._process_service_source(Zeile 324) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/Dateipruefer.py (2)
Dateipruefer._ist_leer(Zeile 98) — ungeklärtDateipruefer._handle_leere_eingabe(Zeile 227) — ungeklärt
modules/Datenschreiber.py (1)
Datenschreiber._store_style_in_gpkg(Zeile 77) — ungeklärt
modules/LayerLoader.py (2)
LayerLoader._was_canceled(Zeile 42) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026LayerLoader._process_events(Zeile 51) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/linkpruefer.py (3)
Linkpruefer._ist_url(Zeile 41) — ungeklärtLinkpruefer._pruefe_url(Zeile 81) — ungeklärtLinkpruefer._pruefe_dateipfad(Zeile 115) — ungeklärt
modules/print_layout.py (11)
PrintLayout._create_map_item(Zeile 98) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._set_item_frame_stroke_width(Zeile 120) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._fit_extent_to_map_item(Zeile 156) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout.add_text_label(Zeile 214) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._setup_layout_objects(Zeile 246) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._create_label_item(Zeile 378) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._resolve_visible_map_layers(Zeile 476) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._apply_grid_common_settings(Zeile 798) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._safe_grid_call(Zeile 805) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._apply_grid_annotation_text_style(Zeile 817) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._create_rectangle_box_item(Zeile 918) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/print_layout_baufreigabe.py (3)
PrintLayoutBaufreigabe.create_baufreigabe_layout(Zeile 90) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayoutBaufreigabe._setup_layout_objects_baufreigabe(Zeile 264) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayoutBaufreigabe._calc_atlas_margin_percent(Zeile 398) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/print_logic.py (20)
PrintLogic._failed_result(Zeile 123) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._show_target_size_too_small(Zeile 127) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._is_enabled_flag(Zeile 135) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._resolve_layer_from_project(Zeile 141) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._resolve_active_layer(Zeile 162) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_druckpuffer_cm(Zeile 172) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_druckpuffer_m(Zeile 181) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._import_qgis_symbol(Zeile 185) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._build_rectangle(Zeile 193) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._clone_extent(Zeile 203) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_existing_layer_by_name(Zeile 270) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._create_druckrechteck_layer(Zeile 284) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._clear_layer_features(Zeile 313) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic.configure_atlas_for_baufreigabe_layout(Zeile 483) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._store_druckrechteck(Zeile 631) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic.activate_druckrechteck_capture(Zeile 680) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._resolve_selection_layer(Zeile 811) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_selected_extent(Zeile 825) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_plot_dimensions_mm(Zeile 1078) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_required_map_dimensions_mm(Zeile 1088) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/Pruefmanager.py (5)
Pruefmanager.report_summary(Zeile 45) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026Pruefmanager.zeige_hinweis(Zeile 63) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026Pruefmanager._handle_datei_existiert(Zeile 87) — ungeklärtPruefmanager._handle_verfahrensgebiet_layer_existiert(Zeile 234) — ungeklärtPruefmanager._ask_use_or_replace_pufferlayer(Zeile 277) — ungeklärt
ui/tabs/print_tab.py (7)
PrintTab._build_ui(Zeile 115) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_kartenname_changed(Zeile 335) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_massstab_changed(Zeile 349) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_zielgroesse_changed(Zeile 361) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_formfaktor_changed(Zeile 367) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_druckbereich_changed(Zeile 374) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._format_druckpuffer_label(Zeile 432) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
sn_verfahrensgebiet – 34 von 104 (33 %) ohne Testbezug (34 ungeklärt, 0 beabsichtigt)
functions/beteiligung_pruefung.py (5)
_baue_nenner_kennzeichen(Zeile 139) — ungeklärt_hole_flurstuecke_layer(Zeile 253) — ungeklärt_flurstueckskennzeichen_geometrien(Zeile 258) — ungeklärt_try1_listenabgleich(Zeile 279) — ungeklärt_lese_vef_vkzf(Zeile 380) — ungeklärt
functions/flurstueck_alkis.py (1)
_vorhandene_kennzeichen(Zeile 80) — ungeklärt
functions/gemarkung_alkis.py (1)
gemarkung_schluessel_von_vg_geometrie(Zeile 212) — ungeklärt
functions/grenzpunkt_alkis.py (4)
_punktort_ta_bbox_param(Zeile 115) — ungeklärt_hat_geometrie(Zeile 573) — ungeklärt_lade_gemarkung_extents_mit_puffer(Zeile 637) — ungeklärt_lade_punktort_ta_batches_per_gemarkung(Zeile 784) — ungeklärt
functions/knickpunkt_pruefung.py (2)
_setze_kategorien_symbologie(Zeile 158) — ungeklärterstelle_korrigiertes_polygon(Zeile 604) — ungeklärt
functions/umringspruefung.py (3)
_zerlege_in_teile(Zeile 55) — ungeklärt_setze_kategorien_symbologie(Zeile 112) — ungeklärtumringspruefung(Zeile 152) — ungeklärt
functions/umringstatistik_grenzpunkte.py (3)
_setze_kategorien_symbologie(Zeile 74) — ungeklärt_klassifiziere(Zeile 119) — ungeklärtumringstatistik_grenzpunkte(Zeile 164) — ungeklärt
functions/verfahrensgebiet_alkis.py (1)
_baue_layer_aus_kombinationen(Zeile 144) — ungeklärt
functions/verfahrensgebiet_alkis_komplett.py (2)
_entferne_hilfs_layer(Zeile 100) — ungeklärt_flaeche_des_layers(Zeile 210) — ungeklärt
functions/verfahrensgebiet_dialoge.py (1)
ask_landkreis_objekte(Zeile 101) — ungeklärt
functions/verfahrensgebiet_shape_komplett.py (6)
_normalisiere_feldname(Zeile 110) — ungeklärt_finde_fbschl_index(Zeile 132) — ungeklärt_ermittle_gebietstyp_aus_fbschl(Zeile 161) — ungeklärt_wende_vergleich_stil_an(Zeile 211) — ungeklärt_erstelle_vergleich_layer(Zeile 251) — ungeklärt_finde_alle_shp(Zeile 342) — ungeklärt
ui/tabs/working_tab.py (5)
WorkingTab.handle_beteiligung_pruefen(Zeile 297) — ungeklärtWorkingTab._haken_label(Zeile 349) — ungeklärtWorkingTab._restore_verf_layer_selection(Zeile 374) — ungeklärtWorkingTab._uebernimm_flurstuecke_ergebnis(Zeile 390) — ungeklärtWorkingTab.handle_umringstatistik(Zeile 777) — ungeklärt
sn_plan41 – 39 von 80 (49 %) ohne Testbezug (39 ungeklärt, 0 beabsichtigt)
modules/vln_api_client.py (3)
KartenApiClient.load_feature_collection(Zeile 154) — ungeklärtKartenApiClient._request(Zeile 176) — ungeklärtKartenApiClient._error_detail(Zeile 235) — ungeklärt
modules/vln_api_logic.py (4)
VlnApiLogic.get_p41_layers(Zeile 233) — ungeklärtVlnApiLogic.remove_p41_layers(Zeile 237) — ungeklärtVlnApiLogic._apply_p41_styles(Zeile 277) — ungeklärtVlnApiLogic.upload_summary(Zeile 347) — ungeklärt
modules/vln_layer_manager.py (2)
_family(Zeile 58) — ungeklärtmemory_layer_from_features(Zeile 73) — ungeklärt
ui/dockwidget.py (1)
DockWidget._init_tabs_with_services(Zeile 42) — ungeklärt
ui/tab_a_logic.py (15)
TabALogic._log(Zeile 90) — ungeklärtTabALogic._create_silent_pruefmanager(Zeile 93) — ungeklärtTabALogic._zeige_verfahrensgebiet_hinweis(Zeile 127) — ungeklärtTabALogic._close_progress_dialog(Zeile 139) — ungeklärtTabALogic.write_layer_to_verfahrens_db(Zeile 169) — ungeklärtTabALogic.is_valid_verfahrensgebiet_layer(Zeile 242) — ungeklärtTabALogic._load_dienste_aus_result_dict(Zeile 391) — ungeklärtTabALogic._create_local_layer_from_fetched_features(Zeile 639) — ungeklärtTabALogic._write_html_log(Zeile 779) — ungeklärtTabALogic._clone_layer_with_extent(Zeile 934) — ungeklärtTabALogic._handle_pufferlayer(Zeile 1062) — ungeklärtTabALogic._load_existing_pufferlayer(Zeile 1084) — ungeklärtTabALogic._create_pufferlayer(Zeile 1092) — ungeklärtTabALogic._pufferlayer_exists_in_source(Zeile 1119) — ungeklärtTabALogic.Pufferlayer_erstellen(Zeile 1133) — ungeklärt
ui/tab_a_ui.py (14)
TabA._build_ui(Zeile 113) — ungeklärtTabA._restore_state(Zeile 274) — ungeklärtTabA._restore_vln_state(Zeile 296) — ungeklärtTabA._toggle_vln_group(Zeile 307) — ungeklärtTabA._update_vln_ui_state(Zeile 311) — ungeklärtTabA._populate_verfahren_combo(Zeile 347) — ungeklärtTabA._on_vln_login(Zeile 374) — ungeklärtTabA._on_vln_logout(Zeile 405) — ungeklärtTabA._on_vln_verfahren_changed(Zeile 416) — ungeklärtTabA._on_p41_laden(Zeile 424) — ungeklärtTabA._on_upload_active(Zeile 498) — ungeklärtTabA._create_new_gpkg(Zeile 595) — ungeklärtTabA._update_group_color(Zeile 608) — ungeklärtTabA._on_load_fachdaten(Zeile 618) — ungeklärt