gwoe-antragspruefer/tests
Dotty Dotter 4e7f7dac25 chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution
Mehrtaegiger Sync-Stillstand hatte ueber 50 conflicted-copy-Dateien im
Working-Tree erzeugt. Die jeweils neuere Version wurde basierend auf
md5-Hash-Vergleich zum laufenden gwoe-antragspruefer-dev-Container
eingespielt.

Konsolidiert (38 modifiziert):
- analyzer.py, auswertungen.py, auth.py, config.py, database.py,
  drucksache_typen.py, embeddings.py, main.py, models.py, parlamente.py,
  ports/llm_bewerter.py, presse_generator.py, redline_utils.py, report.py,
  validators.py, wahlprogramm_fetch.py, wahlprogramm-links.yaml,
  wahlprogramm-shas.lock.json
- v2-Templates: base, components/{icon, matrix_mini, queue_widget,
  result_row}, screens/{admin_queue, admin_stand, aktuelle-themen,
  antrag_detail, auswertungen, cluster, landtag_suche, merkliste,
  methodik, tags}, static/v2/v2.css
- Tests: test_embeddings (Strict-Mode-Drop in reconstruct_zitate),
  test_endpoints_smoke, test_presse_generator, test_report,
  test_wahlprogramme (mit TestRegierungsbildung-Block, +120 LOC)
- docker-compose.dev.yml, docs/adr/index.md, docs/reference/api.md, mkdocs.yml

Neuzugaenge:
- app/marker.py, app/pm_render.py — Konsistenz-Marker, PM-Render-Adapter
- app/templates/v2/screens/scorecard{,_portrait,_werkstatt}.html — Cloud-Design-Scorecard
- app/static/v3/, app/templates/v3/ — v3-Layout-Hierarchie
- docs/adr/0010-stimmverhalten-gwoe-aggregat.md
- docs/adr/0011-aktuelle-themen-pm-generator.md
- docs/adr/0012-debug-auth-token-bypass.md
- scripts/{auto-rate-orphans, pm-quality-audit, pm-sample-bundle, rotate-debug-token}.sh
- tests/e2e/test_smoke_browser.py, tests/test_{auto_rate_runs, icons,
  marker, pm_render, presse_generator_style, thread_splitter,
  v2_pdf_consistency}.py

Plus inhaltlich uebernommen aus dem Conflict-Stand:
- embeddings.py: fw-by-2023.partei korrigiert von "FW" zu "FREIE WAEHLER"
  (war Mismatch zu wahlprogramme.py)
- embeddings.py: detailliertere Naming der BTW-2025-Wahlprogramme

Test-Suite-Stand: 1209 passed, 73 skipped (4 pre-existing failures in
test_presse_generator_style.py + 1 collection error in
integration/test_citations_substring.py — beide nicht durch dieses
Konsolidierungs-Commit verursacht).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 00:19:41 +02:00
..
e2e test(Phase 16): 9 E2E-Smoketests gegen gwoe-dev mit DEBUG_AUTH_TOKEN 2026-05-06 23:50:40 +02:00
integration Sub-B: NRW Sample 10/5376 — F.D.P.+CDU CO2-Minderungsprogramm 1990 2026-04-09 13:43:17 +02:00
__init__.py Add pytest suite + fix two regex bugs uncovered by it (#46) 2026-04-08 23:26:06 +02:00
conftest.py Add pytest suite + fix two regex bugs uncovered by it (#46) 2026-04-08 23:26:06 +02:00
test_abgeordnetenwatch.py test(#134): Coverage-Backfill drei Module 2026-04-28 10:50:26 +02:00
test_abonnement_repository.py test(#134): Coverage-Backfill auswertungen + Repositories 2026-04-28 10:54:28 +02:00
test_analyzer.py test(#134): analyzer Coverage 70.1% → 83.1% 2026-04-28 11:06:24 +02:00
test_antrag_repository.py test(#134): Coverage-Backfill auswertungen + Repositories 2026-04-28 10:54:28 +02:00
test_auswertungen_stimmverhalten.py feat(#168): Über-Zeit-Drift im Stimmverhalten-Tab 2026-04-29 23:03:53 +02:00
test_auswertungen.py feat(#172): Vote-Orphans-Banner + Bulk-Auto-Bewerten-Endpoint 2026-05-06 02:03:23 +02:00
test_auth.py test(#134): auth.py Coverage 47.1% → 86% 2026-04-28 11:10:08 +02:00
test_auto_rate_runs.py quality: 9 Tests fuer auto_rate_runs + ruff F401 in main.py 2026-05-06 16:58:49 +02:00
test_batch_helpers.py feat: Antrag-Detail News-Match-Box + Test-Coverage fuer aktuelle-themen 2026-05-06 02:22:22 +02:00
test_bewertung_repository.py test(#134): Coverage-Backfill auswertungen + Repositories 2026-04-28 10:54:28 +02:00
test_bug_regressions.py test: 467 -> 574 Tests (+107) — DDD, abgeordnetenwatch, monitoring, v2, Bug-Regressions 2026-04-25 20:55:57 +02:00
test_bundeslaender.py Phase J: SN EDAS-XML-Adapter (#26/#38) — Sachsen aktiv via XML-Export 2026-04-09 14:39:03 +02:00
test_clustering.py test(#134): clustering.py Coverage 82.3% → 99.3% 2026-04-28 11:02:58 +02:00
test_database.py feat(#106): plenum_vote_results-Tabelle + Repository 2026-04-28 08:01:26 +02:00
test_domain_behavior.py test: 467 -> 574 Tests (+107) — DDD, abgeordnetenwatch, monitoring, v2, Bug-Regressions 2026-04-25 20:55:57 +02:00
test_drucksache_typen.py test(#134): drucksache_typen Coverage 72.5% → 100% 2026-04-28 11:04:31 +02:00
test_embeddings_v3_v4.py test: 467 -> 574 Tests (+107) — DDD, abgeordnetenwatch, monitoring, v2, Bug-Regressions 2026-04-25 20:55:57 +02:00
test_embeddings.py chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution 2026-05-08 00:19:41 +02:00
test_endpoints_smoke.py test: 11 weitere Smoketests fuer Stimmverhalten-Endpoints 2026-05-06 15:45:59 +02:00
test_feedback_endpoint.py feat(v2): Feedback-Widget mit Audit-Trail + Screenshot + direkter Gitea-Anbindung 2026-04-28 01:00:44 +02:00
test_icons.py fix: icon()-Macro mit ignore-missing + Coverage-Test 2026-05-06 17:35:59 +02:00
test_ingest_votes.py test(#134): Coverage-Backfill drei Module 2026-04-28 10:50:26 +02:00
test_legislaturen.py feat: Programme + Legislaturen-Registry mit historisch korrekter Geltung 2026-05-08 00:18:33 +02:00
test_llm_bewerter.py feat: Antrag-Detail News-Match-Box + Test-Coverage fuer aktuelle-themen 2026-05-06 02:22:22 +02:00
test_mail.py test(#134): mail.py Coverage 88.2% → 100% 2026-04-28 10:58:03 +02:00
test_main_validators.py Phase A: Audit-Restbefunde #57.3/4/7 (Roadmap #59) 2026-04-09 11:15:16 +02:00
test_marker.py feat: Opportunismus-Marker bei JA-Stimmen mit WP-Score < 3 2026-05-06 15:48:06 +02:00
test_monitoring.py test(#134): monitoring.py Coverage 83.2% → 99.3% 2026-04-28 11:01:19 +02:00
test_news_aggregator.py feat(#170): Aktuelle-Themen-Dashboard — News × Anträge × Pressemitteilungen 2026-05-03 12:39:36 +02:00
test_og_card.py test(#134): app/og_card.py Coverage 44% → 100% 2026-04-28 08:40:20 +02:00
test_parlamente.py fix(#142): SL HTTP 5xx als Fehler raisen statt return [] 2026-04-28 01:46:35 +02:00
test_parteien.py Phase B: Parteinamen-Mapper #55 (Roadmap #59) 2026-04-09 11:22:13 +02:00
test_pm_render.py refactor + tests: marker.py + pm_render.py mit 56 Unit-Tests 2026-05-06 15:44:12 +02:00
test_presse_generator_style.py test(#191 Phase 10.4): 10 Tests fuer presse_generator Style-Switch 2026-05-06 17:15:21 +02:00
test_presse_generator.py chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution 2026-05-08 00:19:41 +02:00
test_protokoll_parsers_bb.py feat(#149): BB-Parser produktiv — Brandenburger Plenarprotokolle (Status-Only) 2026-04-29 02:04:21 +02:00
test_protokoll_parsers_be.py feat(#150): BE-Parser produktiv — Berliner Abgeordnetenhaus-Plenarprotokolle 2026-04-29 00:37:47 +02:00
test_protokoll_parsers_bund.py feat(#148): BUND-Parser produktiv — Bundestags-XML-Plenarprotokolle 2026-04-28 23:21:39 +02:00
test_protokoll_parsers_hb.py feat(#153): HB-Parser produktiv — Bremer Beschlussprotokolle (Status-Only) 2026-04-29 01:41:40 +02:00
test_protokoll_parsers_hh.py test(#155): 19 Tests fuer HH-Parser 2026-04-29 01:05:33 +02:00
test_protokoll_parsers_nrw.py test(#134): NRW Protokoll-Parser Coverage 51.7% → 85.1% 2026-04-28 11:11:52 +02:00
test_protokoll_parsers_sh.py feat(#160): SH-Parser produktiv — Schleswig-Holsteiner Plenarprotokolle 2026-04-29 01:29:06 +02:00
test_protokoll_parsers_sl.py feat(#161): SL-Parser produktiv — Saarland HTML-Abstimmungsergebnisse 2026-04-29 01:53:51 +02:00
test_protokoll_parsers_stubs.py feat(#149): BB-Parser produktiv — Brandenburger Plenarprotokolle (Status-Only) 2026-04-29 02:04:21 +02:00
test_protokoll_parsers.py feat(#126): protokoll_parsers/-Sub-Package + Registry-Pattern + ADR 0009 2026-04-28 08:37:31 +02:00
test_queue.py test(#134): queue Coverage 26.6% → 43.4% 2026-04-28 11:08:04 +02:00
test_redline_parser.py test(#134): build_pdf_href Coverage 50% → 100% 2026-04-28 08:39:05 +02:00
test_report.py chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution 2026-05-08 00:19:41 +02:00
test_rss.py test(#134): test_rss.py — Atom-Feed-Validitaet, Filter, ETag, Limits 2026-04-28 02:01:01 +02:00
test_themen_matching.py feat: Stand-Dashboard, Score-Histogram, PM-Markdown, Live-Polling, Cluster-Indicator 2026-05-06 02:49:06 +02:00
test_thread_splitter.py feat(#178 Folge): Thread-Auto-Splitter + Quality-Audit-Skript 2026-05-06 17:08:57 +02:00
test_v2_pdf_consistency.py feat(#177): Programm-Treue im BELEGE-Layout — pro Partei zwei aufklappbare Blöcke (WP+PP) 2026-05-07 09:21:42 +02:00
test_wahlperioden.py test(#134): test_wahlperioden.py — Datum→WP-Mapping 2026-04-28 02:02:40 +02:00
test_wahlprogramm_check.py test: 467 -> 574 Tests (+107) — DDD, abgeordnetenwatch, monitoring, v2, Bug-Regressions 2026-04-25 20:55:57 +02:00
test_wahlprogramm_fetch.py test(#134): wahlprogramm_fetch Coverage 42.8% → 54.4% 2026-04-28 08:42:29 +02:00
test_wahlprogramme.py chore: konsolidiere Working-Tree mit dev-Stand nach Nextcloud-Sync-Resolution 2026-05-08 00:19:41 +02:00