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>
66 lines
6.7 KiB
JSON
66 lines
6.7 KiB
JSON
{
|
|
"sn_basis": {
|
|
"gesamt": 87,
|
|
"fehlschlaege": 0,
|
|
"fehler": 0,
|
|
"uebersprungen": 0,
|
|
"gruen": 87,
|
|
"rot": []
|
|
},
|
|
"sn_verfahrensgebiet": {
|
|
"gesamt": 201,
|
|
"fehlschlaege": 15,
|
|
"fehler": 21,
|
|
"uebersprungen": 8,
|
|
"gruen": 157,
|
|
"rot": [
|
|
"test_abweichung_abbrechen_gibt_shape_vg_zurueck (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck)",
|
|
"test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf)",
|
|
"test_backwards_compatible_no_new_params (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_backwards_compatible_no_new_params)",
|
|
"test_bbox_embedded_in_wfs_uri (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_bbox_embedded_in_wfs_uri)",
|
|
"test_bror_als_erstes_argument_beim_flaechenvergleich (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich)",
|
|
"test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt)",
|
|
"test_bror_wird_bei_abbruch_aus_projekt_entfernt (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt)",
|
|
"test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt)",
|
|
"test_dialog_abgebrochen_gibt_none_zurueck (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck)",
|
|
"test_erfolg_gibt_memory_layer_zurueck (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck)",
|
|
"test_existing_layer_keep_no (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_existing_layer_keep_no)",
|
|
"test_existing_layer_reload_yes (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_existing_layer_reload_yes)",
|
|
"test_extent_derived_from_vg_layer (sn_verfahrensgebiet.tests.test_grenzpunkt_alkis.TestGrenzpunktAlkis.test_extent_derived_from_vg_layer)",
|
|
"test_fallback_attribute (sn_verfahrensgebiet.tests.test_gemarkung_alkis.TestExtractSchluesselUndName.test_fallback_attribute)",
|
|
"test_fallback_auf_temp_enriched_wenn_bror_ladeversagen (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen)",
|
|
"test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog)",
|
|
"test_grenzpunkt_batch_empty (sn_verfahrensgebiet.tests.test_grenzpunkt_alkis.TestGrenzpunktAlkis.test_grenzpunkt_batch_empty)",
|
|
"test_handle_grenz_alkis_none_result_sets_no_haken (sn_verfahrensgebiet.tests.test_working_tab.TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken)",
|
|
"test_handle_grenz_alkis_success_sets_haken (sn_verfahrensgebiet.tests.test_working_tab.TestWorkingTab.test_handle_grenz_alkis_success_sets_haken)",
|
|
"test_handle_verf_alkis_success_path (sn_verfahrensgebiet.tests.test_working_tab.TestWorkingTab.test_handle_verf_alkis_success_path)",
|
|
"test_invalider_qgslayer_gibt_none_und_warning (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning)",
|
|
"test_kein_shp_in_zip_gibt_none_und_warning (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning)",
|
|
"test_leere_geometrien_geben_none_und_warning (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning)",
|
|
"test_no_gml_ids_returns_pta_only (sn_verfahrensgebiet.tests.test_grenzpunkt_alkis.TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only)",
|
|
"test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler)",
|
|
"test_shape_vg_sofort_ins_projekt_nach_laden (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden)",
|
|
"test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt)",
|
|
"test_sql_filter_contains_all_schluessel (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_sql_filter_contains_all_schluessel)",
|
|
"test_standard_attribute (sn_verfahrensgebiet.tests.test_gemarkung_alkis.TestExtractSchluesselUndName.test_standard_attribute)",
|
|
"test_success_returns_both_layers (sn_verfahrensgebiet.tests.test_grenzpunkt_alkis.TestGrenzpunktAlkis.test_success_returns_both_layers)",
|
|
"test_success_returns_layer_and_first_status (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_success_returns_layer_and_first_status)",
|
|
"test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort (sn_verfahrensgebiet.tests.test_working_tab.TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort)",
|
|
"test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab (sn_verfahrensgebiet.tests.test_working_tab.TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab)",
|
|
"test_vorgabe_namen_appears_in_label (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label)",
|
|
"test_vorgabe_schluessel_prefills_default_text (sn_verfahrensgebiet.tests.test_flurstueck_alkis.TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text)",
|
|
"test_zip_fehler_gibt_none_und_warning (sn_verfahrensgebiet.tests.test_verfahrensgebiet_shape_komplett.TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning)"
|
|
]
|
|
},
|
|
"sn_plan41": {
|
|
"gesamt": 44,
|
|
"fehlschlaege": 0,
|
|
"fehler": 1,
|
|
"uebersprungen": 0,
|
|
"gruen": 43,
|
|
"rot": [
|
|
"test_set_services_initializes_logic_and_injects_data_grabber (sn_plan41.tests.test_tab_a_ui.TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber)"
|
|
]
|
|
}
|
|
}
|