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>
This commit is contained in:
2026-10-26 20:18:58 +01:00
co-authored by Claude Opus 5.5
parent 8563a95ded
commit c7ecd14d64
3 changed files with 74 additions and 35 deletions
+36
View File
@@ -1007,6 +1007,42 @@
"datum": "2026-09-17",
"hash": "96f217d347c2"
},
"sn_basis.tests.test_settings_tab.BuildInputTests.test_anderes_feld_liefert_lineedit": {
"datum": "2026-10-26",
"hash": "4b1c7d81b589"
},
"sn_basis.tests.test_settings_tab.BuildInputTests.test_landkreis_feld_liefert_combobox_mit_allen_landkreisen": {
"datum": "2026-10-26",
"hash": "bae09ab146d7"
},
"sn_basis.tests.test_settings_tab.LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten": {
"datum": "2026-10-26",
"hash": "7a4a7b3d28ad"
},
"sn_basis.tests.test_settings_tab.LoadDataTests.test_ohne_gespeicherten_wert_bleibt_textfeld_leer": {
"datum": "2026-10-26",
"hash": "9143a4eccd59"
},
"sn_basis.tests.test_settings_tab.LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag": {
"datum": "2026-10-26",
"hash": "4ef8fdcf26c5"
},
"sn_basis.tests.test_settings_tab.LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen": {
"datum": "2026-10-26",
"hash": "9e9665319784"
},
"sn_basis.tests.test_settings_tab.SaveDataTests.test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt": {
"datum": "2026-10-26",
"hash": "78be1d93dfb4"
},
"sn_basis.tests.test_settings_tab.SaveDataTests.test_platzhalter_speichert_leere_kennzahl_statt_none": {
"datum": "2026-10-26",
"hash": "7885b0af38f4"
},
"sn_basis.tests.test_settings_tab.SaveDataTests.test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl": {
"datum": "2026-10-26",
"hash": "7ac4e48333d5"
},
"sn_basis.tests.test_stilpruefer.TestStilpruefer.test_datei_existiert_falsche_endung": {
"datum": "2026-09-17",
"hash": "37de9cd7e14c"
+20 -18
View File
@@ -123,24 +123,24 @@
<div class="topbar"><div class="brand"><h1>Prüfstand</h1>
<span class="tagline">Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.</span></div>
<div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)<br>Prüf-Audit: <span class="mono">docs/status/testpruefungen.json</span> (SHA-256 7df562788eb6)</div></div>
<div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)<br>Prüf-Audit: <span class="mono">docs/status/testpruefungen.json</span> (SHA-256 119f79e142a0)</div></div>
<div class="summary">
<div class="stat"><span class="n">690</span><span class="l">Testfälle</span></div>
<div class="stat ok"><span class="n">647</span><span class="l">grün</span></div>
<div class="stat"><span class="n">691</span><span class="l">Testfälle</span></div>
<div class="stat ok"><span class="n">648</span><span class="l">grün</span></div>
<div class="stat warn"><span class="n">35</span><span class="l">rot (Baseline)</span></div>
<div class="stat skip"><span class="n">8</span><span class="l">übersprungen</span></div>
<div class="stat"><span class="n">79%</span><span class="l">mit Docstring</span></div>
<div class="stat"><span class="n">37%</span><span class="l">aktuell geprüft</span></div>
<div class="stat"><span class="n">38%</span><span class="l">aktuell geprüft</span></div>
<div class="stat"><span class="n">55</span><span class="l">Testdateien</span></div>
<div class="stat warn"><span class="n">34%</span><span class="l">ohne Testbezug</span></div>
</div>
<div class="pkg-bars"><div class="pkg-bars-title">Verteilung je Paket</div>
<div class="pkg-bar-row"><span class="name">sn_basis</span><span class="minibar" role="img" aria-label="357 grün, 0 rot, 0 übersprungen"><span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">32 Dateien · 357 Testfälle</span></div>
<div class="pkg-bar-row"><span class="name">sn_basis</span><span class="minibar" role="img" aria-label="358 grün, 0 rot, 0 übersprungen"><span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">32 Dateien · 358 Testfälle</span></div>
<div class="pkg-bar-row"><span class="name">sn_verfahrensgebiet</span><span class="minibar" role="img" aria-label="247 grün, 34 rot, 8 übersprungen"><span class="seg seg-ok" style="width:85%"></span><span class="seg seg-warn" style="width:12%"></span><span class="seg seg-skip" style="width:3%"></span></span><span class="count">18 Dateien · 289 Testfälle</span></div>
<div class="pkg-bar-row"><span class="name">sn_plan41</span><span class="minibar" role="img" aria-label="43 grün, 1 rot, 0 übersprungen"><span class="seg seg-ok" style="width:98%"></span><span class="seg seg-warn" style="width:2%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">5 Dateien · 44 Testfälle</span></div>
</div>
<div class="controls"><nav class="nav-links">
<a href="#pkg-sn_basis">sn_basis <span class="mono">(357)</span></a>
<a href="#pkg-sn_basis">sn_basis <span class="mono">(358)</span></a>
<a href="#pkg-sn_verfahrensgebiet">sn_verfahrensgebiet <span class="mono">(289)</span></a>
<a href="#pkg-sn_plan41">sn_plan41 <span class="mono">(44)</span></a>
</nav><div class="filters">
@@ -159,11 +159,11 @@
<h2>sn_basis</h2>
<p class="pkg-sub">Plattform-Plugin · Ordner <span class="mono">Plugin_SN_Basis</span></p>
</div>
<div class="pkg-bar" role="img" aria-label="357 grün, 0 rot, 0 übersprungen">
<div class="pkg-bar" role="img" aria-label="358 grün, 0 rot, 0 übersprungen">
<span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span>
</div>
</div>
<div class="pkg-summary"><div class="stat stat-sm"><span class="n">32</span><span class="l">Testdateien</span></div><div class="stat stat-sm"><span class="n">357</span><span class="l">Testfälle</span></div><div class="stat stat-sm ok"><span class="n">357</span><span class="l">grün</span></div><div class="stat stat-sm warn"><span class="n">0</span><span class="l">rot (Baseline)</span></div><div class="stat stat-sm skip"><span class="n">0</span><span class="l">übersprungen</span></div><div class="stat stat-sm"><span class="n">100%</span><span class="l">mit Docstring</span></div><div class="stat stat-sm"><span class="n">72%</span><span class="l">geprüft</span></div><div class="stat stat-sm"><span class="n">70</span><span class="l">ohne Testbezug</span></div></div>
<div class="pkg-summary"><div class="stat stat-sm"><span class="n">32</span><span class="l">Testdateien</span></div><div class="stat stat-sm"><span class="n">358</span><span class="l">Testfälle</span></div><div class="stat stat-sm ok"><span class="n">358</span><span class="l">grün</span></div><div class="stat stat-sm warn"><span class="n">0</span><span class="l">rot (Baseline)</span></div><div class="stat stat-sm skip"><span class="n">0</span><span class="l">übersprungen</span></div><div class="stat stat-sm"><span class="n">100%</span><span class="l">mit Docstring</span></div><div class="stat stat-sm"><span class="n">74%</span><span class="l">geprüft</span></div><div class="stat stat-sm"><span class="n">70</span><span class="l">ohne Testbezug</span></div></div>
<div class="card-grid"><article class="filecard" data-search="plugin_sn_basis/tests/test_base_dockwidget.py closeeventtests test_ruft_cleanup_aller_tabs_auf closeeventtests test_ignoriert_tabs_ohne_cleanup closeeventtests test_fehler_in_cleanup_wird_abgefangen_und_andere_tabs_laufen_weiter closeeventtests test_setzt_toolbar_action_zurueck closeeventtests test_ohne_action_wird_nichts_zurueckgesetzt" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="0" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-base-dockwidget-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_base_dockwidget.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">100% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-base-dockwidget-py"><p class="filedesc">Tests für sn_basis/ui/base_dockwidget.py::closeEvent (Issue #65).</p><div class="gchips"><span class="gchip" title="">CloseEventTests <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_base_dockwidget.py&quot;])
class root rootnode
@@ -1105,23 +1105,24 @@
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_load</span></td><td>Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save</span></td><td>Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_load_handles_partial_values_with_empty_fallback</span></td><td>Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save_empty_string_value_is_persisted</span></td><td>Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_settings_tab.py savedatatests test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl savedatatests test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt loaddatatests test_befuellt_textfelder_aus_gespeicherten_daten loaddatatests test_ohne_gespeicherten_wert_bleibt_textfeld_leer loaddatatests test_waehlt_combobox_eintrag_bei_bekanntem_namen loaddatatests test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag buildinputtests test_landkreis_feld_liefert_combobox_mit_allen_landkreisen buildinputtests test_anderes_feld_liefert_lineedit" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="1" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-settings-tab-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_settings_tab.py</span><span class="card-meta"><span class="count-total">8 Testfälle</span><span class="cpill cpill-ok">8</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">0% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-settings-tab-py"><p class="filedesc">Tests für sn_basis/ui/tabs/settings_tab.py::save_data/load_data/_build_input (Issue #65/#67).</p><div class="gchips"><span class="gchip" title="">SaveDataTests <b>2</b></span><span class="gchip" title="">LoadDataTests <b>4</b></span><span class="gchip" title="">BuildInputTests <b>2</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_load</span></td><td>Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save</span></td><td>Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_load_handles_partial_values_with_empty_fallback</span></td><td>Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save_empty_string_value_is_persisted</span></td><td>Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-09-17</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_settings_tab.py savedatatests test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl savedatatests test_platzhalter_speichert_leere_kennzahl_statt_none savedatatests test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt loaddatatests test_befuellt_textfelder_aus_gespeicherten_daten loaddatatests test_ohne_gespeicherten_wert_bleibt_textfeld_leer loaddatatests test_waehlt_combobox_eintrag_bei_bekanntem_namen loaddatatests test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag buildinputtests test_landkreis_feld_liefert_combobox_mit_allen_landkreisen buildinputtests test_anderes_feld_liefert_lineedit" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="0" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-settings-tab-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_settings_tab.py</span><span class="card-meta"><span class="count-total">9 Testfälle</span><span class="cpill cpill-ok">9</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">100% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-settings-tab-py"><p class="filedesc">Tests für sn_basis/ui/tabs/settings_tab.py::save_data/load_data/_build_input (Issue #65/#67).</p><div class="gchips"><span class="gchip" title="">SaveDataTests <b>3</b></span><span class="gchip" title="">LoadDataTests <b>4</b></span><span class="gchip" title="">BuildInputTests <b>2</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_settings_tab.py&quot;])
class root rootnode
root --&gt; g1[&quot;SaveDataTests (2)&quot;]
root --&gt; g1[&quot;SaveDataTests (3)&quot;]
class g1 groupnode
g1 --&gt; t1(&quot;sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl&quot;)
g1 --&gt; t2(&quot;ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt&quot;)
g1 --&gt; t2(&quot;platzhalter_speichert_leere_kennzahl_statt_none&quot;)
g1 --&gt; t3(&quot;ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt&quot;)
root --&gt; g2[&quot;LoadDataTests (4)&quot;]
class g2 groupnode
g2 --&gt; t3(&quot;befuellt_textfelder_aus_gespeicherten_daten&quot;)
g2 --&gt; t4(&quot;ohne_gespeicherten_wert_bleibt_textfeld_leer&quot;)
g2 --&gt; t5(&quot;waehlt_combobox_eintrag_bei_bekanntem_namen&quot;)
g2 --&gt; t6(&quot;unbekannter_gespeicherter_name_waehlt_ersten_eintrag&quot;)
g2 --&gt; t4(&quot;befuellt_textfelder_aus_gespeicherten_daten&quot;)
g2 --&gt; t5(&quot;ohne_gespeicherten_wert_bleibt_textfeld_leer&quot;)
g2 --&gt; t6(&quot;waehlt_combobox_eintrag_bei_bekanntem_namen&quot;)
g2 --&gt; t7(&quot;unbekannter_gespeicherter_name_waehlt_ersten_eintrag&quot;)
root --&gt; g3[&quot;BuildInputTests (2)&quot;]
class g3 groupnode
g3 --&gt; t7(&quot;landkreis_feld_liefert_combobox_mit_allen_landkreisen&quot;)
g3 --&gt; t8(&quot;anderes_feld_liefert_lineedit&quot;)
g3 --&gt; t8(&quot;landkreis_feld_liefert_combobox_mit_allen_landkreisen&quot;)
g3 --&gt; t9(&quot;anderes_feld_liefert_lineedit&quot;)
class t1 ok
class t2 ok
class t3 ok
@@ -1130,11 +1131,12 @@
class t6 ok
class t7 ok
class t8 ok
class t9 ok
classDef rootnode fill:#1f4038,stroke:#16302a,stroke-width:1px,color:#f4f1e8,font-weight:600;
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">SaveDataTests<br><span class="testname">test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl</span></td><td>Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">SaveDataTests<br><span class="testname">test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt</span></td><td>Prüft, dass ohne Landkreis-Dropdown im Formular keine &#x27;landkreis_kennzahl&#x27; ergänzt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_befuellt_textfelder_aus_gespeicherten_daten</span></td><td>Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_ohne_gespeicherten_wert_bleibt_textfeld_leer</span></td><td>Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_waehlt_combobox_eintrag_bei_bekanntem_namen</span></td><td>Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag</span></td><td>Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den ersten Eintrag zurückfällt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">BuildInputTests<br><span class="testname">test_landkreis_feld_liefert_combobox_mit_allen_landkreisen</span></td><td>Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr><tr><td class="mono">BuildInputTests<br><span class="testname">test_anderes_feld_liefert_lineedit</span></td><td>Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-skip">nie geprüft</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_stilpruefer.py teststilpruefer test_keine_datei_angegeben teststilpruefer test_datei_existiert_mit_qml teststilpruefer test_datei_existiert_falsche_endung teststilpruefer test_datei_existiert_nicht" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="0" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-stilpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_stilpruefer.py</span><span class="card-meta"><span class="count-total">4 Testfälle</span><span class="cpill cpill-ok">4</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">100% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-stilpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestStilpruefer <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th><th>geprüft</th></tr></thead><tbody><tr><td class="mono">SaveDataTests<br><span class="testname">test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl</span></td><td>Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">SaveDataTests<br><span class="testname">test_platzhalter_speichert_leere_kennzahl_statt_none</span></td><td>Prüft, dass bei ausgewähltem Platzhalter Landkreisname und Kennzahl als leerer Text gespeichert werden.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">SaveDataTests<br><span class="testname">test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt</span></td><td>Prüft, dass ohne Landkreis-Dropdown im Formular keine &#x27;landkreis_kennzahl&#x27; ergänzt wird.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_befuellt_textfelder_aus_gespeicherten_daten</span></td><td>Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_ohne_gespeicherten_wert_bleibt_textfeld_leer</span></td><td>Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_waehlt_combobox_eintrag_bei_bekanntem_namen</span></td><td>Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">LoadDataTests<br><span class="testname">test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag</span></td><td>Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den leeren Platzhalter zurückfällt.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">BuildInputTests<br><span class="testname">test_landkreis_feld_liefert_combobox_mit_allen_landkreisen</span></td><td>Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr><tr><td class="mono">BuildInputTests<br><span class="testname">test_anderes_feld_liefert_lineedit</span></td><td>Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert.</td><td><span class="pill pill-ok">grün</span></td><td><span class="pill pill-pr-ok">geprüft am 2026-10-26</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_stilpruefer.py teststilpruefer test_keine_datei_angegeben teststilpruefer test_datei_existiert_mit_qml teststilpruefer test_datei_existiert_falsche_endung teststilpruefer test_datei_existiert_nicht" data-hasred="0" data-hasskip="0" data-nodoc="0" data-ungeprueft="0" data-veraltet="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-stilpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_stilpruefer.py</span><span class="card-meta"><span class="count-total">4 Testfälle</span><span class="cpill cpill-ok">4</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="auditbadge" title="Anteil fachlich aktuell geprüft">100% geprüft</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-stilpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestStilpruefer <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_stilpruefer.py&quot;])
class root rootnode
root --&gt; g1[&quot;TestStilpruefer (4)&quot;]
+18 -17
View File
@@ -8,21 +8,21 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `7df562788eb6`)
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `119f79e142a0`)
Gesamt: 3 Pakete, 55 Testdateien, 690 Testfälle – 647 grün, 35 rot (Baseline), 8 übersprungen.
Mit Beschreibung (Docstring): 545 von 690 (79 %).
Fachlich geprüft: 257 von 690 (37 %) aktuell, 0 veraltet seit Codeänderung, 433 nie geprüft.
Gesamt: 3 Pakete, 55 Testdateien, 691 Testfälle – 648 grün, 35 rot (Baseline), 8 übersprungen.
Mit Beschreibung (Docstring): 546 von 691 (79 %).
Fachlich geprüft: 266 von 691 (38 %) aktuell, 0 veraltet seit Codeänderung, 425 nie geprüft.
Strukturelle Lücken (heuristisch, Namensabgleich): 160 von 470 (34 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
## Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| `sn_basis` | 32 | 357 | 357 | 0 | 0 | 357 von 357 (100 %) | 257 von 357 (72 %) | 70 von 229 (31 %) |
| `sn_basis` | 32 | 358 | 358 | 0 | 0 | 358 von 358 (100 %) | 266 von 358 (74 %) | 70 von 229 (31 %) |
| `sn_verfahrensgebiet` | 18 | 289 | 247 | 34 | 8 | 187 von 289 (65 %) | 0 von 289 (0 %) | 51 von 161 (32 %) |
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
| **Summe** | **55** | **690** | **647** | **35** | **8** | **545 von 690 (79 %)** | **257 von 690 (37 %)** | **160 von 470 (34 %)** |
| **Summe** | **55** | **691** | **648** | **35** | **8** | **546 von 691 (79 %)** | **266 von 691 (38 %)** | **160 von 470 (34 %)** |
### Legende
@@ -36,7 +36,7 @@ Strukturelle Lücken (heuristisch, Namensabgleich): 160 von 470 (34 %) Funktione
## Paket `sn_basis`
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 357 Testfällen (357 grün, 0 rot, 0 übersprungen).
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 358 Testfällen (358 grün, 0 rot, 0 übersprungen).
### `Plugin_SN_Basis/tests/test_base_dockwidget.py`
@@ -683,20 +683,21 @@ Worum es in der Datei geht: Tests für sn_basis/ui/tabs/settings_tab.py::save_da
Testgruppen:
- `SaveDataTests` (2 Testfälle): — (Docstring fehlt)
- `SaveDataTests` (3 Testfälle): — (Docstring fehlt)
- `LoadDataTests` (4 Testfälle): — (Docstring fehlt)
- `BuildInputTests` (2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
| --- | --- | --- | --- |
| `SaveDataTests.test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl` | Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt. | grün | nie geprüft |
| `SaveDataTests.test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt` | Prüft, dass ohne Landkreis-Dropdown im Formular keine 'landkreis_kennzahl' ergänzt wird. | grün | nie geprüft |
| `LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten` | Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. | grün | nie geprüft |
| `LoadDataTests.test_ohne_gespeicherten_wert_bleibt_textfeld_leer` | Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt. | grün | nie geprüft |
| `LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen` | Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. | grün | nie geprüft |
| `LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag` | Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den ersten Eintrag zurückfällt. | grün | nie geprüft |
| `BuildInputTests.test_landkreis_feld_liefert_combobox_mit_allen_landkreisen` | Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert. | grün | nie geprüft |
| `BuildInputTests.test_anderes_feld_liefert_lineedit` | Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. | grün | nie geprüft |
| `SaveDataTests.test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl` | Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt. | grün | geprüft am 2026-10-26 |
| `SaveDataTests.test_platzhalter_speichert_leere_kennzahl_statt_none` | Prüft, dass bei ausgewähltem Platzhalter Landkreisname und Kennzahl als leerer Text gespeichert werden. | grün | geprüft am 2026-10-26 |
| `SaveDataTests.test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt` | Prüft, dass ohne Landkreis-Dropdown im Formular keine 'landkreis_kennzahl' ergänzt wird. | grün | geprüft am 2026-10-26 |
| `LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten` | Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. | grün | geprüft am 2026-10-26 |
| `LoadDataTests.test_ohne_gespeicherten_wert_bleibt_textfeld_leer` | Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt. | grün | geprüft am 2026-10-26 |
| `LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen` | Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. | grün | geprüft am 2026-10-26 |
| `LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag` | Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den leeren Platzhalter zurückfällt. | grün | geprüft am 2026-10-26 |
| `BuildInputTests.test_landkreis_feld_liefert_combobox_mit_allen_landkreisen` | Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert. | grün | geprüft am 2026-10-26 |
| `BuildInputTests.test_anderes_feld_liefert_lineedit` | Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. | grün | geprüft am 2026-10-26 |
### `Plugin_SN_Basis/tests/test_stilpruefer.py`
@@ -1442,7 +1443,7 @@ Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen,
aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall,
dann verschwindet er hier von selbst.
### `sn_basis` – 0 von 357 Testfällen ohne Beschreibung
### `sn_basis` – 0 von 358 Testfällen ohne Beschreibung
Keine Lücken.