Commit Graph
18 Commits
Author SHA1 Message Date
DanielandClaude Sonnet 5 7ce820581f Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)
79 neue Testfälle: Verfahrensgebiet-Zustandsverwaltung (Listener-Setup/
-teardown, Signal-Handler), DockManager/BaseDockWidget, pruef_ergebnis-
Persistenz-Gates, Pruefmanager-Entscheidungswege, restliche Dateipruefer-
Zweige, Fundament-Wrapper (sys_wrapper, ly_existence_wrapper,
ly_style_wrapper.apply_style_from_path, landkreise, message_wrapper,
qgiscore_wrapper.polygon_zu_linie/layer_exists_in_gpkg,
qgisui_wrapper.add_layer_to_project) und SettingsTab.save_data/load_data.

Ausgeklammert: LayerLoader.apply_style/ly_style_wrapper.apply_style
(Bug-Verdacht, hartkodierter Fachplugin-Pfad) und
Pruefmanager._ask_use_or_replace_pufferlayer (bereits als Bug in #60
erfasst: ruft nicht existierendes self.pruefmanager auf).

qt_wrapper._MockQDockWidget um closeEvent() ergänzt (fehlte, ließ jede
BaseDockWidget.closeEvent()-Ausführung im Mock-Modus abstürzen).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:20:10 +02:00
DanielandClaude Sonnet 5 60d5bd7cb5 Tests für die vier Kernmodule der Datenpipeline ergänzt (#63)
70 neue Testfälle für Datenabruf.py, Datenschreiber.py, LayerLoader.py und
excel_importer.py - die einzigen Module ohne jede Testdatei laut
Testkatalog-Abschnitt "Ungetestete Funktionen". Schwerpunkt: Provider-URL-
Bau (WFS/REST/OGR), Raumfilter, CRS-Transformation, GPKG-Schreib-/Ladepfad
und Excel-Import-Fehlerzweige.

qgiscore_wrapper._MockQgsProject um transformContext() und addMapLayer()
ergänzt - beide fehlten im Mock und ließen die betroffenen Funktionen im
Mock-Modus für jeden gültigen Layer scheitern (siehe fallstricke.md).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:48:31 +02:00
DanielandClaude Sonnet 5 716820be4c get_plugin_root() löst keine Symlinks/Junctions mehr auf (Verfahrensgebiet #50)
Ursache für "QML-Dateien greifen nicht" (Verfahrensgebiet #50): get_plugin_root()
nutzte Path(__file__).resolve(), was Junctions zum echten Zielverzeichnis
auflöst. link_qgis_profile.py verknüpft die Klone im QGIS-Profil per Junction
unter ihrem Paketnamen (sn_verfahrensgebiet, sn_plan41, ...) - .resolve()
sprang dabei zurück zum Workspace-Root, wo die Klone unter ihrem Repo-Namen
(Plugin_SN_*) liegen. Alle Aufrufer von get_plugin_root() (Stilpruefer,
ly_style_wrapper.apply_style, LayerLoader.apply_style, Datenschreiber,
sn_plan41 vln_api_logic/tab_a_logic) suchten dadurch am falschen Ort.

.absolute() statt .resolve(): __file__ liefert beim Import über die Junction
bereits den korrekten, unaufgelösten Pfad - nichts, was aufgelöst werden
müsste. Für echte ZIP-/Repository-Installationen (kein Symlink im Plugin-
Ordner) ändert sich nichts, da dort nichts aufzulösen ist.

Test test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung legt eine
echte Verzeichnisverknüpfung an (Symlink, unter Windows via Junction wie
link_qgis_profile.py) und zeigt den Fehler vor dem Fix rot, danach grün.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:11:58 +02:00
DanielandClaude Sonnet 5 bfcd8c2777 test_settings_logic: Docstring korrigiert - Fallback lebt in get_variable(), nicht in load()
SettingsLogic.load() reicht get_variable()-Werte unverändert durch, ohne
eigene Fallback-Logik. Der "or \"\""-Fallback für unbekannte Variablen
sitzt in variable_wrapper.get_variable(). Der Test selbst war korrekt,
nur die Docstring hat die Verantwortung falsch zugeordnet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:59:50 +02:00
DanielandClaude Sonnet 5 8c39593239 test_linkpruefer: Testfall für leere Eingabe ergänzt
Linkpruefer.pruefe() hat einen dritten Zweig (leere Eingabe -> aktion
"leer"), der bisher ungetestet war - die fünf bestehenden Tests deckten
nur den URL- und den Datei-Zweig ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:46:15 +02:00
DanielandClaude Sonnet 5 137c2a4718 test_dateipruefer: Standarddatei-Existenzlücke im Docstring vermerkt (#59)
test_standarddatei_vorschlagen prüft nur den Vorschlag, nicht ob die
Standarddatei existiert - das tut aktuell auch der produktive Code nicht
(weder Dateipruefer._handle_leere_eingabe() noch Pruefmanager._handle_
basic_decision()). Fix ist als eigenes Issue (#59) angelegt, Bearbeitung
bewusst zurückgestellt, bis geklärt ist, ob der Standarddatei-Modus
überhaupt gebraucht wird - kein Aufrufer nutzt ihn bisher.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:22:21 +02:00
DanielandClaude Sonnet 5 23aab76e42 Restliche sn_basis-Tests: deutsche Docstrings ergänzt
81 Testfälle in 11 Dateien im Rahmen des Test-Audits durchgesehen und mit
"Prüft, dass ..."-Docstring versehen (Projektwissen #16). Kein Verhalten
geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 15:06:16 +02:00
DanielandClaude Sonnet 5 53a60246c8 TestDataGrabber: deutsche Docstrings ergänzt
Alle sechs Testfälle im Rahmen des Test-Audits (Projektwissen #16) durchgesehen
und mit "Prüft, dass ..."-Docstring versehen. Kein Verhalten geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 13:13:46 +02:00
DanielandClaude Sonnet 5 a754fcfe34 Umlaute/Sonderzeichen in Bezeichnern zentral behandeln (#42)
Regex zur Bezeichner-Bereinigung aus Datenschreiber.py in
functions/text_wrapper.py (sanitize_bezeichner) ausgelagert und um
Bindestrich ergänzt, der bisher fehlte. Neue Tests decken Umlaute, ß,
Unterstrich, Bindestrich, eigenes Ersatzzeichen und Leerfälle ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
2026-09-14 11:09:41 +02:00
Daniel 3489a08638 länderkennungs-dict angelegt 2026-08-26 12:20:10 +02:00
Daniel 91669b34d6 tests überarbeitet 2026-04-20 15:36:38 +02:00
Daniel d2035139d9 pdoc-Dockstrings ergänzt 2026-04-20 14:31:16 +02:00
Daniel 4049090e92 Druck-refactor 2026-04-17 16:52:53 +02:00
Daniel dbccb5322f Koordinatengitter eingefügt, Rahmenbreiten einheitlich auf 0,5mm gesetzt 2026-04-10 21:30:44 +02:00
Daniel 9ec465e276 verfahrensgebiet-Vaiable wird sauber gesetzt 2026-04-08 14:36:20 +02:00
Daniel 8e4031a884 Legende an Hauptkarte des Layouts angebunden 2026-04-08 13:56:58 +02:00
Daniel f34e4ce458 Projektspeicher_Abfrage beim Start behoben (3.40/3.44 2026-04-08 13:27:00 +02:00
Daniel b805f78f02 Anpassung an den Wrappern für sn_plan41 2026-01-08 17:13:51 +01:00