Commit Graph
63 Commits
Author SHA1 Message Date
DanielandClaude Opus 5.5 3e335cb0c7 Merge origin/main in feature/16-test-audit
Konflikte aufgelöst:
- docs/status/STATUS.md: Baustellen aus main (Basemap #88 ff., #93, #99, #100, #104) und aus dem
  Audit-Branch zusammengeführt und neu nummeriert; Punkt Test-Audit auf den Endstand für sn_basis
  (#76, PR #117) und den nächsten Schritt sn_verfahrensgebiet (#60) umgeschrieben; Stand 26.10.2026.
- docs/tests/testkatalog.md/.html: nicht von Hand zusammengeführt, sondern mit
  scripts/testkatalog.py neu erzeugt (sn_basis auf unstable nach PR #117,
  sn_verfahrensgebiet auf unstable).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 21:00:37 +01:00
DanielandClaude Opus 5.5 0f60aae832 Test-Audit sn_basis: Ist-Zustand-Test zur manuellen Verfahrensgebiet-Auswahl nach Verweis auf #116 neu abgenommen (#76)
OnHandlerTests.test_on_layers_added_setzt_manuelle_auswahl_derzeit_zurueck verweist jetzt auf
das angelegte Issue #116; nach Freigabe erneut als geprüft markiert.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:50:31 +01:00
DanielandClaude Opus 5.5 c2ed00a28e Test-Audit sn_basis fortgesetzt: verfahrensgebiet_manager.py fachlich geprüft (#76)
14 Testfälle nach Freigabe als geprüft markiert: test_verfahrensgebiet_manager.py komplett
(13 bestehende, davon 2 geschärft und 1 mit präzisiertem Docstring, und 1 neuer, der den
Ist-Zustand festhält). Befund: eine manuelle Auswahl des Verfahrensgebiet-Layers wird bei
jedem hinzugefügten Layer überschrieben; Issue-Entwurf vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:44:44 +01:00
DanielandClaude Opus 5.5 851287a0e1 Test-Audit sn_basis fortgesetzt: variable_wrapper.py fachlich geprüft (#76)
7 Testfälle nach Freigabe als geprüft markiert: test_variable_wrapper.py komplett
(6 bestehende, davon 3 über das geschärfte Test-Double und 1 zusätzlich im Rückfall
geschärft, und 1 neuer für get_variable im Projekt-Scope). Keine Nebenbefunde.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:40:24 +01:00
DanielandClaude Opus 5.5 292863e5e7 Test-Audit sn_basis fortgesetzt: text_wrapper.py fachlich geprüft (#76)
7 Testfälle nach Freigabe als geprüft markiert: test_text_wrapper.py komplett
(1 geschärft, 1 mit präzisiertem Docstring). Nebenbefund (sorbische und andere
diakritische Zeichen werden ersetzt bzw. entfernt) als Issue-Entwurf vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:33:41 +01:00
DanielandClaude Opus 5.5 0436ff5920 Test-Audit sn_basis: Ist-Zustand-Test zu file_exists nach Verweis auf #114 neu abgenommen (#76)
FileExistsTests.test_verzeichnis_gilt_derzeit_als_vorhandene_datei verweist jetzt auf das
angelegte Issue #114; nach Freigabe erneut als geprüft markiert.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:29:32 +01:00
DanielandClaude Opus 5.5 04b3657dfe Test-Audit sn_basis fortgesetzt: sys_wrapper.py fachlich geprüft (#76)
10 Testfälle nach Freigabe als geprüft markiert: test_sys_wrapper.py komplett
(5 bisher ungeprüfte, davon 1 geschärft, und 5 neue für file_exists und getattr_safe;
get_plugin_root war bereits am 17.09.2026 geprüft). Ein neuer Test hält den Ist-Zustand
fest, dass file_exists auch Verzeichnisse als vorhanden meldet; dazu Issue-Entwurf
„file_exists: Verzeichnis gilt als vorhandene Datei" vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:25:54 +01:00
DanielandClaude Opus 5.5 c7ecd14d64 Test-Audit sn_basis fortgesetzt: settings_tab.py fachlich geprüft (#76)
9 Testfälle nach Freigabe als geprüft markiert: test_settings_tab.py komplett
(8 bestehende, davon 1 geschärft und 1 mit präzisiertem Docstring, und 1 neuer für den
Platzhalter im Landkreis-Dropdown). Nebenbefund (Landkreis wird über den Namen statt über
die Kennzahl geladen) nur im Commit von Plugin_SN_Basis vermerkt, ohne Issue.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:18:58 +01:00
DanielandClaude Opus 5.5 8563a95ded Test-Audit sn_basis fortgesetzt: qgisui_wrapper.py fachlich geprüft (#76)
13 Testfälle nach Freigabe als geprüft markiert: test_qgisui_wrapper_helpers.py komplett
(12 bestehende, davon 1 geschärft, und 1 neuer für remove_menu ohne menuAction).
Nebenbefund (Datenschreiber wertet den Rückgabewert von add_layer_to_project nicht aus,
Docstring der Funktion widersprüchlich) als Issue-Entwurf vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:13:17 +01:00
DanielandClaude Opus 5.5 e9549a1d88 Test-Audit sn_basis fortgesetzt: qgiscore_wrapper.py fachlich geprüft (#76)
17 Testfälle nach Freigabe als geprüft markiert: test_qgiscore_wrapper_helpers.py komplett
(14 bestehende, davon 2 geschärft, und 3 neue für den Rückfall aus boundary() und den
Pufferlayer ohne Features). Nebenbefunde (veralteter Docstring von polygon_zu_linie,
Puffer in Layer-Einheiten statt Metern, offene SQLite-Verbindung in layer_exists_in_gpkg)
als Issue-Entwürfe vorbereitet.

Testkatalog neu erzeugt. Er enthält jetzt auch die mit #56 nach unstable gemergten Tests
von sn_verfahrensgebiet (208 -> 289 Testfälle).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:01:52 +01:00
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
DanielandClaude Opus 5.5 5e87f2367e Anzeige für den Eigentümer und Korrekturen (Verfahrensgebiet #56) dokumentiert
Testkonzept docs/tests/verfahrensgebiet-eigentuemer-anzeige.md,
Fallstricke (Korrektur-CSV mit Personendaten, Fenster auf bestimmtem
Bildschirm öffnen), Modulkarte und Testkatalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 13:27:15 +02:00
DanielandClaude Opus 5.5 aa7fe5b2e4 Testkonzept Eigentümersuche: PER_RECHTSPERSON als Rohwert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 13:13:50 +02:00
DanielandClaude Opus 5.5 44cce10bda Eigentümersuche (Verfahrensgebiet #56) dokumentiert
Testkonzept docs/tests/verfahrensgebiet-eigentuemersuche.md, Fallstricke
zu personenbezogenen Eigentümerdaten und zur Zahlerkennung beim CSV-Laden
(PLZ ohne führende Null), Modulkarte und Testkatalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 13:04:16 +02:00
DanielandClaude Opus 5.5 7b0b7ea6c4 Flurstückssuche im Tab „Eigentümer“ (Verfahrensgebiet #56) dokumentiert
Testkonzept docs/tests/verfahrensgebiet-flurstueckssuche.md, Aufbau des
Flurstückskennzeichens und fehlende Eigentümerangaben im öffentlichen
ALKIS-WFS in alkis_objektarten.md, Modulkarte und Testkatalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 12:44:55 +02:00
DanielandClaude Opus 5.5 1d3c98be11 Export und Import der Basemap-Stilvorlagen (Basis #101) dokumentiert
Konzept 10 Abschnitt 5.3, Austauschformat in schnittstellen.md,
Modulkarte und Testkatalog mit den neuen Tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:35:46 +02:00
DanielandClaude Opus 5.5 1b926b1b5c Autobahn-Symbol der Basemap-Legende (Basis #98) dokumentiert
Fallstrick zu Zoombereichen der symbol_stile im Legendenkatalog,
Testkatalog mit den drei neuen Tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 07:41:23 +02:00
DanielandClaude Opus 5.5 05e36abe0d KBS-Umrechnung bei Zoom und Druck (Basis #99) dokumentiert
Schnittstellen Abschnitt 2a (KBS), Fallstricke, Modulkarte, Testkatalog
und STATUS (Punkt 19; #104 als gemergt vermerkt).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 22:15:35 +02:00
DanielandClaude Opus 5.5 e5c7d17831 Scroll-Bereich der LNO-Docks (Basis #104) dokumentiert
Schnittstellen Abschnitt 2, Fallstricke, Modulkarte, Testkatalog und
STATUS (Punkt 18; #96 und #100 als gemergt vermerkt).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 21:53:50 +02:00
DanielandClaude Opus 5.5 67f11e0da7 Basemap-Themen (Basis #100) dokumentiert
Schnittstellen (Thema/Stil, Layer-Eigenschaften, neue Wrapper-Funktionen),
Fallstricke (Relief mit mehreren Quellen, Prüfwert, P10 Vektor),
Glossar (Thema, Stil), Modulkarte, Testkatalog und STATUS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 21:27:36 +02:00
DanielandClaude Opus 5.5 0a81fd75fa Legenden-Mindestbreite (Basis #96) dokumentiert
- schnittstellen.md Abschnitt 12: Mindestbreite 180 mm (= Kartenschild), Layout-Eigenschaft
  sn_legende_mindestbreite, Listener in sn_basis.main
- fallstricke.md: setMinimumSize wird nicht im Projekt gespeichert
- modulkarte.md, STATUS.md, Testkatalog

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:26:51 +02:00
DanielandClaude Opus 5.5 4779624b14 Mehrspaltige Legenden (Basis #96) dokumentiert
- fallstricke.md: gleiche Spaltenbreiten, Textumbruch, Legendentitel bricht nicht automatisch um
- STATUS.md Punkt 16: #93 gemergt, #96 als PR ausstehend
- Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:20:27 +02:00
DanielandClaude Opus 5.5 9c7c4b900d Kartenrand-Anordnung (Basis #93) dokumentiert
- schnittstellen.md Abschnitt 12: Element-IDs, die print_kartenrand braucht; Seitengröße nur Mindestgröße
- fallstricke.md: minimumSize liefert vor dem ersten Zeichnen die ungefilterte Legendenhöhe
- modulkarte.md: print_kartenrand, aktualisierte Zeilenzahlen
- STATUS.md: Punkt 15 (Stand #88/#90/#92, QGIS 4 geprüft), neuer Punkt 16
- Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 13:07:03 +02:00
DanielandClaude Opus 5.5 99a8156036 Basemap-Legende (Basis #92): weiße Flächen mit Legendenrand dokumentiert
- Konzept 10, Abschnitt 10: Punkt „Platz kaum zu sehen“ als behoben vermerkt
- STATUS.md Punkt 15: Stand nach Merge von #88/#90, #92 als PR ausstehend
- modulkarte.md: basemap_legende_layout.py (465 Zeilen)
- Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 12:50:13 +02:00
DanielandClaude Opus 5.5 c92a2ddb86 Basemap-Punktlinien (Basis #90): Ursache und Korrektur dokumentiert
- fallstricke.md: Strichlänge 0 aus Mapbox-Styles zeichnet Qt nicht
- Konzept 10, Abschnitt 10: Punkt „Durchlass/Baumreihe ohne Symbol“ geklärt
- modulkarte.md: basemap_stilkorrektur; STATUS.md Punkt 15 nachgezogen
- Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 12:36:13 +02:00
DanielandClaude Opus 5.5 a1f399b150 Basemap-Legende (Basis #88): Umsetzung dokumentiert, ADR 0010, Wissensbasis
- Konzept 10_basemap_legende.md: Abschnitt 10 mit Umsetzung, Abweichungen und offenen Punkten
- ADR 0010: Basemap-Legende als eigenes Legendenelement mit Hilfslayern und Legendenkatalog
- schnittstellen.md: neue Projektvariablen, Abschnitt 11 Basemap-Legende
- modulkarte.md: neue Module, aktualisierte Zeilenzahlen
- fallstricke.md: Legendengröße vor dem ersten Zeichnen, Kartenfilter, Vektorkachel-Zoom,
  QT_VERSION unter QGIS 3, Mock-Lücken, Offscreen-Spike in QGIS
- STATUS.md: Punkt 15; Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 12:03:14 +02:00
DanielandClaude Opus 5.5 dd1395ba2c Test-Audit sn_basis fortgesetzt: Pruefmanager.py fachlich geprüft (#76)
14 Testfälle nach Freigabe als geprüft markiert: test_pruefmanager.py komplett
(12 bestehende, 2 neue für Meldung/Kontext und Standardtext beim Verfahrensgebiet-Dialog).
Nebenbefunde (wirkungslose warn_actions, layer_create_failed ohne PruefAktion,
uneinheitlicher Import von ask_text) als Issue-Entwurf vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 12:55:17 +02:00
DanielandClaude Opus 5.5 e570d4524b Test-Audit sn_basis fortgesetzt: pruef_ergebnis.py fachlich geprüft (#76)
6 Testfälle nach Freigabe als geprüft markiert: test_pruef_ergebnis.py komplett
(Docstring-Anzahl korrigiert). Nebenbefund: die geprüften Properties
ist_verfahrens_db_aktion, erlaubte_persistierung und dateipfad werden derzeit nirgends
verwendet; PruefAktion schreibt "Datenbank" groß, Dateipruefer liefert "datenbank".

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 09:34:49 +02:00
DanielandClaude Opus 5.5 693e453fc6 Test-Audit sn_basis fortgesetzt: print_layout.py fachlich geprüft (#76)
8 Testfälle nach Freigabe als geprüft markiert: test_print_layout.py komplett
(5 bestehende, 3 neue für create_single_page_layout). Nebenbefunde (direkter
qgis.PyQt-Import per importlib, removeGrid-Mock nach Name statt UUID, ungenutztes
width_limit_mm) bewusst ohne Issue: das Druckmodul wird ohnehin grundlegend überarbeitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 08:01:44 +02:00
DanielandClaude Opus 5.5 6966a67bd1 Test-Audit sn_basis fortgesetzt: os_wrapper.py fachlich geprüft (#76)
3 Testfälle nach Freigabe als geprüft markiert: test_os_wrapper.py komplett
(IsCaseSensitiveFsTests, alle drei Zweige abgedeckt, keine neuen Tests nötig).
Nebenbefund: Das Ziel „OS-Prüfung nur einmal, Plugin-Code ohne OS-Weichen“ ist nur
teilweise erfüllt (hasattr(os, "startfile") in Plan41, Wurzelpfad-Prüfung von Hand in
Dateipruefer/stilpruefer, ungenutzte Wrapper-Symbole). Dafür ist ein eigenes Issue
in Plugin_SN_Basis als Entwurf vorbereitet.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 07:49:12 +02:00
DanielandClaude Opus 5.5 1435b157b5 Test-Audit sn_basis fortgesetzt: navigation.py fachlich geprüft (#76)
15 Testfälle fachlich geprüft und markiert: test_navigation.py komplett (12 bestehende,
3 neue für Standardpriorität, Reihenfolge bei gleicher Priorität und fehlende Toolbar).
Nebenbefund: remove_action entfernt die Action aus Menü, Toolbar und Liste, aber nicht aus
plugin_group und ruft kein deleteLater() auf – mögliches Überbleibsel beim Plugin-Reload,
analog zu #72. Nicht behoben (kein Umbau nebenbei).

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 07:33:49 +02:00
DanielandClaude Opus 5.5 decd2a0002 Test-Audit sn_basis fortgesetzt: message_wrapper.py fachlich geprüft (#76)
5 Testfälle fachlich geprüft und markiert: test_message_wrapper.py komplett (inkl.
1 neuer Test für die Meldungsstufen von info/warning/error/success). Nebenbefund:
die Namens-Heuristik des Testkatalogs führte warning als referenziert, weil es in
test_pruefmanager/test_dockmanager nur per @patch ersetzt wird (bekannte, in
testkatalog.py dokumentierte Grenze).

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 09:33:26 +02:00
DanielandClaude Opus 5.5 e747b2227b Test-Audit sn_basis fortgesetzt: ly_style_wrapper.py fachlich geprüft (#76)
5 Testfälle fachlich geprüft und markiert: test_ly_style_wrapper.py komplett (inkl.
1 neuer Test für die Pfadübergabe). Nebenbefunde: Debug-print() in apply_style als
Kommentar zu #79 vorbereitet; ungültige Layer in apply_style/apply_style_from_path
im Code mit Verweis auf #84 markiert. Nachtrag zum vorigen Audit-Commit: die dort
vorbereiteten Issues sind #84 (layer_is_valid/layer_is_usable) und #85 (Layerpruefer).

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 09:23:55 +02:00
DanielandClaude Opus 5.5 3a872737a7 Test-Audit sn_basis fortgesetzt: ly_existence_wrapper.py fachlich geprüft (#76)
11 Testfälle fachlich geprüft und markiert: test_ly_existence_wrapper.py komplett
(inkl. 3 neuer Tests für layer_exists). Dabei gefunden und in Plugin_SN_Basis als
Issues vorbereitet (Absenden durch den Menschen): layer_is_valid/layer_is_usable
haben keinen Aufrufer, isValid() wird rund 20-mal direkt aufgerufen (nutzen oder
entfernen); Layerpruefer lässt ungültige Layer im Existenz-Schritt durch.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 09:08:48 +02:00
DanielandClaude Sonnet 5 94ab55923d Test-Audit sn_basis fortgesetzt: landkreise.py und LayerLoader.py fachlich geprüft (#76)
38 Testfälle fachlich geprüft und markiert: test_landkreise.py komplett (6, inkl.
4 neuer Tests) und test_layerloader.py komplett (32, inkl. 7 neuer Tests). Dabei
gefunden und in Plugin_SN_Basis als Issues vorbereitet (Absenden durch den
Menschen): #80 (REST-Link ohne Layer-Index lädt still Layer 0), #81 (unbekannter
Provider fällt still auf ogr zurück), #82 (Datenabruf und LayerLoader bauen aus
demselben REST-Link widersprüchliche URLs), #83 (filter_by_extent/filter_by_layer
reichen ungültige Layer still durch).

Testkatalog neu erzeugt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 15:26:25 +02:00
DanielandClaude Sonnet 5 a6dfbefbd4 Test-Audit sn_basis fortgesetzt: test_datenabruf, test_datenschreiber, test_dockmanager (#76)
48 weitere Testfälle in sn_basis fachlich geprüft und markiert (test_datenabruf.py: 24,
test_datenschreiber.py: 18, test_dockmanager.py: 6). Dabei zwei fragliche Codestellen
gefunden und als offene Punkte in STATUS.md festgehalten:
- Basis #77: Datenabruf._fetch_features() klassifiziert WMS-Zeilen immer als "ausserhalb",
  ohne dass je ein Layer geschrieben wird; der Kommentar "caller behandelt WMS separat"
  trifft nicht zu.
- Basis #78: Datenschreiber.schreibe_log() meldet Erfolg mit dem sachfremden Aktionscode
  "standarddatei_vorschlagen" (vermutlich Copy-Paste-Rest), aktuell folgenlos.

Testkatalog neu erzeugt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 14:49:28 +02:00
DanielandClaude Sonnet 5 159efc27a7 Testkatalog neu erzeugt für Basis #76
Docstring-Präzisierung von test_fehlender_layer_liefert_none übernommen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 11:49:25 +02:00
DanielandClaude Sonnet 5 b20503d7b6 Testkatalog neu erzeugt für Basis #72
sn_basis: 329 Testfälle (zuvor 328), Navigation.remove_all()-Test aus #72 mit erfasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 10:45:06 +02:00
DanielandClaude Sonnet 5 049a5ffe1d Testkatalog neu erzeugt, Wissensbasis für Basis #70 nachgezogen
sn_basis steht laut Prüfstand jetzt bei 0 ungeklärten Funktionen. Fallstricke.md um den
Windows-Fallstrick "sqlite3-Verbindung aus with-Block schließt nicht, TemporaryDirectory-
Cleanup schlägt fehl" ergänzt (Fund aus Basis #70).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 08:50:32 +02:00
DanielandClaude Sonnet 5 cd11e409a3 Prüfstand: Statistik-Kacheln je Paket, beabsichtigt/ungeklärt-Indikator
Jedes Paket zeigt jetzt dieselben Kennzahl-Kacheln wie die Gesamtübersicht
(Testdateien, Testfälle, grün/rot/übersprungen, mit Docstring, geprüft,
ohne Testbezug) statt eines Fließtexts.

Ungetestete Funktionen werden per Docstring-Auswertung als "beabsichtigt"
(Vermerk "von Test abgesehen, weil …" oder "Test ausgesetzt, zunächst
Refactor") oder "ungeklärt" markiert - in Markdown als Anmerkung je
Funktion, im Prüfstand als Pille mit Tooltip (Begründung).

Der Abschnitt "Ungetestete Funktionen" ist im Prüfstand jetzt eine
ausklappbare Karte wie eine Testdatei, mit eigener Kennzahl-Übersicht
(Anzahl, ungeklärt, beabsichtigt) im Kopf - bewusst von den Filter-Chips
ausgenommen (.gapcard), da diese sich auf Testfall-Status beziehen, nicht
auf Quellcode-Funktionen.

Neue Funktion absichtlicher_verzicht() plus 6 neue Tests in
scripts/tests/test_testkatalog_quellfunktionen.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:26:01 +02:00
DanielandClaude Sonnet 5 cb29620f6e Testkatalog neu erzeugt für Basis #67
sn_basis: 317 Testfälle (32 Testdateien), Kategorie "vielleicht testen"
abgeschlossen. modulkarte.md an aktuelle Testdateizahl angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 13:07:20 +02:00
DanielandClaude Sonnet 5 3f985ce209 Testkatalog neu erzeugt, Wissensbasis für Basis #65 nachgezogen
sn_basis: 244 -> 249 Testfälle. fallstricke.md: _MockQDockWidget ohne
closeEvent(), zwei bestätigte Testkatalog-Fehlalarme (toter Code in
Pruefmanager._ask_use_or_replace_pufferlayer, Issue #60) sowie das Muster
Klasse.__new__(Klasse) für UI-Klassen, die im Mock nicht konstruierbar
sind. modulkarte.md an aktuelle Testdateizahl angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:20:37 +02:00
DanielandClaude Sonnet 5 1359ba2761 Testkatalog neu erzeugt, Wissensbasis für Basis #63 nachgezogen
sn_basis: 96 -> 166 Testfälle (Datenabruf, Datenschreiber, LayerLoader,
excel_importer bekamen Tests). fallstricke.md: unvollständiger
_MockQgsProject (transformContext/addMapLayer fehlten). modulkarte.md und
STATUS.md an aktuellen Stand angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:50:45 +02:00
DanielandClaude Sonnet 5 906740eff6 Testkatalog: strukturelle Lückenanalyse (ungetestete Funktionen)
Ergänzt den Testkatalog um einen Abschnitt "Ungetestete Funktionen": Quellcode-Funktionen
und -Methoden, deren Name in keiner Testdatei des Pakets vorkommt (Namensabgleich per ast,
ohne Import). Keine Wiederaufnahme der in ADR 0009 verworfenen Zeilen-Coverage-in-Prozent,
sondern eine Lückenliste nach demselben Muster wie der bestehende Abschnitt für fehlende
Docstrings - entsprechend in ADR 0009 und docs/leitfaden/06_tests.md ergänzt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 07:37:40 +02:00
DanielandClaude Sonnet 5 e5e1b6e768 Testkatalog: neuer Test für Grenzpunkt-Stilanbringung (#53)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:29:26 +02:00
DanielandClaude Sonnet 5 4d036516a1 Testkatalog: neuer Test für get_plugin_root()-Fix (Verfahrensgebiet #50)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:12:17 +02:00
DanielandClaude Sonnet 5 4f87684224 Test-Audit: TestStilpruefer (sn_basis) fachlich geprüft
Alle 4 Tests gegen modules/stilpruefer.py geprüft - Docstrings passen
zur Implementierung, keine Diskrepanzen. Dabei entdeckt: der relative
Pfad-Zweig (sn_plan41/assets-Redirect) ist untestet und hängt von
get_plugin_root() ab, das laut #50 in Plugin_SN_Verfahrensgebiet einen
Junction-Auflösungsfehler hat. Test für diesen Zweig zurückgestellt,
bis der #50-Fix vorliegt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 15:51:40 +02:00
DanielandClaude Sonnet 5 a2467d3431 Test-Audit: TestSettingsLogic (sn_basis) fachlich geprüft
Alle 4 Tests gegen functions/settings_logic.py geprüft. Eine Docstring
war ungenau (Fallback-Verantwortung fälschlich load() zugeschrieben,
siehe vorheriger Commit) - jetzt korrigiert, alle vier bestätigt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 15:04:42 +02:00
DanielandClaude Sonnet 5 6b687c34d2 Testkatalog neu erzeugt: korrigierte Docstring test_settings_logic
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 15:01:29 +02:00
DanielandClaude Sonnet 5 fe55d5b914 Test-Audit: TestPruefmanager (sn_basis) fachlich geprüft
Alle 14 Tests gegen modules/Pruefmanager.py geprüft - Docstrings passen
zur Implementierung. Dabei entdeckt: _ask_use_or_replace_pufferlayer()
und _handle_verfahrensgebiet_layer_existiert() haben weder Tests noch
Aufrufer im gesamten Workspace; erstere referenziert ein nicht
existierendes self.pruefmanager (Absturz bei Aufruf) - dafür eigenes
Issue angelegt (Entwurf in entwuerfe/), analog zu #59.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:56:52 +02:00