Files
Projektwissen/docs/tests/testkatalog.md
T
DanielandClaude Opus 5.5 abac5a015c Anzeigefenster ohne Vollbild: Testkonzept und Fallstrick (Verfahrensgebiet #56)
Befund aus dem QGIS-Test (Fenster immer auf dem Hauptbildschirm, im
Vollbild nicht zu verlassen) in fallstricke.md festgehalten; Testkonzept,
Modulkarte und Testkatalog an das Fenster mit Rahmen und die
Pfadanzeige der Korrektur-Datei angepasst.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 13:44:18 +02:00

172 KiB
Raw Blame History

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)

Gesamt: 3 Pakete, 66 Testdateien, 823 Testfälle – 780 grün, 35 rot (Baseline), 8 übersprungen. Mit Beschreibung (Docstring): 678 von 823 (82 %).

Zusammenfassung

Paket Testdateien Testfälle grün rot (Baseline) übersprungen mit Beschreibung
sn_basis 43 490 490 0 0 490 von 490 (100 %)
sn_verfahrensgebiet 18 289 247 34 8 187 von 289 (65 %)
sn_plan41 5 44 43 1 0 1 von 44 (2 %)
Summe 66 823 780 35 8 678 von 823 (82 %)

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.json vermerkt; er darf nicht ignoriert, aber auch nicht als neuer Fehler gewertet werden.
  • übersprungen – per @unittest.skip/skipIf/skipUnless abgeschaltet; der Grund steht dabei.
  • Ein Testfall heißt Testgruppe.test_name; die Testgruppe fasst zusammengehörige Testfälle einer Datei zusammen.

Paket sn_basis

Plattform-Plugin, Ordner Plugin_SN_Basis – 43 Testdateien mit 490 Testfällen (490 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) und Scroll-Bereich je Tab (Basis #104).

Testgruppen:

  • CloseEventTests (5 Testfälle): — (Docstring fehlt)
  • ScrollbereichTests (5 Testfälle): Lange Tabs dürfen das QGIS-Fenster nicht über den Bildschirmrand schieben (Basis #104).
Testfall prüft Status
CloseEventTests.test_ruft_cleanup_aller_tabs_auf Prüft, dass closeEvent cleanup() auf allen Tabs des Dock-Widgets aufruft. grün
CloseEventTests.test_ignoriert_tabs_ohne_cleanup Prüft, dass ein Tab ohne cleanup()-Methode nicht zu einem Fehler führt. grün
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
CloseEventTests.test_setzt_toolbar_action_zurueck Prüft, dass closeEvent die verknüpfte Toolbar-Action auf 'nicht gedrückt' zurücksetzt. grün
CloseEventTests.test_ohne_action_wird_nichts_zurueckgesetzt Prüft, dass closeEvent ohne verknüpfte Toolbar-Action keine Ausnahme wirft. grün
ScrollbereichTests.test_jeder_tab_liegt_in_einem_scrollbereich Prüft, dass BaseDockWidget jeden Tab in einen mitwachsenden Scroll-Bereich packt, damit ein langer Tab scrollt, statt das Fenster zu verlängern. grün
ScrollbereichTests.test_fachplugin_mit_eigenem_tabaufbau_bekommt_scrollbereich Prüft, dass auch ein Fachplugin, das seine Tabs selbst aufbaut und per setWidget einsetzt (wie Plan41, Verfahrensgebiet), Scroll-Bereiche bekommt. grün
ScrollbereichTests.test_scrollbereich_wird_nicht_doppelt_angelegt Prüft, dass ein Tab, der schon in einem Scroll-Bereich liegt, beim erneuten Einsetzen nicht ein zweites Mal verpackt wird. grün
ScrollbereichTests.test_setwidget_none_und_andere_widgets_bleiben_unveraendert Prüft, dass setWidget(None) und Widgets ohne Tabs ohne Fehler und unverändert eingesetzt werden. grün
ScrollbereichTests.test_cleanup_erreicht_tabs_im_scrollbereich Prüft, dass closeEvent cleanup() auch für Tabs aufruft, die in einem Scroll-Bereich liegen. grün

Plugin_SN_Basis/tests/test_basemap_anbindung.py

Worum es in der Datei geht: Tests für die Anbindung der Basemap-Legende an Druckablauf, Dialog und Druck-Tab (Basis #88):

Testgruppen:

  • TestMehrfachauswahl (1 Testfälle): — (Docstring fehlt)
  • TestDruckanbindung (4 Testfälle): — (Docstring fehlt)
  • TestBasemapBereich (11 Testfälle): — (Docstring fehlt)
  • TestStilvorlagenAustausch (5 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestMehrfachauswahl.test_mock_modus_liefert_vorauswahl_in_listenreihenfolge Prüft, dass der Mehrfachauswahl-Dialog im Mock-Modus die vorausgewählten Schlüssel in Listenreihenfolge liefert. grün
TestDruckanbindung.test_basemap_legende_nur_fuer_38_und_41_und_bei_eingeschaltetem_schalter Prüft, dass nur §-38- und §-41-Vorlagen eine Basemap-Legende bekommen und nur, wenn der Schalter im Druck-Tab an ist. grün
TestDruckanbindung.test_layout_wird_markiert_und_legende_erzeugt Prüft, dass PrintLayout das Layout als Basemap-Nutzer kennzeichnet und die Basemap-Legende erzeugen lässt. grün
TestDruckanbindung.test_fehler_der_basemap_legende_verhindert_die_vorlage_nicht Prüft, dass ein Fehler beim Erzeugen der Basemap-Legende nur als Warnung gemeldet wird und keine Ausnahme durchreicht. grün
TestDruckanbindung.test_druck_tab_aktualisiert_basemap_bereich_falls_vorhanden Prüft, dass der Druck-Tab den Basemap-Bereich neu einliest und ohne Bereich nichts tut. grün
TestBasemapBereich.test_auswertebereich_wird_gespeichert Prüft, dass die Wahl des Auswertebereichs in der Projektvariable landet. grün
TestBasemapBereich.test_aktualisieren_ohne_vorlage_warnt Prüft, dass „Basemap-Legende aktualisieren“ ohne vorhandene Vorlage warnt und nichts auswertet. grün
TestBasemapBereich.test_aktualisieren_wertet_gewaehlte_vorlage_aus Prüft, dass „Basemap-Legende aktualisieren“ die gewählte Vorlage auswertet und den Erfolg meldet. grün
TestBasemapBereich.test_stil_laden_uebernimmt_legendenauswahl Prüft, dass das Laden einer Stilvorlage den Layerstil ersetzt und ihre Legendenauswahl in das Projekt übernimmt. grün
TestBasemapBereich.test_stil_laden_bricht_bei_fremder_vorlage_ab Prüft, dass eine Vorlage mit unbekannten Styles nur nach Bestätigung geladen wird. grün
TestBasemapBereich.test_vorhandene_vorlage_wird_nur_nach_rueckfrage_ersetzt Prüft, dass eine gleichnamige Stilvorlage ohne Bestätigung nicht überschrieben wird. grün
TestBasemapBereich.test_speichern_mit_aktueller_legendenauswahl Prüft, dass eine neue Stilvorlage zusammen mit der aktuellen Legendenauswahl gespeichert wird. grün
TestBasemapBereich.test_punktlinien_korrigieren_meldet_anzahl Prüft, dass „Punktlinien korrigieren“ den Basemap-Layer korrigiert und die Anzahl korrigierter Styles meldet. grün
TestBasemapBereich.test_punktlinien_ohne_basemap_layer_warnt Prüft, dass ohne Basemap-Layer nichts korrigiert, sondern gewarnt wird. grün
TestBasemapBereich.test_stil_speichern_ohne_basemap_layer_warnt Prüft, dass ohne Basemap-Layer keine Stilvorlage gespeichert, sondern gewarnt wird. grün
TestBasemapBereich.test_stil_laden_bricht_bei_fremdem_thema_ab Prüft, dass eine Vorlage eines anderen Themas (Grau auf Farbe) nur nach Bestätigung geladen wird. grün
TestStilvorlagenAustausch.test_export_schreibt_gewaehlte_vorlage Prüft, dass „Exportieren …“ die gewählte Vorlage in die im Dateidialog gewählte Datei schreibt und den Pfad meldet. grün
TestStilvorlagenAustausch.test_export_abgebrochen_oder_ohne_vorlage Prüft, dass ohne gewählte Vorlage oder bei abgebrochenem Dateidialog nichts exportiert wird. grün
TestStilvorlagenAustausch.test_import_uebernimmt_datei_unter_gewaehltem_namen Prüft, dass „Importieren …“ den Namen aus der Datei vorschlägt, unter dem gewählten Namen importiert und die neue Vorlage auswählt. grün
TestStilvorlagenAustausch.test_import_ersetzt_vorhandene_nur_nach_rueckfrage Prüft, dass ein Import eine gleichnamige Vorlage ohne Bestätigung nicht überschreibt. grün
TestStilvorlagenAustausch.test_import_ungeeigneter_datei_warnt Prüft, dass eine ungeeignete Importdatei gemeldet wird, ohne nach einem Namen zu fragen oder etwas zu importieren. grün

Plugin_SN_Basis/tests/test_basemap_kacheln.py

Worum es in der Datei geht: Tests für modules/basemap_kacheln.py – kachelweise Auswertung des Basemap-Layers (Basis #88).

Testgruppen:

  • TestSammleObjekte (4 Testfälle): — (Docstring fehlt)
  • TestZoomUndStile (2 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestSammleObjekte.test_gleiche_objekte_aus_mehreren_kacheln_werden_entdoppelt Prüft, dass Objekte mit gleichem Quell-Layer, Geometrietyp und Attributen über Kachelgrenzen hinweg nur einmal gezählt werden. grün
TestSammleObjekte.test_kacheln_ausserhalb_der_geometrie_werden_uebersprungen Prüft, dass Kacheln ohne Schnitt mit dem Auswertebereich nicht abgefragt werden. grün
TestSammleObjekte.test_abbruch_liefert_none_und_hebt_auswahl_auf Prüft, dass ein Abbruch über den Fortschritt None liefert und die Auswahl auf dem Basemap-Layer trotzdem aufgehoben wird. grün
TestSammleObjekte.test_anzahl_kacheln_aus_kachelbereich Prüft, dass die Kachelzahl aus dem Kachelbereich der Geometrie berechnet wird. grün
TestZoomUndStile.test_zoomstufen_wie_im_qgis_renderer Prüft, dass Kachelzoom begrenzt, Darstellungszoom unbegrenzt und der gebrochene Zoom aus dem Maßstab bestimmt werden. grün
TestZoomUndStile.test_stile_aus_layer_liest_renderer_styles Prüft, dass Name, Quell-Layer, Geometrietyp, Zoombereich, Schalter und Filter der Renderer-Styles übernommen werden. grün

Plugin_SN_Basis/tests/test_basemap_katalog.py

Worum es in der Datei geht: Tests für modules/basemap_katalog.py – Legendenkatalog aus der basemap.de-Style-JSON (Basis #88).

Testgruppen:

  • TestRendererStil (3 Testfälle): — (Docstring fehlt)
  • TestErzeugeKatalog (6 Testfälle): — (Docstring fehlt)
  • TestSymbolwahlUndPruefung (3 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestRendererStil.test_beschriftung_und_3d_sind_keine_renderer_stile Prüft, dass reine Beschriftungen und 3D-Gebäude nicht als Renderer-Style gelten, Icon-Symbole und Flächen schon. grün
TestRendererStil.test_ausschluss_ueber_liste_und_praefix Prüft, dass Style-IDs über die Ausschlussliste und über Präfixe (Nummernschilder) ausgeschlossen werden. grün
TestRendererStil.test_normalisierung_entfernt_variantenkennungen Prüft, dass Variantenkennungen wie Kontur, Brücke oder Breitenangaben beim Normalisieren einer Style-ID entfallen. grün
TestErzeugeKatalog.test_kontur_decker_und_bruecke_bilden_einen_eintrag Prüft, dass Kontur-, Decker-, Fahrbahn- und Brückenvarianten derselben Straßenklasse genau einen Legendeneintrag bilden. grün
TestErzeugeKatalog.test_zustand_im_bau_wird_eigener_eintrag Prüft, dass „im Bau“ einen eigenen Legendeneintrag mit Zustandsangabe in der Bezeichnung bekommt. grün
TestErzeugeKatalog.test_punkt_und_flaeche_derselben_objektart_werden_zusammengefasst Prüft, dass das Kran-Symbol aus Bauwerkspunkt und Bauwerksfläche in einem Eintrag landet. grün
TestErzeugeKatalog.test_ausgeschlossene_stile_fehlen_im_katalog Prüft, dass Hintergrund, Beschriftungen, Nummernschilder und 3D-Gebäude keinem Eintrag zugeordnet werden. grün
TestErzeugeKatalog.test_fachliche_nachbearbeitung_bleibt_beim_erneuten_lauf_erhalten Prüft, dass Bezeichnung, Gruppe, Zusammenführung und Symbolwahl eines bestehenden Katalogs bei einem erneuten Lauf erhalten bleiben. grün
TestErzeugeKatalog.test_entfallene_style_ids_werden_gemeldet Prüft, dass eine Style-ID, die in der neuen Style-JSON fehlt, als entfallen gemeldet und aus dem Katalog entfernt wird. grün
TestSymbolwahlUndPruefung.test_symbol_stile_je_rolle_nur_grundvariante Prüft, dass für das Legendensymbol je Rolle (Kontur, Decker) nur die erste Grundvariante gewählt wird. grün
TestSymbolwahlUndPruefung.test_pruefung_findet_doppelte_zuordnung_und_unbekannte_symbole Prüft, dass die Katalogprüfung doppelt zugeordnete Style-IDs und Symbol-Styles außerhalb des Katalogs meldet. grün
TestSymbolwahlUndPruefung.test_ausgelieferter_katalog_ist_konsistent Prüft, dass der ausgelieferte Katalog data/basemap_legende.json ohne Fehler geprüft wird und Kreisstraße mit Kontur und Decker enthält. grün

Plugin_SN_Basis/tests/test_basemap_legende.py

Worum es in der Datei geht: Tests für modules/basemap_legende.py – Zuordnung, Auswahl und Ablauf der Basemap-Legende (Basis #88).

Testgruppen:

  • TestStileUndEintraege (4 Testfälle): — (Docstring fehlt)
  • TestAuswahlUndEinstellungen (6 Testfälle): — (Docstring fehlt)
  • TestLayerErkennung (2 Testfälle): — (Docstring fehlt)
  • TestAblauf (6 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestStileUndEintraege.test_stil_aktiv_nur_eingeschaltet_und_im_zoombereich Prüft, dass ein Style nur aktiv ist, wenn er eingeschaltet ist und die Zoomstufe im Bereich liegt (-1 = unbegrenzt). grün
TestStileUndEintraege.test_getroffene_stile_pruefen_layer_geometrie_zoom_und_filter Prüft, dass ein Style nur Objekte seines Quell-Layers und Geometrietyps zählt, deren Filter zutrifft, und nur bei passender Zoomstufe. grün
TestStileUndEintraege.test_eintraege_fassen_styles_zusammen_und_sortieren_nach_gruppe Prüft, dass mehrere Styles eines Katalogeintrags einen Eintrag ergeben und die Einträge nach Gruppen- und Katalogreihenfolge sortiert sind. grün
TestStileUndEintraege.test_ausgeschlossene_und_unbekannte_styles Prüft, dass ausgeschlossene Styles entfallen und unbekannte Styles als nicht bekannter Eintrag in „Sonstiges“ landen. grün
TestAuswahlUndEinstellungen.test_vorauswahl_bekannte_an_unbekannte_aus Prüft, dass ohne gespeicherte Auswahl Katalogeinträge vorausgewählt und unbekannte Styles abgewählt sind. grün
TestAuswahlUndEinstellungen.test_auswahl_wird_gemerkt_und_vorbelegt Prüft, dass ab- und angewählte Einträge in der Projektvariable gespeichert und beim nächsten Mal so vorbelegt werden. grün
TestAuswahlUndEinstellungen.test_merken_ergaenzt_die_bisherige_auswahl Prüft, dass das Merken die Auswahl nicht angezeigter Einträge aus früheren Läufen behält. grün
TestAuswahlUndEinstellungen.test_kaputte_projektvariable_ergibt_leere_auswahl Prüft, dass eine nicht lesbare Projektvariable als leere Auswahl gilt. grün
TestAuswahlUndEinstellungen.test_auswertebereich_standard_und_umstellung Prüft, dass der Auswertebereich standardmäßig das Verfahrensgebiet ist, umgestellt werden kann und unbekannte Werte abgewiesen werden. grün
TestAuswahlUndEinstellungen.test_legende_erzeugen_standard_an Prüft, dass das Erzeugen der Basemap-Legende standardmäßig eingeschaltet ist und abgeschaltet werden kann. grün
TestLayerErkennung.test_erkennung_ueber_quelle_und_namen Prüft, dass der Basemap-Layer an Vektorkacheln mit basemap.de-Quelle erkannt wird, der Name nur als Rückfall dient und andere Layertypen nicht zählen. grün
TestLayerErkennung.test_sichtbare_layer_aus_thema_feste_liste_oder_layerbaum Prüft, dass die Layer der Karte aus dem Kartenthema, sonst aus der festen Layerliste, sonst aus dem sichtbaren Layerbaum kommen. grün
TestAblauf.test_ohne_basemap_layer_passiert_nichts Prüft, dass ohne sichtbaren Basemap-Layer weder Dialog noch Legende entstehen. grün
TestAblauf.test_gewaehlte_eintraege_werden_geschrieben_und_gemerkt Prüft, dass nur die im Dialog gewählten Einträge in die Legende geschrieben und die Auswahl gespeichert wird. grün
TestAblauf.test_abbruch_im_dialog_aendert_nichts Prüft, dass ein Abbruch im Auswahldialog die Legende nicht verändert und keine Auswahl speichert. grün
TestAblauf.test_rueckfall_auf_druckbereich_wird_gemeldet Prüft, dass ohne Verfahrensgebiet auf den Druckbereich zurückgefallen und das gemeldet wird. grün
TestAblauf.test_ohne_objekte_keine_legende Prüft, dass ohne Basemap-Objekte im Auswertebereich weder Dialog noch Legende entstehen. grün
TestAblauf.test_viele_kacheln_werden_vorher_bestaetigt Prüft, dass vor einer Auswertung mit sehr vielen Kacheln nachgefragt wird und eine Ablehnung die Auswertung abbricht. grün

Plugin_SN_Basis/tests/test_basemap_legende_layout.py

Worum es in der Datei geht: Tests für modules/basemap_legende_layout.py – Basemap-Legende im Drucklayout (Basis #88).

Testgruppen:

  • TestKennzeichenUndKarte (2 Testfälle): — (Docstring fehlt)
  • TestSymbolwahl (2 Testfälle): — (Docstring fehlt)
  • TestAutobahnSymbol (3 Testfälle): Autobahn-Symbol aus dem ausgelieferten Katalog (Basis #98).
  • TestHilfslayer (3 Testfälle): — (Docstring fehlt)
  • TestPlatzierung (7 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestKennzeichenUndKarte.test_layout_kennzeichen_setzen_und_erkennen Prüft, dass ein markiertes Layout als Nutzer der Basemap-Legende erkannt und in der Projektliste geführt wird. grün
TestKennzeichenUndKarte.test_hauptkarte_ueber_id Prüft, dass die Karte mit der ID „Hauptkarte“ gefunden wird. grün
TestSymbolwahl.test_symbolnamen_aus_aktiven_symbol_stilen_in_renderer_reihenfolge Prüft, dass die Symbol-Styles des Katalogs in Zeichenreihenfolge genommen und inaktive übergangen werden. grün
TestSymbolwahl.test_ohne_aktive_symbol_stile_erster_getroffener_style Prüft, dass ohne aktiven Symbol-Style der erste tatsächlich getroffene Style das Legendensymbol liefert. grün
TestAutobahnSymbol.test_druckmassstab_ab_zoom_14_blauer_decker_auf_grauer_kontur Prüft, dass das Autobahn-Symbol ab Zoom 14 aus grauer Kontur und blauem Decker der Fahrbahnachse besteht statt nur aus einem grauen Style. grün
TestAutobahnSymbol.test_zoom_11_bis_13_bisherige_kontur_und_decker Prüft, dass das Autobahn-Symbol bei Zoom 11 bis 13 weiterhin aus Kontur und Decker der getrennten Fahrbahn besteht. grün
TestAutobahnSymbol.test_unter_zoom_11_blauer_decker Prüft, dass das Autobahn-Symbol unter Zoom 11 den blauen Decker der Übersichtsdarstellung nutzt. grün
TestHilfslayer.test_je_gruppe_und_geometrietyp_ein_leerer_hilfslayer Prüft, dass je Gruppe und Geometrietyp ein Hilfslayer außerhalb des Layerbaums entsteht, Flächen vor Linien, ohne Rückfrage beim Schließen. grün
TestHilfslayer.test_alte_hilfslayer_werden_entfernt Prüft, dass die Hilfslayer einer früheren Basemap-Legende des Layouts aus dem Projekt entfernt werden. grün
TestHilfslayer.test_ohne_eintraege_wird_vorhandene_basemap_legende_entfernt Prüft, dass ohne gewählte Einträge eine vorhandene Basemap-Legende entfernt und die Auswahl am Layout vermerkt wird. grün
TestPlatzierung.test_einspaltig_ueber_der_quellenangabe Prüft, dass die Basemap-Legende einspaltig unten an der Quellenangabe verankert wird, wenn der Platz reicht. grün
TestPlatzierung.test_mehrspaltig_wenn_hoehe_nicht_reicht Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt. grün
TestPlatzierung.test_spalten_ungleich_breit Prüft, dass die Basemap-Legende ungleich breite Spalten bekommt (#96). grün
TestPlatzierung.test_mindestgroesse_mit_ungleichen_spalten_und_umbruch Prüft, dass der Platzbedarf mit ungleich breiten Spalten und Textumbruch berechnet wird (#96). grün
TestPlatzierung.test_neue_basemap_legende_mindestens_so_breit_wie_kartenschild Prüft, dass eine neu angelegte Basemap-Legende die Breite des Kartenschilds als Mindestbreite bekommt. grün
TestPlatzierung.test_titel_zweizeilig Prüft, dass der Titel der Basemap-Legende zweizeilig ist, damit er die Mindestbreite nicht bestimmt (#96). grün
TestPlatzierung.test_nie_breiter_als_der_seitenrand_mit_hinweis Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt. grün

Plugin_SN_Basis/tests/test_basemap_legende_rand.py

Worum es in der Datei geht: Tests für den Legendenrand weißer Basemap-Flächen (Basis #92).

Testgruppen:

  • TestBrauchtLegendenrand (4 Testfälle): — (Docstring fehlt)
  • TestErgaenzeLegendenrand (2 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestBrauchtLegendenrand.test_weisse_flaeche_ohne_rand Prüft, dass eine weiße Fläche ohne Umrandung einen Legendenrand braucht. grün
TestBrauchtLegendenrand.test_farbige_flaeche_oder_flaeche_mit_kontur Prüft, dass farbige Flächen und weiße Flächen mit dunkler Kontur oder eigener Konturlinie keinen Rand bekommen. grün
TestBrauchtLegendenrand.test_heller_rand_und_fast_weiss_zaehlen_als_unsichtbar Prüft, dass fast weiße Füllungen und helle oder durchsichtige Ränder als unsichtbar gelten. grün
TestBrauchtLegendenrand.test_andere_ebenen_und_leeres_symbol Prüft, dass Symbole mit anderen Ebenen (Muster, Punkte) und leere Symbole keinen Rand bekommen. grün
TestErgaenzeLegendenrand.test_weisse_flaeche_bekommt_grauen_rand Prüft, dass eine weiße Fläche ohne Kontur eine graue Randlinie als oberste Ebene bekommt. grün
TestErgaenzeLegendenrand.test_farbige_flaeche_und_linien_bleiben_unveraendert Prüft, dass farbige Flächen, Flächen mit Kontur und Liniensymbole keinen Rand bekommen. grün

Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py

Worum es in der Datei geht: Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90).

Testgruppen:

  • TestMusterUndAusdruck (2 Testfälle): — (Docstring fehlt)
  • TestLayerkorrektur (4 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestMusterUndAusdruck.test_strichlaenge_null_im_festen_muster Prüft, dass Strichlängen 0 (gerade Positionen) im Strichmuster ersetzt und Lücken der Länge 0 nicht verändert werden. grün
TestMusterUndAusdruck.test_strichlaenge_null_im_zoomabhaengigen_ausdruck Prüft, dass jede Strichlänge 0 in den array(...)-Mustern des Konverter-Ausdrucks ersetzt wird und der übrige Ausdruck gleich bleibt. grün
TestLayerkorrektur.test_punktlinien_werden_korrigiert_andere_styles_nicht Prüft, dass nur Styles mit Strichlänge 0 korrigiert werden – Muster und Ausdruck – und die Anzahl zurückkommt. grün
TestLayerkorrektur.test_zweiter_lauf_korrigiert_nichts Prüft, dass ein zweiter Lauf keine Styles mehr korrigiert und nicht neu zeichnen lässt. grün
TestLayerkorrektur.test_nur_ausdruck_ohne_festes_muster Prüft, dass auch ein Style korrigiert wird, dessen Strichlänge 0 nur im zoomabhängigen Ausdruck steht. grün
TestLayerkorrektur.test_layer_ohne_renderer Prüft, dass ein Layer ohne Renderer 0 korrigierte Styles liefert. grün

Plugin_SN_Basis/tests/test_basemap_stilvorlagen.py

Worum es in der Datei geht: Tests für modules/basemap_stilvorlagen.py – lokale Stilvorlagen des Basemap-Layers (Basis #88),

Testgruppen:

  • TestStilvorlagen (8 Testfälle): — (Docstring fehlt)
  • TestExportImport (6 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestStilvorlagen.test_speichern_und_auflisten Prüft, dass eine gespeicherte Vorlage mit Anzeigenamen, QML-Datei und Begleitdatei aufgelistet wird. grün
TestStilvorlagen.test_mehrere_varianten_alphabetisch Prüft, dass mehrere Varianten nebeneinander bestehen und alphabetisch nach Anzeigename sortiert werden. grün
TestStilvorlagen.test_leerer_name_oder_fehler_beim_schreiben Prüft, dass ein leerer Name und ein Schreibfehler von QGIS als ValueError gemeldet werden. grün
TestStilvorlagen.test_laden_setzt_stil_und_zeichnet_neu Prüft, dass das Laden die QML-Datei der Vorlage in den Layer lädt und neu zeichnen lässt. grün
TestStilvorlagen.test_passung_meldet_fremde_styles Prüft, dass Style-Namen der Vorlage gemeldet werden, die der Ziel-Layer nicht kennt. grün
TestStilvorlagen.test_standard_setzen_und_beim_loeschen_entfernen Prüft, dass eine Vorlage als Standard markiert wird und die Markierung beim Löschen der Vorlage entfällt. grün
TestStilvorlagen.test_fehlende_begleitdatei_wird_toleriert Prüft, dass eine QML-Datei ohne Begleitdatei mit ihrem Dateinamen aufgelistet wird. grün
TestStilvorlagen.test_ohne_ordner_leere_liste Prüft, dass ohne angelegten Vorlagenordner eine leere Liste zurückkommt. grün
TestExportImport.test_export_und_import_uebertragen_vorlage_mit_begleitdaten Prüft, dass eine exportierte Vorlage auf einem anderen Rechner mit Anzeigename, Thema, Style-Namen und Legendenauswahl ankommt. grün
TestExportImport.test_export_einer_fehlenden_vorlage Prüft, dass der Export einer nicht vorhandenen Vorlage als ValueError gemeldet wird und keine Datei entsteht. grün
TestExportImport.test_import_einer_reinen_qml_datei Prüft, dass eine QML-Datei ohne Begleitdatei mit dem Dateinamen als Namensvorschlag und ohne Thema übernommen wird. grün
TestExportImport.test_import_lehnt_ungeeignete_dateien_ab Prüft, dass Dateien ohne QGIS-Stil und ZIP-Dateien ohne genau eine QML-Datei abgelehnt werden, ohne etwas anzulegen. grün
TestExportImport.test_import_uebernimmt_nur_bekannte_begleitdaten Prüft, dass ein Import unbekannte oder falsch typisierte Angaben der Begleitdatei verwirft und den gewählten Namen nutzt. grün
TestExportImport.test_thema_der_vorlage_passt_nicht_zum_layer Prüft, dass ein abweichendes Thema der Vorlage gemeldet wird und ohne Thema in Vorlage oder Layer keine Meldung kommt. grün

Plugin_SN_Basis/tests/test_basemap_themen.py

Worum es in der Datei geht: Tests für modules/basemap_themen.py und den Abschnitt „Basemap-Layer“ im Basemap-Bereich (Basis #100):

Testgruppen:

  • TestQuelleUndThema (4 Testfälle): Layerquelle der Themen, Thema eines Layers und Erkennung über die Kachel-URL.
  • TestPruefwert (3 Testfälle): Prüfwert der Darstellung und Änderungsstand für ungespeicherte Änderungen.
  • TestLayerUndThemenwechsel (7 Testfälle): Basemap-Layer anlegen, in den Layerbaum einfügen und Thema wechseln.
  • TestStilvorlageMitThema (1 Testfälle): Stilvorlagen vermerken das Thema des Layers.
  • TestAuswahlDialog (1 Testfälle): Rückfrage mit frei benannten Knöpfen.
  • TestBasemapHinzufuegen (5 Testfälle): Knopf „Basemap hinzufügen“ mit Rückfrage bei vorhandenem Layer gleicher Quelle.
  • TestThemaWechseln (8 Testfälle): Themenauswahl mit Rückfrage bei geänderter oder unbekannter Darstellung.
  • TestZielLayer (1 Testfälle): Auswahl des Basemap-Layers, auf den Thema und Stil wirken.
Testfall prüft Status
TestQuelleUndThema.test_quelle_enthaelt_kachel_url_und_style_des_themas Prüft, dass die Layerquelle eines Themas die gemeinsame Kachel-URL und die Style-JSON des Themas enthält. grün
TestQuelleUndThema.test_unbekannte_style_json_ergibt_kein_thema Prüft, dass ein Layer mit fremder oder fehlender Style-JSON keinem Thema zugeordnet wird. grün
TestQuelleUndThema.test_unbekannter_schluessel_faellt_auf_farbe_zurueck Prüft, dass ein unbekannter Themenschlüssel auf das Standardthema „Farbe“ zurückfällt. grün
TestQuelleUndThema.test_vorhandener_layer_wird_an_der_quell_url_erkannt Prüft, dass ein vorhandener Basemap-Layer an der Kachel-URL erkannt wird – unabhängig von Name, Thema und URL-Kodierung. grün
TestPruefwert.test_gleiche_darstellung_gleicher_pruefwert_auch_bei_anderer_qgis_version Prüft, dass dieselbe Darstellung denselben Prüfwert ergibt, auch wenn die QGIS-Version in der QML abweicht. grün
TestPruefwert.test_ohne_ausgabe_der_darstellung_kein_pruefwert Prüft, dass kein Prüfwert entsteht, wenn der Layer seine Darstellung nicht ausgeben kann. grün
TestPruefwert.test_aenderungsstand_unbekannt_unveraendert_geaendert Prüft, dass der Änderungsstand ohne gemerkten Prüfwert „unbekannt“ ist, nach dem Merken „unverändert“ und nach einer Änderung „geändert“. grün
TestLayerUndThemenwechsel.test_neuer_layer_hat_thema_namen_und_gemerkten_stand Prüft, dass ein neuer Basemap-Layer im gewählten Thema entsteht, den Themenstil lädt und als unverändert gilt. grün
TestLayerUndThemenwechsel.test_ungueltiger_layer_oder_fehlender_themenstil_meldet_fehler Prüft, dass ein ungültiger Layer oder ein nicht ladbarer Themenstil als ValueError gemeldet wird. grün
TestLayerUndThemenwechsel.test_ohne_vektorkacheln_kein_layer Prüft, dass ohne Vektorkachel-Unterstützung (Mock-Modus) kein Layer erzeugt, sondern ein Fehler gemeldet wird. grün
TestLayerUndThemenwechsel.test_layer_kommt_ganz_unten_in_den_layerbaum Prüft, dass der Basemap-Layer ohne automatische Einordnung ins Projekt kommt und unten an den Layerbaum angehängt wird. grün
TestLayerUndThemenwechsel.test_themenwechsel_stellt_quelle_um_und_merkt_neuen_stand Prüft, dass der Themenwechsel die Style-JSON der Quelle umstellt, den Themenstil lädt, den automatischen Namen anpasst und den neuen Stand merkt. grün
TestLayerUndThemenwechsel.test_themenwechsel_behaelt_eigenen_layernamen Prüft, dass ein vom Nutzer vergebener Layername beim Themenwechsel erhalten bleibt. grün
TestLayerUndThemenwechsel.test_themenwechsel_ohne_umstellbare_quelle_meldet_fehler Prüft, dass ein Layer ohne setDataSource den Themenwechsel mit einem ValueError ablehnt. grün
TestStilvorlageMitThema.test_stilvorlage_vermerkt_das_thema Prüft, dass eine gespeicherte Stilvorlage das Thema des Layers in ihrer Begleitdatei und in der Liste vermerkt. grün
TestAuswahlDialog.test_mock_modus_liefert_vorbelegung Prüft, dass die Rückfrage mit frei benannten Knöpfen im Mock-Modus den vorbelegten Schlüssel liefert. grün
TestBasemapHinzufuegen.test_ohne_vorhandenen_layer_wird_ohne_rueckfrage_hinzugefuegt Prüft, dass ohne Basemap-Layer gleicher Quelle sofort ein Layer im gewählten Thema hinzugefügt wird. grün
TestBasemapHinzufuegen.test_vorhandener_layer_wird_in_der_rueckfrage_genannt_abbrechen Prüft, dass ein vorhandener Layer gleicher Quelle in der Rückfrage genannt wird und „Abbrechen“ nichts verändert. grün
TestBasemapHinzufuegen.test_zusaetzlich_laden_fuegt_zweiten_layer_hinzu Prüft, dass „Zusätzlich laden“ einen weiteren Basemap-Layer neben dem vorhandenen hinzufügt. grün
TestBasemapHinzufuegen.test_ersetzen_laedt_vorhandenen_layer_im_gewaehlten_thema Prüft, dass „Ersetzen“ keinen neuen Layer anlegt, sondern den vorhandenen im gewählten Thema neu lädt. grün
TestBasemapHinzufuegen.test_fehler_beim_anlegen_wird_gemeldet Prüft, dass ein nicht erreichbarer Dienst als Warnung gemeldet und kein Layer hinzugefügt wird. grün
TestThemaWechseln.test_unveraenderter_layer_wechselt_ohne_rueckfrage Prüft, dass ein unveränderter Basemap-Layer ohne Rückfrage auf das gewählte Thema wechselt. grün
TestThemaWechseln.test_gleiches_thema_aendert_nichts Prüft, dass die Wahl des Themas, das der Layer schon hat, nichts neu lädt. grün
TestThemaWechseln.test_geaenderte_darstellung_abbrechen_behaelt_thema Prüft, dass bei geänderter Darstellung nachgefragt wird und „Abbrechen“ Thema und Darstellung unverändert lässt. grün
TestThemaWechseln.test_geaenderte_darstellung_verwerfen_wechselt Prüft, dass „Verwerfen“ die geänderte Darstellung aufgibt und das Thema wechselt. grün
TestThemaWechseln.test_als_stil_speichern_sichert_vor_dem_wechsel Prüft, dass „Als Stil speichern“ die Darstellung vor dem Themenwechsel als Stilvorlage sichert. grün
TestThemaWechseln.test_abgebrochenes_speichern_verhindert_den_wechsel Prüft, dass das Thema nicht wechselt, wenn „Als Stil speichern“ gewählt, die Namensabfrage aber abgebrochen wird. grün
TestThemaWechseln.test_unbekannter_stand_fragt_nach Prüft, dass bei einem Layer ohne gemerkten Prüfwert (vor dieser Funktion geladen) vorsichtshalber nachgefragt wird. grün
TestThemaWechseln.test_ohne_basemap_layer_nur_vorauswahl Prüft, dass die Themenwahl ohne Basemap-Layer nur als Vorauswahl für „Basemap hinzufügen“ dient und nichts meldet. grün
TestZielLayer.test_ausgewaehlter_basemap_layer_hat_vorrang Prüft, dass der im Layerbaum ausgewählte Basemap-Layer Ziel des Themenwechsels ist, sonst der erste Basemap-Layer. grün

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
TestDataGrabber.test_analyze_source_type_detects_excel Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird. grün
TestDataGrabber.test_analyze_source_type_returns_unknown_filetype Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird. grün
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
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
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
TestDataGrabber.test_run_returns_failure_summary_without_rows Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert. grün
TestDataGrabber.test_aggregate_results_mit_zeilen_liefert_erfolgsergebnis Prüft, dass _aggregate_results bei vorhandenen Zeilen ein Erfolgsergebnis mit Zeilenzahl liefert. grün
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

Plugin_SN_Basis/tests/test_dateipruefer.py

Worum es in der Datei geht: — (Docstring fehlt)

Testgruppen:

  • TestDateipruefer (17 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestDateipruefer.test_leereingabe_erlaubt Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. grün
TestDateipruefer.test_leereingabe_nicht_erlaubt Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. grün
TestDateipruefer.test_standarddatei_vorschlagen Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird. grün
TestDateipruefer.test_temporaer_erlaubt Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. grün
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
TestDateipruefer.test_datei_ok Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. grün
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
TestDateipruefer.test_pfad_verbindet_relativen_pfad_mit_basispfad Prüft, dass _pfad einen relativen Pfad mit dem Basisverzeichnis verbindet. grün
TestDateipruefer.test_pfad_laesst_absoluten_pfad_unveraendert Prüft, dass _pfad einen bereits absoluten Pfad nicht mit dem Basisverzeichnis verbindet. grün
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_akzeptiert_vorhandenes_verzeichnis Prüft, dass ein .gpkg-Pfad mit vorhandenem Zielverzeichnis als gültig gilt. grün
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
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
TestDateipruefer.test_ist_leer_erkennt_none_und_nicht_string_als_leer Prüft, dass _ist_leer sowohl None als auch einen Nicht-String-Wert als leer meldet. grün
TestDateipruefer.test_ist_leer_erkennt_reinen_whitespace_als_leer Prüft, dass _ist_leer eine Eingabe aus reinen Leerzeichen als leer meldet. grün
TestDateipruefer.test_ist_leer_meldet_pfad_mit_sichtbaren_zeichen_nicht_als_leer Prüft, dass _ist_leer einen Pfad mit sichtbaren Zeichen nicht als leer meldet. grün
TestDateipruefer.test_leere_eingabe_bevorzugt_leereingabe_erlaubt_vor_standarddatei Prüft, dass bei leerer Eingabe leereingabe_erlaubt Vorrang vor einer gesetzten Standarddatei hat. grün
TestDateipruefer.test_leere_eingabe_bevorzugt_standarddatei_vor_temporaer_erlaubt Prüft, dass bei leerer Eingabe eine gesetzte Standarddatei Vorrang vor temporaer_erlaubt hat. grün

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
DetermineSpatialFilterTests.test_raumfilter_ohne_liefert_none Prüft, dass Raumfilter 'ohne' unabhängig vom Layer immer None liefert. grün
DetermineSpatialFilterTests.test_fehlender_layer_liefert_none Prüft, dass ohne Verfahrensgebiet-Layer kein Raumfilter gebaut wird. grün
DetermineSpatialFilterTests.test_unbekannter_raumfilter_liefert_none Prüft, dass ein unbekannter Raumfilter-Wert None liefert, statt einen Fehler zu werfen. grün
DetermineSpatialFilterTests.test_verfahrensgebiet_liefert_extent_und_crs Prüft, dass Raumfilter 'Verfahrensgebiet' Extent und CRS des Verfahrensgebiet-Layers liefert. grün
DetermineSpatialFilterTests.test_verfahrensgebiet_ohne_extent_liefert_none Prüft, dass ein Verfahrensgebiet-Layer ohne ermittelbaren Extent None liefert. grün
DetermineSpatialFilterTests.test_pufferlayer_liefert_extent_des_pufferlayers Prüft, dass Raumfilter 'Pufferlayer' Extent und CRS des erzeugten Pufferlayers liefert. grün
DetermineSpatialFilterTests.test_pufferlayer_ohne_puffer_liefert_none Prüft, dass 'Pufferlayer' None liefert, wenn kein Pufferlayer erzeugt werden konnte. grün
BuildProviderUrlTests.test_wms_liefert_link_unveraendert Prüft, dass bei Provider WMS der Link unverändert durchgereicht wird, auch mit Raumfilter. grün
BuildProviderUrlTests.test_url_praefix_wird_entfernt Prüft, dass ein vorangestelltes 'url=' aus dem Link entfernt wird. grün
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
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
BuildProviderUrlTests.test_wfs_ohne_raumfilter_setzt_keine_bbox Prüft, dass WFS ohne Raumfilter (bbox_geom=None) keinen BBOX-Parameter setzt. grün
BuildProviderUrlTests.test_rest_provider_haengt_query_endpunkt_an Prüft, dass REST/ArcGIS-Links ohne '/query'-Endpunkt automatisch ergänzt werden. grün
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
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
BuildProviderUrlTests.test_default_provider_ohne_raumfilter_laesst_query_unveraendert Prüft, dass ein unbekannter Provider ohne Raumfilter keinen bbox-Parameter ergänzt. grün
FetchFeaturesTests.test_wms_liefert_keine_features_ohne_fehler Prüft, dass bei Provider WMS kein Featureabruf stattfindet und kein Fehler gemeldet wird. grün
FetchFeaturesTests.test_abbruch_vor_abruf_liefert_fehlermeldung Prüft, dass ein bereits gesetzter Abbruch vor dem eigentlichen Abruf erkannt wird. grün
FetchFeaturesTests.test_json_featurecollection_wird_geparst Prüft, dass eine JSON-FeatureCollection-Antwort in eine Feature-Liste umgewandelt wird. grün
FetchFeaturesTests.test_netzwerkfehler_wird_als_fehlermeldung_gemeldet Prüft, dass ein fehlgeschlagener HTTP-Abruf eine Fehlermeldung statt einer Ausnahme liefert. grün
FetchFeaturesTests.test_wfs_xml_liefert_anzahl_aus_numberofmatched Prüft, dass eine WFS-XML-Antwort ohne JSON die Trefferzahl aus numberOfMatched übernimmt. grün
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
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
DatenabrufOrchestrierungTests.test_abbruch_ueber_progress_stoppt_weitere_zeilen Prüft, dass ein Abbruch über das Progress-Objekt die Verarbeitung weiterer Zeilen stoppt. grün

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)
  • StoreStyleInGpkgTests (4 Testfälle): Tests für Datenschreiber._store_style_in_gpkg (Issue #70, nachgezogen aus #63).
Testfall prüft Status
WriteLayerToGpkgTests.test_ungueltiger_layer_liefert_fehlermeldung Prüft, dass ein ungültiger Layer eine Fehlermeldung statt eines Absturzes liefert. grün
WriteLayerToGpkgTests.test_gueltiger_layer_wird_ohne_fehler_geschrieben Prüft, dass ein gültiger Layer im Mock-Modus ohne Fehlermeldung geschrieben wird. grün
ResolveStylePathTests.test_leerer_stilpfad_liefert_none Prüft, dass ein leerer oder fehlender Stilpfad None liefert. grün
ResolveStylePathTests.test_absoluter_vorhandener_stilpfad_wird_aufgeloest Prüft, dass ein absoluter, vorhandener Stilpfad normalisiert und unverändert erkannt wird. grün
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
SchreibeDatenTests.test_ohne_speicherort_wirft_valueerror Prüft, dass schreibe_Daten ohne Speicherort einen ValueError wirft. grün
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
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
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
LadeLayerTests.test_ohne_layer_path_wird_uebersprungen Prüft, dass ein Eintrag ohne layer_path übersprungen wird, ohne einen Fehler zu melden. grün
LadeLayerTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt Prüft, dass ein gültig ladbarer Layer ohne Fehlermeldung verarbeitet wird. grün
LadeLayerTests.test_ungueltiger_layer_meldet_layer_nicht_gefunden Prüft, dass ein ungültig ladbarer Layer als 'layer_nicht_gefunden' gemeldet wird. grün
SchreibeLogTests.test_ohne_speicherort_wirft_valueerror Prüft, dass schreibe_log ohne Speicherort einen ValueError wirft. grün
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
StoreStyleInGpkgTests.test_legt_tabelle_an_und_speichert_stil_als_default Prüft, dass _store_style_in_gpkg die layer_styles-Tabelle anlegt und den Stil als Default speichert. grün
StoreStyleInGpkgTests.test_setzt_bisherigen_default_stil_desselben_layers_zurueck Prüft, dass _store_style_in_gpkg den useAsDefault-Wert vorhandener Stile desselben Layers zurücksetzt. grün
StoreStyleInGpkgTests.test_liest_geometriespalte_ueber_geometrycolumn_aus Prüft, dass _store_style_in_gpkg die Geometriespalte eines Layers mit geometryColumn() übernimmt. grün
StoreStyleInGpkgTests.test_fehlender_stilpfad_meldet_fehler_ueber_pruefmanager_statt_absturz Prüft, dass ein nicht lesbarer Stilpfad über den Pruefmanager gemeldet wird statt eine Exception zu werfen. grün

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
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
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
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
DockManagerShowTests.test_zeigt_neues_dock_mit_default_area_an Prüft, dass ein neues Dock mit der Standard-Area (DockAreaRight) angezeigt wird. grün
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
DockManagerShowTests.test_fehler_beim_anzeigen_wird_gemeldet Prüft, dass ein Fehler beim Anzeigen des Docks als Fehler gemeldet wird. grün

Plugin_SN_Basis/tests/test_druck_kbs.py

Worum es in der Datei geht: Tests zu Basis #99: Ist das Projekt-KBS ein anderes als das KBS des Verfahrensgebiets, müssen

Testgruppen:

  • TestTransformiereRechteck (3 Testfälle): Umrechnung eines Rechtecks zwischen zwei KBS.
  • TestZoomAufLayer (2 Testfälle): Zoom der Kartenansicht auf einen Layer in einem anderen KBS.
  • TestDruckKbs (5 Testfälle): KBS der Layoutkarte und Umrechnung der Druckbereiche.
  • TestLayoutkarteImDruckKbs (1 Testfälle): Die Layoutkarte bekommt das Druck-KBS, bevor die Ausdehnung gesetzt wird.
Testfall prüft Status
TestTransformiereRechteck.test_verschiedene_kbs_werden_umgerechnet Prüft, dass ein Rechteck bei verschiedenen KBS mit QgsCoordinateTransform von Quell- nach Ziel-KBS umgerechnet wird. grün
TestTransformiereRechteck.test_gleiches_fehlendes_oder_ungueltiges_kbs_laesst_rechteck_unveraendert Prüft, dass bei gleichem, fehlendem oder ungültigem KBS nicht umgerechnet und das Rechteck unverändert geliefert wird. grün
TestTransformiereRechteck.test_fehler_bei_der_umrechnung_liefert_das_rechteck Prüft, dass ein Fehler bei der Umrechnung nicht durchschlägt, sondern das ursprüngliche Rechteck zurückkommt. grün
TestZoomAufLayer.test_ausdehnung_wird_ins_kbs_der_kartenansicht_umgerechnet Prüft, dass zoom_auf_layer die Layer-Ausdehnung vom Layer-KBS in das KBS der Kartenansicht umrechnet, bevor gezoomt wird. grün
TestZoomAufLayer.test_ohne_layer_oder_kartenansicht_kein_zoom Prüft, dass zoom_auf_layer ohne Layer oder ohne Kartenansicht nichts tut und False liefert. grün
TestDruckKbs.test_druck_kbs_ist_das_kbs_des_verfahrensgebiets Prüft, dass die Layoutkarte im KBS des Verfahrensgebiet-Layers steht und ohne Verfahrensgebiet das Projekt-KBS gilt. grün
TestDruckKbs.test_kartenfenster_wird_vom_kbs_der_kartenansicht_umgerechnet Prüft, dass der Druckbereich „wie Kartenfenster“ vom KBS der Kartenansicht in das Druck-KBS umgerechnet wird. grün
TestDruckKbs.test_auswahl_wird_vor_dem_puffern_vom_layer_kbs_umgerechnet Prüft, dass der Druckbereich „Auswahl“ aus dem KBS des Auswahl-Layers umgerechnet und erst danach gepuffert wird. grün
TestDruckKbs.test_ohne_druck_kbs_wird_nicht_umgerechnet Prüft, dass _resolve_extent ohne Druck-KBS wie bisher nicht umrechnet (Aufrufe ohne den neuen Parameter). grün
TestDruckKbs.test_druckrechteck_wird_ins_kbs_seines_layers_umgerechnet Prüft, dass ein in der Kartenansicht gezeichnetes Druckrechteck vor dem Speichern in das KBS des Druckrechteck-Layers umgerechnet wird. grün
TestLayoutkarteImDruckKbs.test_hauptkarte_bekommt_das_kbs_vor_der_ausdehnung Prüft, dass die Hauptkarte eines neuen Layouts das Druck-KBS erhält, bevor ihre Ausdehnung gesetzt wird. grün

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
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
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
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
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
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
ExcelImporterKonstruktorTests.test_ohne_dateipfad_wirft_valueerror Prüft, dass ExcelImporter ohne Dateipfad einen ValueError wirft. grün
ExcelImporterKonstruktorTests.test_ohne_pruefmanager_wirft_valueerror Prüft, dass ExcelImporter ohne Pruefmanager einen ValueError wirft. grün

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
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
TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist. grün
TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror Prüft, dass ein unbekannter Präfix einen KeyError auslöst. grün
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
TestGetLaenderkennung.test_mapping_enthaelt_sachsen Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen ('sn' -> '14') enthält. grün

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
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
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

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
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
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
CreateLayerTests.test_wms_baut_url_praefix_und_nutzt_rasterlayer Prüft, dass WMS-Layer über QgsRasterLayer mit 'url='-Präfix erzeugt werden. grün
CreateLayerTests.test_rest_featureserver_ergaenzt_layer_index Prüft, dass ein REST-Link auf '.../FeatureServer' automatisch um '/0' ergänzt wird. grün
CreateLayerTests.test_ogr_provider_nutzt_link_direkt Prüft, dass ein OGR-Provider den Link unverändert an QgsVectorLayer übergibt. grün
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
CreateLayerTests.test_ausnahme_beim_erstellen_wird_abgefangen Prüft, dass eine Ausnahme beim Layer-Erstellen abgefangen und als Fehlerergebnis gemeldet wird. grün
TransformGeometryTests.test_fehlender_layer_liefert_geometrie_unveraendert Prüft, dass ohne Quell- oder Ziel-Layer die Geometrie unverändert zurückgegeben wird. grün
TransformGeometryTests.test_gleiche_crs_liefert_geometrie_unveraendert Prüft, dass bei identischem CRS von Quelle und Ziel keine Transformation stattfindet. grün
TransformGeometryTests.test_unterschiedliche_crs_klont_und_transformiert_geometrie Prüft, dass bei unterschiedlichem CRS eine geklonte, transformierte Geometrie geliefert wird. grün
TransformExtentTests.test_gleiche_crs_liefert_extent_unveraendert Prüft, dass bei identischem CRS von Quelle und Ziel der Extent unverändert bleibt. grün
TransformExtentTests.test_unterschiedliche_crs_nutzt_coordinate_transform Prüft, dass bei unterschiedlichem CRS der Extent über QgsCoordinateTransform umgerechnet wird. grün
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
FilterByExtentTests.test_ohne_extent_wird_layer_unveraendert_zurueckgegeben Prüft, dass ohne Extent (None) der Layer unverändert zurückgegeben wird. grün
FilterByExtentTests.test_falscher_layertyp_wird_unveraendert_zurueckgegeben Prüft, dass ein Nicht-Vektor-Layer (z. B. Rasterlayer) unverändert zurückgegeben wird. grün
FilterByExtentTests.test_keine_treffer_liefert_none Prüft, dass ein Raumfilter ohne Treffer None statt eines leeren Layers liefert. grün
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
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
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
FilterByLayerTests.test_filterlayer_ohne_features_liefert_none Prüft, dass ein Filter-Layer ohne Features (leere Vereinigungsgeometrie) None liefert. grün
FilterByLayerTests.test_erfolgreicher_geometriefilter_liefert_neuen_layer Prüft, dass ein erfolgreicher Geometriefilter einen neuen Speicherlayer mit den passenden Features liefert. grün
FilterByLayerTests.test_keine_ueberschneidung_liefert_none Prüft, dass ohne überschneidende Features None statt eines leeren Layers geliefert wird. grün
AddToProjectTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt Prüft, dass ein gültiger Layer über QgsProject.instance().addMapLayer hinzugefügt wird. grün
AddToProjectTests.test_ungueltiger_layer_wird_nicht_hinzugefuegt Prüft, dass ein ungültiger Layer nicht ans Projekt übergeben wird. grün
AddToProjectTests.test_none_layer_wird_nicht_hinzugefuegt Prüft, dass ein fehlender Layer (None) nicht ans Projekt übergeben wird. grün

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
TestLayerpruefer.test_layer_exists Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. grün
TestLayerpruefer.test_layer_unsichtbar Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. grün
TestLayerpruefer.test_falscher_layertyp Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. grün
TestLayerpruefer.test_falscher_geotyp Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. grün
TestLayerpruefer.test_layer_leer Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. grün
TestLayerpruefer.test_falsches_crs Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. grün
TestLayerpruefer.test_felder_fehlen Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. grün
TestLayerpruefer.test_datenquelle_unerwartet Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. grün
TestLayerpruefer.test_layer_nicht_editierbar Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. grün
TestLayerpruefer.test_layer_ok Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. grün

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
TestLinkpruefer.test_leere_eingabe Prüft, dass eine leere Eingabe ohne Netzwerk-/Dateizugriff als 'leer' abgelehnt wird. grün
TestLinkpruefer.test_remote_link_ok Prüft, dass eine erreichbare Remote-URL (HTTP HEAD ohne Fehler) als 'ok' bestätigt wird. grün
TestLinkpruefer.test_remote_link_error Prüft, dass eine Remote-URL mit Fehlerantwort als 'url_nicht_erreichbar' abgelehnt wird. grün
TestLinkpruefer.test_remote_link_network_error Prüft, dass eine ausbleibende Netzwerkantwort (None) als 'netzwerkfehler' gemeldet wird. grün
TestLinkpruefer.test_local_link_not_found Prüft, dass ein nicht existierender lokaler Pfad als 'pfad_nicht_gefunden' abgelehnt wird. grün
TestLinkpruefer.test_local_link_ok Prüft, dass ein existierender lokaler Pfad als 'ok' bestätigt wird. grün

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
LayerIsValidTests.test_none_ist_nicht_gueltig Prüft, dass layer_is_valid für None False liefert. grün
LayerIsValidTests.test_objekt_ohne_isvalid_ist_nicht_gueltig Prüft, dass ein Objekt ohne isValid()-Methode als ungültig gilt. grün
LayerIsValidTests.test_gueltiger_layer_liefert_true Prüft, dass ein Layer mit isValid()==True als gültig erkannt wird. grün
LayerIsValidTests.test_ungueltiger_layer_liefert_false Prüft, dass ein Layer mit isValid()==False als ungültig erkannt wird. grün
LayerIsValidTests.test_ausnahme_bei_isvalid_liefert_false Prüft, dass eine Ausnahme in isValid() abgefangen wird und False liefert. grün
LayerIsUsableTests.test_none_ist_nicht_nutzbar Prüft, dass layer_is_usable für None False liefert. grün
LayerIsUsableTests.test_gueltiger_layer_ist_nutzbar Prüft, dass ein vorhandener, gültiger Layer als nutzbar gilt. grün
LayerIsUsableTests.test_ungueltiger_layer_ist_nicht_nutzbar Prüft, dass ein vorhandener, aber ungültiger Layer als nicht nutzbar gilt. grün

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
ApplyStyleFromPathTests.test_fehlender_layer_liefert_false Prüft, dass ein fehlender Layer (None) False liefert, ohne einen Stil zu laden. grün
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
ApplyStyleFromPathTests.test_fehlgeschlagenes_laden_liefert_false_ohne_repaint Prüft, dass ein fehlgeschlagenes Laden False liefert, ohne den Layer neu zu zeichnen. grün
ApplyStyleFromPathTests.test_ausnahme_beim_laden_wird_abgefangen Prüft, dass eine Ausnahme beim Laden des Stils abgefangen wird und False liefert. grün

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
GetMessageBarTests.test_liefert_objekt_mit_pushmessage_methode Prüft, dass _get_message_bar ein Objekt mit aufrufbarer pushMessage()-Methode liefert. grün
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
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
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

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 (3 Testfälle): — (Docstring fehlt)
Testfall prüft Status
AddActionTests.test_ohne_plugin_group_liefert_none Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. grün
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
FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. grün
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
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
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
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
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
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
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
RemoveAllTests.test_loescht_menu_und_toolbar_objekt_damit_kein_duplikat_uebrig_bleibt Prüft, dass remove_all deleteLater() auf Menü und Toolbar aufruft, damit sie den Qt-Objektbaum tatsächlich verlassen (Issue #72). grün
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

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
IsCaseSensitiveFsTests.test_windows_ist_nicht_case_sensitiv Prüft, dass Windows als nicht case-sensitives Dateisystem gilt. grün
IsCaseSensitiveFsTests.test_macos_ist_nicht_case_sensitiv Prüft, dass macOS als nicht case-sensitives Dateisystem gilt. grün
IsCaseSensitiveFsTests.test_linux_ist_case_sensitiv Prüft, dass Linux als case-sensitives Dateisystem gilt. grün

Plugin_SN_Basis/tests/test_print_kartenrand.py

Worum es in der Datei geht: Tests für modules/print_kartenrand.py – Anordnung des Kartenrands neben der Karte (Basis #93).

Testgruppen:

  • TestBerechneAnordnung (5 Testfälle): — (Docstring fehlt)
  • TestOrdneKartenrandAn (5 Testfälle): — (Docstring fehlt)
  • TestMindestbreiteBeimLaden (3 Testfälle): — (Docstring fehlt)
  • TestAnbindungPrintLayout (2 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestBerechneAnordnung.test_passt_einspaltig_nichts_aendert_sich Prüft, dass bei genug Platz neben der Karte einspaltig angeordnet wird und Seite und Kartenschild bleiben. grün
TestBerechneAnordnung.test_mehr_spalten_und_breiterer_rand Prüft, dass bei zu hohen Legenden die kleinste passende Spaltenzahl gewählt und der Kartenrand dafür verbreitert wird. grün
TestBerechneAnordnung.test_seite_wird_hoeher_wenn_auch_drei_spalten_nicht_reichen Prüft, dass die Seite höher wird und Quellenangabe und Kartenschild nach unten rutschen, wenn auch drei Spalten nicht reichen. grün
TestBerechneAnordnung.test_seite_wird_nie_kleiner Prüft, dass Seitenbreite und -höhe nie unter die ursprüngliche Seitengröße fallen. grün
TestBerechneAnordnung.test_ohne_legenden_nur_kartenschild Prüft, dass ohne Legenden nur Quellenangabe und Kartenschild zählen und die Seite bei zu niedriger Karte höher wird. grün
TestOrdneKartenrandAn.test_seite_hoeher_und_kartenschild_verschoben Prüft, dass bei zu niedriger Karte die Legende dreispaltig wird, die Seite wächst und Quellenangabe und Kartenschild um denselben Betrag nach unten rutschen. grün
TestOrdneKartenrandAn.test_spalten_ungleich_breit_und_text_umgebrochen Prüft, dass die Legenden ungleich breite Spalten und einen automatischen Textumbruch bekommen, damit mehrspaltige Legenden nicht unnötig breit werden (#96). grün
TestOrdneKartenrandAn.test_legenden_mindestens_so_breit_wie_kartenschild Prüft, dass die Legenden die Breite des Kartenschilds als Mindestbreite bekommen und das Layout sie für das Neuladen vermerkt. grün
TestOrdneKartenrandAn.test_passt_nichts_wird_verschoben Prüft, dass bei ausreichend hoher Karte weder Seite noch Kartenschild verändert werden. grün
TestOrdneKartenrandAn.test_ohne_karte_keine_anordnung Prüft, dass ein Layout ohne Hauptkarte unverändert bleibt. grün
TestMindestbreiteBeimLaden.test_mindestbreite_nur_fuer_vermerkte_layouts Prüft, dass beim Laden die Mindestbreite nur an Layouts mit Vermerk wieder gesetzt wird. grün
TestMindestbreiteBeimLaden.test_listener_verbinden_und_trennen Prüft, dass der Listener readProject einmal verbindet, beim Trennen wieder löst und beides mehrfach aufgerufen werden darf. grün
TestMindestbreiteBeimLaden.test_ohne_qgis_kein_listener Prüft, dass im Mock-Modus kein Listener verbunden wird. grün
TestAnbindungPrintLayout.test_vorlage_ordnet_kartenrand_an Prüft, dass PrintLayout beim Anlegen einer Vorlage den Kartenrand anordnen lässt. grün
TestAnbindungPrintLayout.test_fehler_bei_der_anordnung_verhindert_die_vorlage_nicht Prüft, dass ein Fehler bei der Anordnung nur als Warnung gemeldet wird und keine Ausnahme durchreicht. grün

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
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
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
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
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
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

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
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
TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3 Prüft, dass ein größerer Kartenausschnitt (Baufreigabe) auf DIN A3 eskaliert wird. grün
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
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
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
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
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
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
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
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
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
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
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
TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster Prüft, dass die Auswahl 'wie Kartenfenster' als Projektvariable 'druckbereich' gespeichert wird. grün
TestPrintLogic.test_get_canvas_extent_returns_valid_extent Prüft, dass der aktuelle Kartenausschnitt des Kartenfensters unverändert zurückgegeben wird. grün
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
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

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
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
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
RestoreStateTests.test_gueltige_gespeicherte_werte_werden_uebernommen Prüft, dass _restore_state gültige gespeicherte Werte in die jeweiligen Widgets übernimmt. grün
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
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
OnDruckpufferClickedTests.test_abgebrochen_aendert_nichts Prüft, dass ein abgebrochener Dialog den Druckpuffer nicht verändert. grün
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
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
OnVorlageErstellenTests.test_ohne_logic_tut_nichts Prüft, dass _on_vorlage_erstellen ohne gesetzte PrintLogic keine Ausnahme wirft. grün
ProjectSignalsTests.test_connect_verbindet_alle_drei_signale Prüft, dass _connect_project_signals alle drei Projektsignale mit _on_project_changed verbindet. grün
ProjectSignalsTests.test_disconnect_trennt_alle_drei_signale Prüft, dass _disconnect_project_signals alle drei zuvor verbundenen Projektsignale trennt. grün
ProjectSignalsTests.test_instance_wirft_ausnahme_wird_abgefangen Prüft, dass eine Ausnahme bei QgsProject.instance() in beiden Signalmethoden abgefangen wird. grün
CleanupTests.test_ruft_beide_disconnect_methoden_auf Prüft, dass cleanup sowohl die Theme- als auch die Projektsignale trennt. grün
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
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
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
RestoreAtlasLayerSelectionTests.test_leere_gespeicherte_layer_id_tut_nichts Prüft, dass eine leere gespeicherte Layer-ID das Projekt gar nicht erst anfragt. grün
ThemeCollectionSignalsTests.test_connect_verbindet_alle_signale Prüft, dass _connect_theme_collection_signals alle Signale der Theme-Collection verbindet. grün
ThemeCollectionSignalsTests.test_connect_ist_idempotent_wenn_schon_verbunden Prüft, dass _connect_theme_collection_signals bei bereits verbundenem Signal nichts erneut tut. grün
ThemeCollectionSignalsTests.test_disconnect_trennt_alle_signale Prüft, dass _disconnect_theme_collection_signals alle verbundenen Theme-Signale trennt und zurücksetzt. grün
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
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
GetGespeicherteThemenTests.test_dedupliziert_und_filtert_leere_eintraege Prüft, dass _get_gespeicherte_themen Duplikate und leere/None-Einträge entfernt. grün
GetGespeicherteThemenTests.test_fehler_liefert_leere_liste Prüft, dass ein Fehler beim Zugriff auf die Theme-Collection eine leere Liste liefert. grün
GetCurrentCanvasScaleTests.test_liefert_skalierung_als_float Prüft, dass _get_current_canvas_scale die Canvas-Skalierung als float liefert. grün
GetCurrentCanvasScaleTests.test_ohne_canvas_liefert_none Prüft, dass _get_current_canvas_scale ohne verfügbares Kartenfenster None liefert. grün
GetCurrentCanvasScaleTests.test_skalierung_null_liefert_none Prüft, dass eine Skalierung von 0 als None statt als 0.0 gilt. grün
OnAtlasLayerChangedTests.test_none_oder_leer_setzt_variable_leer Prüft, dass None oder ein leerer Wert die Abdeckungslayer-Variable leeren. grün
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
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
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
OnAuswahlAsAtlasClickedTests.test_ohne_erzeugten_layer_tut_nichts_weiter Prüft, dass ohne erzeugten Atlas-Layer keine UI-Aktualisierung stattfindet. grün
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
PopulateAtlasLayerComboTests.test_ohne_atlas_layer_combo_tut_nichts Prüft, dass _populate_atlas_layer_combo ohne Atlas-Dropdown keine Ausnahme wirft. grün
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
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
OnAtlasErzeugenChangedTests.test_ohne_widgets_wirft_keine_ausnahme Prüft, dass _on_atlas_erzeugen_changed ohne Atlas-Combo/-Button keine Ausnahme wirft. grün

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
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
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
ErlaubtePersistierungTests.test_liefert_true_fuer_erzeugen_ueberschreiben_anhaengen Prüft, dass erlaubte_persistierung für Erzeugen/Überschreiben/Anhängen True liefert. grün
ErlaubtePersistierungTests.test_liefert_false_fuer_ueberspringen_und_reines_existieren Prüft, dass erlaubte_persistierung bei Überspringen und reinem 'datei_existiert' False liefert. grün
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
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

Plugin_SN_Basis/tests/test_pruefmanager.py

Worum es in der Datei geht: — (Docstring fehlt)

Testgruppen:

  • TestPruefmanager (26 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestPruefmanager.test_ok Prüft, dass ein bereits erfolgreiches Prüfergebnis ohne Nutzerinteraktion als 'ok' durchgereicht wird. grün
TestPruefmanager.test_leereingabe_erlaubt_ja Prüft, dass bei erlaubter leerer Eingabe eine Ja-Antwort des Nutzers die Entscheidung 'ok' liefert. grün
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
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
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
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
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
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
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
TestPruefmanager.test_unbekannte_aktion Prüft, dass eine unbekannte Aktion eine Warnung auslöst und unverarbeitet als Fehlschlag zurückgegeben wird. grün
TestPruefmanager.test_datei_existiert_overwrite Prüft, dass die Nutzerwahl 'überschreiben' bei bestehender Datei zur Aktion 'datei_existiert_ueberschreiben' führt. grün
TestPruefmanager.test_datei_existiert_append Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. grün
TestPruefmanager.test_datei_existiert_cancel Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. grün
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
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. grün
TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. grün
TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen Prüft, dass die Nutzerwahl 'entfernen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_entfernen' führt. grün
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen Prüft, dass die Nutzerwahl 'ersetzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ersetzen' führt. grün
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
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
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
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
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
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
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
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

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 importiert qgis.core.QgsFeature
Testfall prüft Status
PolygonZuLinieTests.test_none_liefert_none Prüft, dass polygon_zu_linie für None-Eingabe None liefert. grün
PolygonZuLinieTests.test_leere_geometrie_liefert_none Prüft, dass eine leere Geometrie None liefert. grün
PolygonZuLinieTests.test_stufe1_nutzt_boundary_wenn_vorhanden Prüft, dass eine Geometrie mit boundary() (QGIS 3.x-Pfad) deren Ergebnis direkt liefert. grün
PolygonZuLinieTests.test_stufe2_extrahiert_ringe_bei_einfachem_polygon Prüft, dass ohne boundary() die Ringe eines einfachen Polygons manuell extrahiert werden. grün
PolygonZuLinieTests.test_stufe2_extrahiert_alle_ringe_bei_multipolygon Prüft, dass bei einem MultiPolygon die Ringe aller Teilpolygone extrahiert werden. grün
PolygonZuLinieTests.test_stufe3_fallback_wenn_keine_ringe_extrahierbar Prüft, dass bei fehlgeschlagener Ringextraktion auf convertToType zurückgefallen wird. grün
PolygonZuLinieTests.test_alle_stufen_scheitern_liefert_none Prüft, dass polygon_zu_linie None liefert, wenn Ringextraktion und convertToType beide scheitern. grün
LayerExistsInGpkgTests.test_fehlende_datei_liefert_false Prüft, dass eine nicht vorhandene GPKG-Datei False liefert. grün
LayerExistsInGpkgTests.test_leerer_pfad_oder_layername_liefert_false Prüft, dass ein leerer Pfad oder Layername False liefert. grün
LayerExistsInGpkgTests.test_vorhandener_layer_liefert_true Prüft, dass ein in gpkg_contents eingetragener Layername als vorhanden erkannt wird. grün
LayerExistsInGpkgTests.test_fehlender_layer_liefert_false Prüft, dass ein nicht in gpkg_contents eingetragener Layername als nicht vorhanden gilt. grün
CreateBufferLayerTests.test_ohne_qgis_liefert_none Prüft, dass create_buffer_layer ohne verfügbares QGIS None liefert. grün
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
CreateBufferLayerTests.test_source_layer_ohne_getfeatures_liefert_none Prüft, dass ein Quelllayer ohne getFeatures()-Methode None liefert. grün

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
AddLayerToProjectTests.test_none_layer_liefert_false Prüft, dass add_layer_to_project für einen fehlenden Layer (None) False liefert. grün
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
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
AddLayerToProjectTests.test_mit_qgis_fehler_liefert_false Prüft, dass ein Fehler beim Hinzufügen zum Projekt abgefangen wird und False liefert. grün
FindDockWidgetsTests.test_ohne_main_window_liefert_leere_liste Prüft, dass find_dock_widgets ohne verfügbares Hauptfenster eine leere Liste liefert. grün
FindDockWidgetsTests.test_liefert_dock_widgets_des_main_window Prüft, dass find_dock_widgets die vom Hauptfenster gefundenen Dock-Widgets durchreicht. grün
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
AddRemoveMenuTests.test_add_menu_ohne_main_window_tut_nichts Prüft, dass add_menu ohne Hauptfenster keine Ausnahme wirft. grün
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
AddRemoveMenuTests.test_add_menu_ohne_menuaction_wird_ignoriert Prüft, dass ein Objekt ohne menuAction nicht an die Menüleiste übergeben wird. grün
AddRemoveMenuTests.test_remove_menu_entfernt_ueber_menuaction Prüft, dass remove_menu das Menü über dessen menuAction() aus der Menüleiste entfernt. grün
AddRemoveMenuTests.test_remove_menu_ohne_main_window_tut_nichts Prüft, dass remove_menu ohne Hauptfenster keine Ausnahme wirft. grün

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
TestSettingsLogic.test_load Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest. grün
TestSettingsLogic.test_save Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert. grün
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
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

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
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
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
LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. grün
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
LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. grün
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
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
BuildInputTests.test_anderes_feld_liefert_lineedit Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. grün

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
TestStilpruefer.test_keine_datei_angegeben Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). grün
TestStilpruefer.test_datei_existiert_mit_qml Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. grün
TestStilpruefer.test_datei_existiert_falsche_endung Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. grün
TestStilpruefer.test_datei_existiert_nicht Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. grün

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
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
JoinPathTests.test_verbindet_mehrere_pfadbestandteile Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. grün
EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. grün
EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft. grün
GetattrSafeTests.test_liefert_vorhandenes_attribut Prüft, dass getattr_safe ein vorhandenes Attribut liefert. grün
GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. grün

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
TestSanitizeBezeichner.test_umlaute_bleiben_erhalten Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden. grün
TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). grün
TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. grün
TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden. grün
TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. grün
TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. grün
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

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
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
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
TestVariableWrapper.test_set_variable_global_writes_prefixed_name Prüft, dass set_variable() im globalen Scope den Variablennamen mit 'sn_' vorangestellt schreibt. grün
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
TestVariableWrapper.test_get_variable_invalid_scope_raises Prüft, dass get_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. grün
TestVariableWrapper.test_set_variable_invalid_scope_raises Prüft, dass set_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. grün

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
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
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
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
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
TestVerfahrensgebietManager.test_update_with_layer_writes_variable Prüft, dass ein gefundener Verfahrensgebiet-Layer seine ID als Projektvariable speichert. grün
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
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
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
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
OnHandlerTests.test_on_layer_removed_bei_anderem_layer_aendert_nichts Prüft, dass das Entfernen eines anderen Layers keine Neusuche auslöst. grün
ListenerSetupTests.test_setup_ohne_qgis_tut_nichts Prüft, dass setup_verfahrensgebiet_listener ohne QGIS keine Signale registriert. grün
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
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

Paket sn_verfahrensgebiet

Fachplugin, Ordner Plugin_SN_Verfahrensgebiet – 18 Testdateien mit 289 Testfällen (247 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/try3
  • TestLadeBeteiligungCsv (4 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_leerer_wert_gibt_none — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt — (Docstring fehlt) grün
TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt — (Docstring fehlt) grün
TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste — (Docstring fehlt) grün
TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl — (Docstring fehlt) grün
TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer — (Docstring fehlt) grün
TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none — (Docstring fehlt) grün
TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen — (Docstring fehlt) grün
TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer — (Docstring fehlt) grün
TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an — (Docstring fehlt) grün
TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an — (Docstring fehlt) grün
TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an — (Docstring fehlt) grün
TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none — (Docstring fehlt) grün
TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler — (Docstring fehlt) grün
TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler — (Docstring fehlt) grün
TestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck — (Docstring fehlt) grün

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
TestDockWidget.test_init_tabs_with_services_injects_available_services — (Docstring fehlt) grün
TestDockWidget.test_init_tabs_with_services_reports_errors — (Docstring fehlt) grün

Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_anzeige.py

Worum es in der Datei geht: Tests für das Anzeigefenster des Eigentümer-Datenabgleichs (#56).

Testgruppen:

  • TestAnzeigetext (6 Testfälle): — (Docstring fehlt)
  • TestFensterOeffnen (3 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestAnzeigetext.test_name_anschrift_email Prüft, dass die Anzeige Name mit Anrede und Titel, die mehrzeilige Anschrift mit Ortsteil und die E-Mail zeigt. grün
TestAnzeigetext.test_keine_internen_angaben Prüft, dass der Eigentümer weder Konten, Personen-IDs, Rechtsperson-Wert noch das Kennzeichen „verstorben“ sieht. grün
TestAnzeigetext.test_fehlende_email_wird_genannt Prüft, dass eine fehlende E-Mail ausdrücklich als „keine angegeben“ erscheint. grün
TestAnzeigetext.test_werte_werden_maskiert Prüft, dass Sonderzeichen aus den Daten maskiert werden und kein HTML einschleusen. grün
TestAnzeigetext.test_mehrere_eintraege_getrennt Prüft, dass mehrere Einträge untereinander, durch eine Linie getrennt, erscheinen. grün
TestAnzeigetext.test_leer_nur_platzhalter Prüft, dass die leere Anzeige nur den neutralen Platzhalter zeigt. grün
TestFensterOeffnen.test_normales_fenster_in_standardgroesse Prüft, dass das Anzeigefenster ohne gemerkte Lage als normales Fenster mit Rahmen in Standardgröße öffnet, nie im Vollbild. grün
TestFensterOeffnen.test_gemerkte_lage_wird_wiederhergestellt Prüft, dass eine gemerkte Größe und Lage der letzten Sitzung wiederhergestellt wird. grün
TestFensterOeffnen.test_unbrauchbare_lage_ergibt_standardgroesse Prüft, dass eine nicht wiederherstellbare Lage auf die Standardgröße zurückfällt. grün

Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_korrektur.py

Worum es in der Datei geht: Tests für die Korrekturen beim Eigentümer-Datenabgleich (#56).

Testgruppen:

  • TestAenderungen (4 Testfälle): — (Docstring fehlt)
  • TestKorrekturPfad (3 Testfälle): — (Docstring fehlt)
  • TestSchreiben (5 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestAenderungen.test_feldwerte Prüft, dass alle korrigierbaren Felder vorbelegt werden, mehrere E-Mails durch Komma getrennt. grün
TestAenderungen.test_nur_echte_aenderungen Prüft, dass nur geänderte Felder zählen und Leerraum am Rand oder doppelte Leerzeichen keine Änderung sind. grün
TestAenderungen.test_feld_leeren_ist_aenderung Prüft, dass das Leeren eines Feldes als Änderung zählt. grün
TestAenderungen.test_wende_an Prüft, dass die Änderungen im angezeigten Eintrag landen und E-Mails wieder getrennt werden; Konten bleiben. grün
TestKorrekturPfad.test_textdatei_provider Prüft, dass aus der Quelle eines Textdatei-Layers (file-URI, Leerzeichen kodiert) der Pfad neben der CSV wird. grün
TestKorrekturPfad.test_ogr_provider Prüft, dass auch eine OGR-Quelle mit Layernamen den Pfad neben der CSV ergibt. grün
TestKorrekturPfad.test_keine_csv Prüft, dass für Quellen ohne CSV-Datei kein Pfad vorgeschlagen wird. grün
TestSchreiben.test_neue_datei_mit_kopfzeile_und_bom Prüft, dass eine neue Korrektur-CSV mit BOM, Kopfzeile und je Änderung einer Zeile mit Exportspaltennamen entsteht. grün
TestSchreiben.test_anhaengen_ohne_zweite_kopfzeile Prüft, dass weitere Korrekturen angehängt werden, ohne Kopfzeile oder BOM zu wiederholen. grün
TestSchreiben.test_ohne_aenderung_keine_datei Prüft, dass ohne Änderung keine Datei angelegt wird. grün
TestSchreiben.test_schreibfehler_wird_weitergereicht Prüft, dass ein nicht schreibbarer Pfad als OSError beim Aufrufer ankommt. grün
TestSchreiben.test_schreibt_nichts_auf_die_konsole Prüft, dass das Festhalten von Korrekturen keine Personendaten auf die Konsole schreibt (Datenschutz). grün

Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_suche.py

Worum es in der Datei geht: Tests für die Eigentümersuche im Serienbriefexport (#56).

Testgruppen:

  • TestLayererkennung (2 Testfälle): — (Docstring fehlt)
  • TestSuche (10 Testfälle): — (Docstring fehlt)
  • TestAnzeigeformen (1 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestLayererkennung.test_layer_mit_name_und_vorname_ist_eigentuemerlayer Prüft, dass ein Layer mit den Spalten Nachname und Vorname als Eigentümerdatei erkannt wird, auch mit BOM und anderer Schreibweise. grün
TestLayererkennung.test_eigentuemerlayer_im_projekt Prüft, dass aus dem Projekt nur passende Layer kommen, nach Namen sortiert. grün
TestSuche.test_ohne_eingabe_fehler Prüft, dass ohne Name und Vorname nicht die ganze Datei gelistet, sondern um eine Eingabe gebeten wird. grün
TestSuche.test_layer_ohne_pflichtspalten Prüft, dass ein Layer ohne Nachname/Vorname mit Hinweis auf den Serienbriefexport abgelehnt wird. grün
TestSuche.test_teilstring_ohne_gross_kleinschreibung Prüft, dass Name und Vorname als Teilstring ohne Rücksicht auf Groß-/Kleinschreibung gesucht werden. grün
TestSuche.test_umlaute_und_eszett Prüft, dass „Müller“ auch „Mueller“ findet und „Strauss“ auch „Strauß“. grün
TestSuche.test_gleiche_person_gleiche_anschrift_zusammengefasst Prüft, dass Zeilen mit gleichem Namen und gleicher Anschrift ein Treffer werden und Konten, Personen-IDs und E-Mails gesammelt werden. grün
TestSuche.test_andere_anschrift_eigener_treffer Prüft, dass dieselbe Person mit anderer Anschrift ein eigener Treffer bleibt, sortiert nach Wohnort. grün
TestSuche.test_kennzeichen_verstorben Prüft, dass „verstorben“ beim Exportwert 1 (auch als Zahl gelesen) gesetzt ist und bei 0, Leerem und NULL nicht. grün
TestSuche.test_rechtsperson_als_rohwert Prüft, dass PER_RECHTSPERSON unverändert angezeigt wird (0, 1, 5, 9; noch nicht entschlüsselt) und abweichende Werte einer Person gesammelt werden. grün
TestSuche.test_plz_mit_fuehrender_null Prüft, dass eine von QGIS als Zahl gelesene PLZ wieder fünfstellig mit führender Null erscheint und Zeilen dadurch zusammenfinden. grün
TestSuche.test_suche_gibt_nichts_aus Prüft, dass die Suche keine Personendaten auf die Konsole schreibt (Datenschutz). grün
TestAnzeigeformen.test_name_und_anschrift Prüft, dass Name mit Titel und einzeilige Anschrift mit Ortsteil lesbar zusammengesetzt werden. grün

Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_tab.py

Worum es in der Datei geht: Tests für den Tab „Eigentümer“ – Flurstückssuche, Eigentümersuche, Anzeige und Korrektur (#56).

Testgruppen:

  • TestFlurstueckSuchen (5 Testfälle): — (Docstring fehlt)
  • TestEigentuemerSuchen (4 Testfälle): — (Docstring fehlt)
  • TestTrefferliste (3 Testfälle): — (Docstring fehlt)
  • TestSitzung (7 Testfälle): — (Docstring fehlt)
  • TestKorrekturLabel (4 Testfälle): — (Docstring fehlt)
  • TestKorrektur (5 Testfälle): — (Docstring fehlt)
  • TestKorrekturDatei (2 Testfälle): — (Docstring fehlt)
  • TestDockWidgetTabs (1 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestFlurstueckSuchen.test_ohne_flurstueckslayer_erscheint_hinweisdialog Prüft, dass ohne Layer „Flurstücke“ ein Dialog zum Laden von Verfahrensgebiet und Flurstücken erscheint. grün
TestFlurstueckSuchen.test_eingabefehler_als_warnung Prüft, dass eine ungültige Eingabe als Warnung in der Meldungsleiste erscheint, nicht als Dialog. grün
TestFlurstueckSuchen.test_kein_treffer Prüft, dass ohne Treffer ein Hinweis erscheint und keine Auswahl gesetzt wird. grün
TestFlurstueckSuchen.test_treffer_werden_ausgewaehlt_und_angezoomt Prüft, dass Treffer im Flurstückslayer ausgewählt, angezoomt und gemeldet werden. grün
TestFlurstueckSuchen.test_ohne_kartenansicht_bleibt_auswahl Prüft, dass die Auswahl auch ohne Kartenansicht gesetzt und gemeldet wird. grün
TestEigentuemerSuchen.test_ohne_eigentuemerdatei_warnung Prüft, dass ohne gewählte Eigentümerdatei die Liste aufgefrischt und dann auf das Laden der CSV hingewiesen wird. grün
TestEigentuemerSuchen.test_suchfehler_als_warnung Prüft, dass ein Fehler der Suche (z. B. leere Eingabe) als Warnung erscheint. grün
TestEigentuemerSuchen.test_kein_treffer_ohne_namen_in_meldung Prüft, dass ohne Treffer ein Hinweis erscheint, der den gesuchten Namen nicht wiederholt (Datenschutz). grün
TestEigentuemerSuchen.test_treffer_oeffnen_trefferliste_und_ersetzen_die_alte Prüft, dass Treffer in einer neuen Trefferliste mit Anzeige-Rückruf erscheinen, eine offene alte Liste geschlossen wird und die Eingaben an die Suche gehen. grün
TestTrefferliste.test_trefferzeile_mit_hinweis Prüft, dass die Trefferliste Name, Anschrift, E-Mail, den Rohwert von PER_RECHTSPERSON und das Kennzeichen „verstorben“ zeigt. grün
TestTrefferliste.test_ausgewaehlte_eigentuemer Prüft, dass das Trefferfenster die in der Tabelle gewählten Einträge zurückgibt. grün
TestTrefferliste.test_daten_anzeigen_gibt_auswahl_weiter Prüft, dass „Daten anzeigen“ die Auswahl der Trefferliste an den Tab übergibt. grün
TestSitzung.test_sitzung_beginnen_oeffnet_leeres_fenster_mit_rahmen Prüft, dass „Sitzung beginnen“ ein leeres Anzeigefenster als normales Fenster öffnet (ohne gemerkte Lage beim ersten Mal). grün
TestSitzung.test_lage_gilt_fuer_naechste_sitzung Prüft, dass Größe und Lage des Fensters beim Beenden gemerkt und in der nächsten Sitzung wiederverwendet werden. grün
TestSitzung.test_daten_anzeigen_beginnt_sitzung_bei_bedarf Prüft, dass „Daten anzeigen“ ohne laufende Sitzung diese beginnt und die Einträge zeigt; die Statuszeile nennt nur die Anzahl. grün
TestSitzung.test_daten_anzeigen_ohne_auswahl Prüft, dass „Daten anzeigen“ ohne Auswahl nur einen Hinweis gibt und keine Sitzung beginnt. grün
TestSitzung.test_anzeige_leeren_laesst_fenster_offen Prüft, dass „Anzeige leeren“ die Daten entfernt, das Fenster aber nicht schließt. grün
TestSitzung.test_sitzung_beenden_schliesst_fenster Prüft, dass „Sitzung beenden“ das Anzeigefenster schließt und die angezeigten Daten vergisst. grün
TestSitzung.test_von_aussen_geschlossen_beendet_sitzung Prüft, dass ein über den Fensterrahmen geschlossenes Anzeigefenster die Sitzung beendet und seine Lage gemerkt wird. grün
TestKorrekturLabel.test_ohne_eigentuemerdatei Prüft, dass ohne Eigentümerdatei unter den Knöpfen steht, dass keine gewählt ist. grün
TestKorrekturLabel.test_pfad_neben_der_eigentuemerdatei Prüft, dass der Pfad der Korrektur-CSV angezeigt wird, mit Hinweis, solange sie noch nicht angelegt ist. grün
TestKorrekturLabel.test_ohne_csv_quelle_wird_abgefragt Prüft, dass bei einer Quelle ohne CSV angekündigt wird, dass der Speicherort beim ersten Speichern abgefragt wird. grün
TestKorrekturLabel.test_gewaehlter_pfad_wird_angezeigt Prüft, dass ein einmal gewählter Speicherort angezeigt wird. grün
TestKorrektur.test_korrektur_wird_festgehalten_und_angezeigt Prüft, dass eine Korrektur in die Korrektur-CSV geschrieben, sofort angezeigt und ohne Namen gemeldet wird. grün
TestKorrektur.test_ohne_aenderung_nichts_schreiben Prüft, dass ein unverändert gespeicherter Dialog nichts schreibt. grün
TestKorrektur.test_abbruch_nichts_schreiben Prüft, dass ein abgebrochener Korrekturdialog nichts schreibt. grün
TestKorrektur.test_schreibfehler_warnung_und_anzeige_unveraendert Prüft, dass bei einem Schreibfehler gewarnt, die Anzeige nicht geändert und der Pfad beim nächsten Mal neu bestimmt wird. grün
TestKorrektur.test_ohne_anzeige_keine_korrektur Prüft, dass ohne angezeigte Daten kein Korrekturdialog erscheint. grün
TestKorrekturDatei.test_vorschlag_neben_der_eigentuemerdatei Prüft, dass die Korrektur-CSV ohne Rückfrage neben der Eigentümerdatei liegt, wenn der Ordner beschreibbar ist, und gemerkt wird. grün
TestKorrekturDatei.test_ohne_csv_quelle_wird_gefragt Prüft, dass ohne verwertbare CSV-Quelle nach dem Speicherort gefragt wird; Abbrechen liefert keinen Pfad. grün
TestDockWidgetTabs.test_tab_ist_im_dockwidget_eingetragen Prüft, dass der Tab „Eigentümer“ im DockWidget direkt nach dem Bearbeitungs-Tab steht. grün

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
TestFlurstueckAlkis.test_user_cancel_returns_none Prüft, dass ein Abbruch im Eingabedialog (ok=False) (None, LoadStatus.NONE) liefert. grün
TestFlurstueckAlkis.test_empty_text_after_confirmation_returns_none Prüft, dass ein bestätigter, aber leerer Eingabetext ebenfalls (None, LoadStatus.NONE) liefert. grün
TestFlurstueckAlkis.test_invalid_wfs_layer_returns_none Prüft, dass ein ungültiger WFS-Layer (None, LoadStatus.NONE) liefert. grün
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)
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)
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)
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
TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text Prüft, dass vorgabe_schluessel als vorbelegter default_text im Eingabedialog erscheint. rot (Baseline)
TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label Prüft, dass vorgabe_namen im Beschriftungstext des Eingabedialogs erscheint. rot (Baseline)
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)
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
TestFlurstueckAlkisAnhaengenDedup.test_append_ueberspringt_bereits_vorhandene_flurstuecke Prüft, dass beim Anhängen bereits vorhandene flurstueckskennzeichen nicht erneut hinzugefügt werden. grün
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
TestFlurstueckAlkisAnhaengenDedup.test_ohne_schluessel_abfrage_append_dedup ohne_schluessel_abfrage=True: Anhängen dedupliziert trotzdem, ohne nach Schlüsseln zu fragen (#47). grün

Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_suche.py

Worum es in der Datei geht: Tests für die Flurstückssuche im Layer „Flurstücke“ (#56).

Testgruppen:

  • TestEingabe (6 Testfälle): — (Docstring fehlt)
  • TestSuche (6 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestEingabe.test_flurstuecksnummer_mit_und_ohne_nenner Prüft, dass Zähler und Nenner getrennt und führende Nullen entfernt werden. grün
TestEingabe.test_ungueltige_flurstuecksnummer Prüft, dass leere oder unzulässige Flurstücksnummern abgelehnt werden. grün
TestEingabe.test_kennzeichen_zerlegen Prüft, dass Gemarkung, Zähler und Nenner aus dem ALKIS-Kennzeichen gelesen werden. grün
TestEingabe.test_gemarkungsnummer_aus_ziffern Prüft, dass Ziffern als Gemarkungsnummer gelten, auch ohne führende Nullen oder als langer Schlüssel. grün
TestEingabe.test_gemarkungsname_ueber_gemarkungslayer Prüft, dass ein Gemarkungsname ohne Rücksicht auf Großschreibung in alle passenden Nummern übersetzt wird. grün
TestEingabe.test_gemarkungsname_ohne_layer_oder_unbekannt Prüft, dass ein Name ohne Gemarkungslayer oder ohne Treffer eine verständliche Meldung ergibt. grün
TestSuche.test_mit_nenner_genau_ein_treffer Prüft, dass mit Nenner nur das passende Flurstück der Gemarkung gefunden wird. grün
TestSuche.test_ohne_nenner_alle_mit_diesem_zaehler Prüft, dass ohne Nenner alle Flurstücke mit dem Zähler gefunden werden, aber nur in der gesuchten Gemarkung. grün
TestSuche.test_kein_treffer Prüft, dass ein nicht vorhandenes Flurstück eine leere Trefferliste ergibt. grün
TestSuche.test_layer_ohne_kennzeichenfeld Prüft, dass ein Flurstückslayer ohne Feld „flurstueckskennzeichen“ gemeldet wird. grün
TestSuche.test_fehlender_flurstueckslayer_bricht_ab Prüft, dass die Suche ohne Layer „Flurstücke“ mit dem Hinweis abbricht, zuerst Verfahrensgebiet und Flurstücke zu laden. grün
TestSuche.test_suche_im_projekt_mit_gemarkungsname Prüft, dass die Suche im Projekt den Gemarkungsnamen auflöst und Layer samt Treffern liefert. grün

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
TestExtractSchluesselUndName.test_standard_attribute — (Docstring fehlt) rot (Baseline)
TestExtractSchluesselUndName.test_fallback_attribute — (Docstring fehlt) rot (Baseline)
TestExtractSchluesselUndName.test_missing_attribute_returns_empty — (Docstring fehlt) grün
TestExtractSchluesselUndName.test_none_value_returns_empty — (Docstring fehlt) grün
TestGemarkungSchluesselbbox.test_success_bbox_filter WFS-BBox-Filter liefert Features → korrekte Tupel-Liste. übersprungen – Legacy API (by_bbox) not available in current module
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
TestGemarkungSchluesselbbox.test_both_layers_fail_returns_empty Beide Lade-Strategien scheitern → leere Liste. übersprungen – Legacy API (by_bbox) not available in current module
TestGemarkungSchluesselbbox.test_deduplication_and_sorting Doppelte Schlüssel werden dedupliziert, Ergebnis ist sortiert. übersprungen – Legacy API (by_bbox) not available in current module
TestGemarkungSchluesselbbox.test_feature_without_schluessel_skipped Feature ohne Schlüssel-Attribut wird übersprungen. übersprungen – Legacy API (by_bbox) not available in current module
TestGemarkungSchluesselbbox.test_exception_returns_empty Exception im Ladevorgang → leere Liste (kein Crash). übersprungen – Legacy API (by_bbox) not available in current module
TestGemarkungSchluesselnurNummern.test_returns_only_nummern — (Docstring fehlt) übersprungen – Legacy API (by_bbox) not available in current module
TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty — (Docstring fehlt) übersprungen – Legacy API (by_bbox) not available in current module
TestLadeGemarkungenlayer.test_returns_layer_when_service_reachable Dienst erreichbar (isValid=True) → Layer-Objekt zurückgegeben. grün
TestLadeGemarkungenlayer.test_returns_none_when_service_unreachable Dienst nicht erreichbar (isValid=False) → None zurückgegeben. grün

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
TestExtrahiereGmlIds.test_xlink_href_format URN-Format 'urn:adv:oid:DEABC123' → nur 'DEABC123' extrahiert. grün
TestExtrahiereGmlIds.test_plain_gml_id Plain-GML-ID ohne Doppelpunkt → direkt übernommen. grün
TestExtrahiereGmlIds.test_empty_value_skipped Leerer gehoertZu-Wert wird übersprungen. grün
TestExtrahiereGmlIds.test_deduplication Doppelte Referenzen werden dedupliziert. grün
TestExtrahiereGmlIds.test_sorted_output Rückgabe ist aufsteigend sortiert. grün
TestGrenzpunktAlkis.test_no_vg_layer_returns_none — (Docstring fehlt) grün
TestGrenzpunktAlkis.test_invalid_punktort_layer — (Docstring fehlt) grün
TestGrenzpunktAlkis.test_empty_punktort_layer — (Docstring fehlt) grün
TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only — (Docstring fehlt) rot (Baseline)
TestGrenzpunktAlkis.test_grenzpunkt_batch_empty — (Docstring fehlt) rot (Baseline)
TestGrenzpunktAlkis.test_success_returns_both_layers — (Docstring fehlt) rot (Baseline)
TestGrenzpunktAlkis.test_extent_derived_from_vg_layer Wenn kein extent übergeben → Extent aus VG-Layer holen. rot (Baseline)
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

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
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste — (Docstring fehlt) grün
TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste — (Docstring fehlt) grün
TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste — (Docstring fehlt) grün
TestExtrahiereKnickpunkte.test_qgis_nicht_verfuegbar_gibt_leere_liste Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste. grün
TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck — (Docstring fehlt) grün
TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck — (Docstring fehlt) grün
TestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck — (Docstring fehlt) grün
TestKnickpunktPruefungKlassifizierung.test_identischer_punkt_wird_gruen_gezaehlt PunktortTA exakt am Knickpunkt → identisch_count == 1. grün
TestKnickpunktPruefungKlassifizierung.test_kein_pta_an_knickpunkt_wird_rot_gezaehlt Kein PunktortTA am Knickpunkt → kein_pta_count == 1. grün
TestFehlendKnickpunkteViaVerbindungslinien.test_leere_union_gibt_null_zurueck bror_union.isEmpty() == True → (0, []). grün
TestFehlendKnickpunkteViaVerbindungslinien.test_weniger_als_zwei_pta_auf_ring_kein_orange Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte. grün
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_im_puffer_wird_orange Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt. grün
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_ausserhalb_puffer_kein_orange Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt. grün

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
TestPluginMain.test_init_sets_services_and_names — (Docstring fehlt) grün
TestPluginMain.test_initGui_registers_action_when_basis_ui_exists — (Docstring fehlt) grün
TestPluginMain.test_run_creates_dock_and_marks_toolbar_active — (Docstring fehlt) grün
TestPluginMain.test_unload_removes_dock_and_action — (Docstring fehlt) grün

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
TestVerfahrensgebietAlkis.test_check_existing_layer_first_load — (Docstring fehlt) grün
TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing — (Docstring fehlt) grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing — (Docstring fehlt) grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer — (Docstring fehlt) grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_success_single_kombination Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück. grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt. grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE. grün
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt. grün

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
TestSelectByLocation.test_processing_not_available_returns_zero — (Docstring fehlt) grün
TestSelectByLocation.test_processing_success_returns_count — (Docstring fehlt) grün
TestSelectByLocation.test_processing_exception_returns_zero — (Docstring fehlt) grün
TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing — (Docstring fehlt) grün
TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing — (Docstring fehlt) grün
TestFuegeVkzFeldHinzu.test_vkz_field_added — (Docstring fehlt) grün
TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein — (Docstring fehlt) grün
TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein — (Docstring fehlt) grün
TestFlaechenvergleich.test_differenz_innerhalb_toleranz — (Docstring fehlt) grün
TestFlaechenvergleich.test_differenz_ausserhalb_toleranz — (Docstring fehlt) grün
TestFlaechenvergleich.test_flaechen_werte_korrekt — (Docstring fehlt) grün
TestFlaechenvergleich.test_lese_toleranz_default_ist_null — (Docstring fehlt) grün
TestFlaechenvergleich.test_lese_toleranz_parst_string — (Docstring fehlt) grün
TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_progress_cancel_after_step1_returns_none Abbruch nach Schritt 1 → sofortiger sauberer Rückgabestatus. grün
TestVerfahrensgebietAlkisKomplett.test_success_flaechen_match_zeigt_info Flächenübereinstimmung → show_info_dialog mit erwartetem Text. grün
TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string — (Docstring fehlt) grün
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_abbrechen_kein_detailcheck Abweichung + Abbrechen → knickpunkt_pruefung wird NICHT aufgerufen. grün
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_als_vg_laden Abweichung + Als VG laden → BROR-Layer wird umbenannt und als grün
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_detailpruefung_startet_knickpruefung Abweichung + Detailprüfung → lade_punktort_ta + knickpunkt_pruefung grün
TestVerfahrensgebietAlkisKomplett.test_bror_layer_bleibt_bei_erfolg_im_projekt Bei Erfolg darf der BROR-Layer NICHT entfernt werden. grün
TestVerfahrensgebietAlkisKomplett.test_bror_layer_wird_bei_fehler_entfernt Bei Fehler (flst_alkis NONE) wird der BROR-Layer aus dem Projekt entfernt. grün
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_abgebrochen Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer bricht den grün
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_liefert_landkreis Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer wählt einen grün
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_wird_bei_fehlender_vkz_verwendet Keine Verfahrensnummer, aber Landkreis gesetzt → Landkreis-Suchpfad grün
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_nur_laden_ueberspringt_dialog2 nur_laden=True → Funktion kehrt sofort zurück, Dialog 2 (Gemarkung grün

Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_dialoge.py

Worum es in der Datei geht: Tests für die gemeinsame Auswahltabelle in verfahrensgebiet_dialoge (#56).

Testgruppen:

  • TestAuswahltabelle (2 Testfälle): — (Docstring fehlt)
Testfall prüft Status
TestAuswahltabelle.test_suchfilter_ueber_alle_spalten Prüft, dass der Suchfilter Teilstrings in jeder Spalte ohne Groß-/Kleinschreibung findet und leer alles zeigt. grün
TestAuswahltabelle.test_auswahl_nach_umsortieren Prüft, dass die Auswahl über den gespeicherten Index auf die ursprünglichen Zeilen zurückgeführt wird, auch wenn die Tabelle umsortiert ist. grün

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
TestPruefeFlurstueckLayer.test_layer_ok_passes Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True. grün
TestPruefeFlurstueckLayer.test_layer_missing_field_fails Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen. grün
TestPruefeFlurstueckLayer.test_layer_wrong_geometry_fails Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp. grün
TestPruefeAuswahl.test_no_selection_fails — (Docstring fehlt) grün
TestPruefeAuswahl.test_with_selection_passes — (Docstring fehlt) grün
TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero — (Docstring fehlt) grün
TestGetKennzeichenMenge.test_returns_set_of_ids Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst. grün
TestGetKennzeichenMenge.test_empty_layer_returns_empty_set — (Docstring fehlt) grün
TestGetKennzeichenMenge.test_single_kennzeichen_without_comma Einzelnes Kennzeichen ohne Komma wird korrekt erkannt. grün
TestErstelle.test_success_counts 3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer. grün
TestErstelle.test_partial_failure_on_empty_geometry 2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1. grün
TestErstelle.test_all_fail_on_empty_geometries Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer. grün
TestErgaenzeVerfahrensgebiet.test_adds_only_new_ids Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1. grün
TestErgaenzeVerfahrensgebiet.test_skip_empty_geometry_counts_as_failed Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0. grün
TestErgaenzeVerfahrensgebiet.test_all_already_present Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0. grün
TestEntferneAusVerfahrensgebiet.test_removes_present_ids Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0. grün
TestEntferneAusVerfahrensgebiet.test_counts_ids_not_in_layer Auswahl enthält ID, die nicht im Verfahrensgebiet ist → nicht_enthalten=1. grün
TestEntferneAusVerfahrensgebiet.test_none_present_in_layer Auswahl hat IDs, die alle nicht im Layer sind → entfernt=0, nicht_enthalten=n. grün
TestEntferneAusVerfahrensgebiet.test_empty_selection_removes_nothing Leere Auswahl → nichts entfernt, nichts nicht_enthalten. grün
TestEntferneAusVerfahrensgebiet.test_removes_last_id_deletes_feature Wird das letzte Kennzeichen entfernt, wird das Feature gelöscht. grün
TestErsetze.test_ersetze_delegates_to_erstelle ersetze_verfahrensgebiet gibt dasselbe Ergebnis wie erstelle zurück. grün

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
TestFindShp.test_findet_shp_in_root — (Docstring fehlt) grün
TestFindShp.test_findet_shp_in_unterordner — (Docstring fehlt) grün
TestFindShp.test_kein_shp_gibt_none_zurueck — (Docstring fehlt) grün
TestFindShp.test_case_insensitive_erkennung — (Docstring fehlt) grün
TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none — (Docstring fehlt) grün
TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none — (Docstring fehlt) grün
TestErstelleMemoryLayerAusShp.test_attribute_von_erstem_feature_werden_gesetzt Attributwerte des ersten Features werden auf das Union-Feature übertragen. grün
TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck — (Docstring fehlt) rot (Baseline)
TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning — (Docstring fehlt) rot (Baseline)
TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning — (Docstring fehlt) rot (Baseline)
TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning — (Docstring fehlt) rot (Baseline)
TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning — (Docstring fehlt) rot (Baseline)
TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck — (Docstring fehlt) rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts — (Docstring fehlt) grün
TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt. rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt. rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_shape_vg_bleibt_im_projekt_bei_erfolg Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt. grün
TestVerfahrensgebietShapeKomplett.test_flst_none_aborts — (Docstring fehlt) grün
TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning — (Docstring fehlt) grün
TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog — (Docstring fehlt) rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck — (Docstring fehlt) rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf — (Docstring fehlt) rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler — (Docstring fehlt) rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt — (Docstring fehlt) grün
TestVerfahrensgebietShapeKomplett.test_bror_layer_ist_stets_none Dritter Rückgabewert ist im Shape-Workflow immer None (kein BROR). grün
TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt VKZ gesetzt → verfahrensgebiet_alkis aufgerufen, bror_layer zurückgegeben. rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt BROR wird VOR shape_vg ins Projekt eingefügt (kein Namenskonflikt). rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt BROR und shape_vg werden bei Fehler aus dem Projekt entfernt. rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer Leere VKZ → verfahrensgebiet_alkis wird NICHT aufgerufen. grün
TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich Mit BROR: _vergleiche_flaechen wird (bror, shape_vg, ...) aufgerufen. rot (Baseline)
TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen BROR-Ladeversagen → Fallback: _vergleiche_flaechen mit shape_vg vs temp_enriched. rot (Baseline)

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)
  • TestZoomImProjektKbs (2 Testfälle): Zoom auf das neue Verfahrensgebiet rechnet in das KBS der Kartenansicht um (Basis #99).
Testfall prüft Status
TestWorkingTab.test_set_busy_updates_button_state — (Docstring fehlt) grün
TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable — (Docstring fehlt) grün
TestWorkingTab.test_on_verf_layer_changed_none_clears_variable — (Docstring fehlt) grün
TestWorkingTab.test_handle_verf_alkis_success_path verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST). rot (Baseline)
TestWorkingTab.test_handle_verf_alkis_failure_clears_layer_var Status NONE → Layer-Variable wird auf '' gesetzt. grün
TestWorkingTab.test_handle_flurst_alkis_first_load_uebernimmt_layer Erstmaliges Laden über 'Flurstücke laden' fügt den Layer dem Projekt hinzu. grün
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
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
TestWorkingTab.test_handle_grenz_alkis_success_sets_haken Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt. rot (Baseline)
TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken grenzpunkt_alkis liefert (None, None) → kein Haken. rot (Baseline)
TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style — (Docstring fehlt) grün
TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path — (Docstring fehlt) grün
TestWorkingTab.test_handle_flurst_alkis_invalid_input_returns_early Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_active_layer Kein aktiver Layer → warning, kein Layer wird erstellt. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_required_fields Layer ohne Pflichtfelder → warning, kein Layer wird erstellt. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_selection Keine Flurstück-Auswahl → warning, kein Layer erstellt. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_new_layer_success Erstlauf ohne bestehenden Layer → Layer wird erstellt und hinzugefügt. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch Entscheidung 'ergaenzen' → ergaenze_verfahrensgebiet wird aufgerufen. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch Entscheidung 'entfernen' → entferne_aus_verfahrensgebiet wird aufgerufen. grün
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch Entscheidung 'ersetzen' → alter Layer entfernt, neuer hinzugefügt. grün
TestWorkingTab.test_aus_liste_button_shows_not_implemented_hint — (Docstring fehlt) grün
TestWorkingTab.test_handle_gem_alkis_service_reachable_adds_layer Dienst erreichbar → Layer ins Projekt, Stil angewendet, Haken gesetzt. grün
TestWorkingTab.test_handle_gem_alkis_service_unreachable_shows_warning Dienst nicht erreichbar (None) → warning, kein addMapLayer. grün
TestWorkingTab.test_handle_gem_alkis_layer_already_exists_shows_info Layer 'Gemarkungen' bereits vorhanden → info, kein erneutes Laden. grün
TestHandleVerfShape.test_status_none_clears_layer_variable Status NONE → Layer-Variable wird auf '' gesetzt. grün
TestHandleVerfShape.test_button_always_re_enabled_on_failure Button muss nach Status NONE wieder freigegeben sein (finally). grün
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab Verfahrensnummer leer + Nutzer wählt 'Nein' → Vorgang abgebrochen. rot (Baseline)
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort Verfahrensnummer leer + Nutzer wählt 'Ja' → Pipeline wird aufgerufen. rot (Baseline)
TestHandleVerfShape.test_verfahrensnummer_gesetzt_kein_rueckfrage_dialog Verfahrensnummer gesetzt → kein ask_yes_no-Dialog. grün
TestHandleVerfShape.test_success_path_applies_style_and_sets_haken Erfolg → verfahrensgebiet.qml angewendet, haken_verf gesetzt, success aufgerufen. grün
TestHandleVerfShape.test_bror_layer_erhaelt_qml_stil Wenn bror_layer zurückgegeben → BauRaumOderBodenordnungsrecht.qml angewendet. grün
TestHandleVerfShape.test_enriched_layer_already_in_project_not_added_again Layer bereits im Projekt → kein erneutes addMapLayer für VG-Layer. grün
TestHandleVerfShape.test_busy_state_set_during_execution Button wird während der Ausführung auf busy gesetzt. grün
TestZoomImProjektKbs.test_alkis_zoom_ueber_zoom_auf_layer Prüft, dass nach dem Laden aus ALKIS über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. grün
TestZoomImProjektKbs.test_shape_zoom_ueber_zoom_auf_layer Prüft, dass nach dem Laden aus einem Shape über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. grün

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
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_provider — (Docstring fehlt) grün
TestListenauswerter.test_validate_rows_rejects_missing_required_fields — (Docstring fehlt) grün
TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure — (Docstring fehlt) grün
TestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case — (Docstring fehlt) grün

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
TestTabALogic.test_verfahrens_db_set_and_load_roundtrip — (Docstring fehlt) grün
TestTabALogic.test_verfahrens_db_clear — (Docstring fehlt) grün
TestTabALogic.test_linkliste_set_and_load_existing_path — (Docstring fehlt) grün
TestTabALogic.test_linkliste_load_returns_none_when_file_missing — (Docstring fehlt) grün
TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists — (Docstring fehlt) grün
TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects — (Docstring fehlt) grün
TestTabALogic.test_resolve_raumfilter_without_filter_returns_none — (Docstring fehlt) grün
TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup — (Docstring fehlt) grün
TestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps — (Docstring fehlt) grün

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
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing — (Docstring fehlt) grün
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project — (Docstring fehlt) grün
TestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing — (Docstring fehlt) grün

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
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crash — (Docstring fehlt) grün
TestTabAUI.test_tab_a_raumfilter_callback_persists_value — (Docstring fehlt) grün
TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber — (Docstring fehlt) rot (Baseline)

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
TestVlnApiLogicAvailability.test_is_available_reflects_import_state — (Docstring fehlt) grün
TestVlnApiLogicAvailability.test_is_available_false_when_vln_karten_missing Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False. grün
TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings — (Docstring fehlt) grün
TestVlnApiLogicCredentials.test_clear_api_key_calls_remove — (Docstring fehlt) grün
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail — (Docstring fehlt) grün
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_login_sets_client_and_saves_key — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_login_propagates_api_error — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_logout_clears_client — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_is_authenticated_false_after_logout — (Docstring fehlt) grün
TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client — (Docstring fehlt) grün
TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated — (Docstring fehlt) grün
TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client — (Docstring fehlt) grün
TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project — (Docstring fehlt) grün
TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty — (Docstring fehlt) grün
TestVlnApiLogicVkz.test_save_vkz_writes_to_project — (Docstring fehlt) grün
TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none — (Docstring fehlt) grün
TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten — (Docstring fehlt) grün
TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers — (Docstring fehlt) grün
TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer — (Docstring fehlt) grün
TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path — (Docstring fehlt) grün
TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer — (Docstring fehlt) grün
TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules — (Docstring fehlt) grün
TestVlnApiLogicUpload.test_upload_calls_save_feature_collection — (Docstring fehlt) grün

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 490 Testfällen ohne Beschreibung

Keine Lücken.

sn_verfahrensgebiet – 102 von 289 Testfällen ohne Beschreibung

Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py (25 von 25)

  • TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen
  • TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen
  • TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen
  • TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt
  • TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none
  • TestBaueFlurstueckCsv.test_leerer_wert_gibt_none
  • TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a
  • TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b
  • TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z
  • TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch
  • TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt
  • TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt
  • TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste
  • TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl
  • TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer
  • TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none
  • TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen
  • TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer
  • TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an
  • TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an
  • TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an
  • TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none
  • TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler
  • TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler
  • TestLadeBeteiligungCsv.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_services
  • TestDockWidget.test_init_tabs_with_services_reports_errors

Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py (6 von 14)

  • TestExtractSchluesselUndName.test_standard_attribute
  • TestExtractSchluesselUndName.test_fallback_attribute
  • TestExtractSchluesselUndName.test_missing_attribute_returns_empty
  • TestExtractSchluesselUndName.test_none_value_returns_empty
  • TestGemarkungSchluesselnurNummern.test_returns_only_nummern
  • TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty

Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py (6 von 13)

  • TestGrenzpunktAlkis.test_no_vg_layer_returns_none
  • TestGrenzpunktAlkis.test_invalid_punktort_layer
  • TestGrenzpunktAlkis.test_empty_punktort_layer
  • TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only
  • TestGrenzpunktAlkis.test_grenzpunkt_batch_empty
  • TestGrenzpunktAlkis.test_success_returns_both_layers

Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py (6 von 13)

  • TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste
  • TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste
  • TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste
  • TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck
  • TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck
  • TestKnickpunktPruefungInputvalidierung.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_names
  • TestPluginMain.test_initGui_registers_action_when_basis_ui_exists
  • TestPluginMain.test_run_creates_dock_and_marks_toolbar_active
  • TestPluginMain.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_load
  • TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing
  • TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing
  • TestVerfahrensgebietAlkis.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_zero
  • TestSelectByLocation.test_processing_success_returns_count
  • TestSelectByLocation.test_processing_exception_returns_zero
  • TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing
  • TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing
  • TestFuegeVkzFeldHinzu.test_vkz_field_added
  • TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein
  • TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein
  • TestFlaechenvergleich.test_differenz_innerhalb_toleranz
  • TestFlaechenvergleich.test_differenz_ausserhalb_toleranz
  • TestFlaechenvergleich.test_flaechen_werte_korrekt
  • TestFlaechenvergleich.test_lese_toleranz_default_ist_null
  • TestFlaechenvergleich.test_lese_toleranz_parst_string
  • TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null
  • TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts
  • TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts
  • TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched
  • TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none
  • TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string

Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py (4 von 21)

  • TestPruefeAuswahl.test_no_selection_fails
  • TestPruefeAuswahl.test_with_selection_passes
  • TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero
  • TestGetKennzeichenMenge.test_empty_layer_returns_empty_set

Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py (20 von 31)

  • TestFindShp.test_findet_shp_in_root
  • TestFindShp.test_findet_shp_in_unterordner
  • TestFindShp.test_kein_shp_gibt_none_zurueck
  • TestFindShp.test_case_insensitive_erkennung
  • TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none
  • TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none
  • TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck
  • TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning
  • TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning
  • TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning
  • TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning
  • TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck
  • TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts
  • TestVerfahrensgebietShapeKomplett.test_flst_none_aborts
  • TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning
  • TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog
  • TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck
  • TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf
  • TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler
  • TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt

Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py (6 von 35) – auch der Modul-Docstring fehlt

  • TestWorkingTab.test_set_busy_updates_button_state
  • TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable
  • TestWorkingTab.test_on_verf_layer_changed_none_clears_variable
  • TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style
  • TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path
  • TestWorkingTab.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_provider
  • TestListenauswerter.test_validate_rows_rejects_missing_required_fields
  • TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure
  • TestListenauswerter.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_roundtrip
  • TestTabALogic.test_verfahrens_db_clear
  • TestTabALogic.test_linkliste_set_and_load_existing_path
  • TestTabALogic.test_linkliste_load_returns_none_when_file_missing
  • TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists
  • TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects
  • TestTabALogic.test_resolve_raumfilter_without_filter_returns_none
  • TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup
  • TestTabALogic.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_missing
  • TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project
  • TestTabAPreconditions.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_crash
  • TestTabAUI.test_tab_a_raumfilter_callback_persists_value
  • TestTabAUI.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_state
  • TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings
  • TestVlnApiLogicCredentials.test_clear_api_key_calls_remove
  • TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail
  • TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty
  • TestVlnApiLogicLogin.test_login_sets_client_and_saves_key
  • TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules
  • TestVlnApiLogicLogin.test_login_propagates_api_error
  • TestVlnApiLogicLogin.test_logout_clears_client
  • TestVlnApiLogicLogin.test_is_authenticated_false_after_logout
  • TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client
  • TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated
  • TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client
  • TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project
  • TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty
  • TestVlnApiLogicVkz.test_save_vkz_writes_to_project
  • TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none
  • TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten
  • TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers
  • TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer
  • TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path
  • TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer
  • TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules
  • TestVlnApiLogicUpload.test_upload_calls_save_feature_collection