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>
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>
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>
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>
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>
Alle 6 Tests (5 bestehende + neuer Testfall für leere Eingabe) gegen
modules/linkpruefer.py geprüft - Docstrings passen zur Implementierung,
keine Diskrepanzen gefunden.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Alle 10 Tests gegen modules/layerpruefer.py geprüft - Docstrings passen
zur Implementierung, keine Diskrepanzen gefunden. Monkeypatch-Isolation
in setUp() (kein tearDown) bewusst unangetastet gelassen, da aktuell
keine andere Testdatei Layerpruefer verwendet.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Alle 5 Tests gegen functions/laenderkennung.py geprüft - Docstrings
passen zur Implementierung, keine Diskrepanzen gefunden.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
leereingabe_erlaubt, leereingabe_nicht_erlaubt, temporaer_erlaubt,
datei_nicht_gefunden, datei_ok geprüft und bestätigt - Docstrings passen
zur Implementierung. test_standarddatei_vorschlagen bewusst ausgenommen,
solange die Design-Entscheidung zu Basis #59 (Standarddatei-Modus) offen
ist.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nach der Testabgleichung in Plugin_SN_Verfahrensgebiet (bugfix/16-
flurstueck-alkis-testabgleich): Docstrings jetzt in "Prueft, dass ..."-
Form, ein Test entfernt, Gruen/Rot-Zaehlung aktualisiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
sn_basis steht jetzt bei 94 von 94 Testfällen mit Docstring (100 %),
Gegenstück zu Plugin_SN_Basis-Commit 23aab76 (Branch
feature/testdatagrabber-docstrings).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Erster echter Audit-Durchgang mit scripts/test_audit.py: alle sechs
TestDataGrabber-Testfälle durchgesehen, mit Docstring versehen
(Plugin_SN_Basis, separater Branch/PR) und als geprüft markiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ticket #16. docs/status/testpruefungen.json hält je Testfall Datum und
Kurzprüfsumme der letzten fachlichen Prüfung fest; scripts/testkatalog.py
liest das und zeigt es als eigene Spalte/Pille (nie geprüft / geprüft am …
/ veraltet seit Änderung …), unabhängig vom Baseline-Status. Neues Skript
scripts/test_audit.py (status/markieren) pflegt die Datei; erste Tests für
scripts/ unter scripts/tests/.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Erster Stand des Repositories AG_QGIS/Projektwissen (bisher Arbeitstitel
"Workspace", ADR 0006). Der lokale Ordner heisst weiter AG_QGIS, weil darin
auch die Plugin-Klone liegen.
Git verbindlich (ADR 0007), aus dem bisherigen Wiki-Konzept entwickelt:
- docs/leitfaden/05_git_arbeitsweise.md mit Kanal-Kette, Branch-Namen und
Gitea-Branch-Schutz.
- Der Einstiegspunkt eines Fixes richtet sich nach dem Kanal, in dem der
Fehler sitzt; ein Fix an testing oder stable ist erst mit der
Rueckfuehrung nach unten abgeschlossen. Das fehlte bisher.
- Der stabile Kanal heisst stable, nicht main: der Release-Workflow in
Repository:hidden/workflows fuehrt git checkout "$CHANNEL" aus, der
Branchname muss also dem Kanalnamen entsprechen. Er existiert in keinem
Plugin-Repo und ist vom Maintainer anzulegen.
- Der Mensch drueckt ab: .claude/settings.json sperrt push, merge, tag.
- scripts/hallo.py und /hallo holen den Stand aller Klone, per
Fast-Forward wo gefahrlos; nie mergen, stashen oder verwerfen.
Ticketzugriff:
- scripts/gitea.py liest Issues, Kommentare und PRs ueber die oeffentliche
API, ohne Token, nur GET. Schreibendes nur als Entwurf in entwuerfe/.
- Skill sn-ticket.
Tests (ADR 0009):
- docs/leitfaden/06_tests.md: Testebenen, Testpflicht, und wie eine
Fachperson beurteilt, ob Tests fachlich sinnvoll sind.
- scripts/testkatalog.py erzeugt docs/tests/testkatalog.md per ast-Parsing,
ohne Import und ohne QGIS. Befund: nur 100 von 332 Tests haben einen
Docstring, sn_basis keinen einzigen von 87.
- Vorlage und erste Testkonzept-Seite mit Mermaid. Dabei gefunden und gegen
origin geprueft: _ermittle_gebietstyp_aus_fbschl hat keinen Test, obwohl
PR #44/#45 genau diese Funktion tolerant gemacht hat.
- docs/konzept/07_qgis_tests_plan.md: Stufenplan fuer Tests gegen echtes
QGIS. Dabei aufgefallen: QGIS 3.40 ist seit Januar 2026 End of Life,
qgis_min steht aber noch darauf.
Werkzeuge (ADR 0008):
- 04_werkzeuge_einrichten.md nur noch Claude Code als CLI und in VS Code.
- .vscode/ entfernt, brauchbare Einstellungen als persoenliche Vorlage.
Ausserdem: README als Einstieg neu aufgebaut, Mermaid-Diagramm in
schnittstellen.md repariert (unmaskierte Klammern, rendert seither nicht).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>