Preis-Vorschlag: Auswahl aus mehreren erkannten Beträgen

Findet die Beleg-Analyse mehrere Beträge, liefert der Upload jetzt eine
Kandidatenliste (bester Tipp zuerst). Web und iOS bieten dann ein Dropdown zur
Auswahl des richtigen Kaufpreises, statt nur den automatischen Tipp. 1 neuer
Test; Backend-Suite gruen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-27 06:39:03 +02:00
parent 761c131286
commit 2bc871f229
7 changed files with 94 additions and 8 deletions

View File

@@ -2,7 +2,11 @@
from datetime import date
from app.services.warranty import guess_price_cents, guess_warranty_until
from app.services.warranty import (
guess_price_candidates,
guess_price_cents,
guess_warranty_until,
)
def test_zeitraum_plus_kaufdatum_vom_stueck():
@@ -64,3 +68,11 @@ def test_preis_ohne_stichwort_nimmt_groessten_betrag():
def test_preis_ohne_betrag_ist_none():
assert guess_price_cents("Kein Preis hier.") is None
assert guess_price_cents("") is None
def test_preis_kandidaten_bester_zuerst_ohne_dubletten():
text = "Artikel 49.00\nVersand 5.90\nGesamtbetrag: 54.90\nnochmal 49.00"
kandidaten = guess_price_candidates(text)
assert kandidaten[0] == 5490 # bester Tipp vorne
assert set(kandidaten) == {5490, 4900, 590} # ohne Dubletten
assert guess_price_candidates("") == []