TestFlurstueckAlkis an aktuelle Ladelogik angeglichen, bbox-Doku korrigiert (#16)

Test-Audit (Projektwissen #16) deckte auf: tests/test_flurstueck_alkis.py
wurde im selben Commit (f8bdcde) angelegt, in dem flurstueck_alkis() von
einer einzelnen QgsVectorLayer-Abfrage auf lade_flurstuecke_per_gemarkung()
(eine WFS-Anfrage je Gemarkung, Merge in Memory-Layer) umgestellt wurde -
die Tests mockten aber weiterhin die alte Ein-Query-Variante und liefen
seither ins Leere (8 von 12 Testfaellen rot in der Baseline).

- Tests mocken jetzt lade_flurstuecke_per_gemarkung()/_check_existing_
  flurstueck_layer() statt QgsVectorLayer direkt, passend zum seit #47
  bzw. 944fc82 aktuellen Drei-Knopf-Dialog (Ueberschreiben/Anhaengen/
  Abbrechen) und dem Pro-Gemarkung-Ladevorgang.
- test_existing_layer_keep_no -> test_existing_layer_abbrechen_returns_none:
  LoadStatus.KEEP wird von _check_existing_flurstueck_layer() nicht mehr
  zurueckgegeben, der verbleibende Nicht-Aendern-Pfad ist "Abbrechen".
- test_bbox_embedded_in_wfs_uri entfernt: bbox wird von keinem Aufrufer
  mehr uebergeben und im Code nicht mehr ausgewertet; die vermeintliche
  URI-Einbettung gab es schon lange nicht mehr.
- Modul-Docstring in flurstueck_alkis.py korrigiert: bbox ist reine
  Rueckwaertskompatibilitaet in der Signatur (Flurstueck-Geometrie kommt
  aus dem WFS je Gemarkung, keine BBox-Filterung), Memory-Layer statt
  Direktladung dokumentiert.
- Alle Docstrings von TestFlurstueckAlkis auf "Prueft, dass ..." gebracht
  (Vorgabe docs/leitfaden/06_tests.md) und inhaltlich an die tatsaechlich
  getestete Logik angepasst; Datei-Docstring ebenfalls korrigiert.
- Totes _DummyLayer.extent() entfernt (wird von keiner Aufrufkette mehr
  erreicht).

Kein Verhaltensunterschied in flurstueck_alkis() selbst - nur Tests und
Dokumentation an eine bereits bestehende Implementierung angeglichen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 12:11:13 +02:00
co-authored by Claude Sonnet 5
parent 49d30eea22
commit c260ccc2d6
2 changed files with 71 additions and 93 deletions
+8 -6
View File
@@ -3,8 +3,9 @@
Lädt Flurstücke aus dem ALKIS-WFS-Dienst (``adv:AX_Flurstueck``) anhand von
Gemarkungsschlüsseln, die der Nutzer interaktiv eingibt.
Der WFS-Layer wird direkt (nicht als Memory-Layer) ins Projekt geladen,
da die einzelnen Features für die spätere Auswahl benötigt werden.
Für jede Gemarkungsnummer wird eine eigene WFS-Anfrage gestellt (umgeht das
WFS-Feature-Limit einer Gesamtabfrage); alle Ergebnisse werden anschließend in
einem gemeinsamen Memory-Layer zusammengeführt.
**Erweiterung gegenüber dem Original:**
@@ -16,10 +17,11 @@ da die einzelnen Features für die spätere Auswahl benötigt werden.
- ``vorgabe_namen``: Zugehörige Bezeichnungen, die im Dialog als Hinweis
angezeigt werden (kein eigenständiges Feld, nur Anzeigetext).
- ``bbox``: Optionaler BBox-Parameter, der – sofern übergeben – als
zusätzlicher serverseitiger Filter in die WFS-URI eingebettet wird. So
werden ausschließlich Flurstücke geladen, die den Verfahrensgebiets-Rahmen
überlappen.
- ``bbox``: Nicht mehr verwendet. Die Flurstück-Geometrie kommt ausschließlich
aus dem ALKIS-WFS je Gemarkung; eine BBox filtert höchstens vorgelagert die
Gemarkungsauswahl (siehe ``gemarkung_alkis.py``), nie die Flurstücke selbst.
Der Parameter bleibt nur aus Gründen der Signatur-Rückwärtskompatibilität
erhalten.
"""
from __future__ import annotations