Backend: Verbrauchsgegenstand/Einzelstueck sind immer Gegenstaende

product_tracking leitet die Art bisher nur aus der Kategorie ab. Beim Umstellen
Lebensmittel -> Verbrauchsgegenstand faellt die (Lebensmittel-)Kategorie weg,
sodass der Artikel faelschlich "food" blieb und in der Lebensmittelliste hing.
individual/bulk implizieren jetzt "object", unabhaengig von der Kategorie.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-27 21:30:09 +02:00
parent 24ea55c396
commit 10a948df15
2 changed files with 24 additions and 0 deletions

View File

@@ -75,6 +75,23 @@ def test_gegenstandskategorie_macht_object(db):
assert product_tracking(db, product) == "object"
def test_verbrauchsgegenstand_ohne_kategorie_ist_object(db):
# Nach dem Umstellen Lebensmittel -> Verbrauchsgegenstand hat der Artikel oft
# keine (Gegenstands-)Kategorie mehr. Das Flag muss ihn trotzdem als
# Gegenstand führen, sonst rutscht er zurück in die Lebensmittelliste.
product = Product(name="Sonnencreme", bulk=True)
db.add(product)
db.commit()
assert product_tracking(db, product) == "object"
def test_einzelstueck_ohne_kategorie_ist_object(db):
product = Product(name="Powerbank", individual=True)
db.add(product)
db.commit()
assert product_tracking(db, product) == "object"
def test_neue_oberkategorie_ist_gegenstand(db):
out = create_category(CategoryCreate(name="Werkzeug"), db, None)
assert out.tracking == CategoryTracking.object