Backend: Chargenliste - Art (food/object) + nur Charge-Artikel
/lots/rows liefert jetzt die Art (Lebensmittel/Gegenstand) mit und listet nur Charge-Artikel (Lebensmittel + Verbrauchsgegenstand). Lots von "Menge je Lagerort" (und etwaige Einzelstueck-Altlasten) fallen raus. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -114,6 +114,27 @@ def test_bulk_liste_zaehlt_bestand_wie_einzeln(db):
|
||||
assert gebuendelt[powerbank.id] == 2
|
||||
|
||||
|
||||
def test_chargenliste_nur_charge_artikel(db):
|
||||
# Die Chargenliste zeigt nur Lebensmittel + Verbrauchsgegenstände – nicht die
|
||||
# Lots von „Menge je Lagerort".
|
||||
from app.routers.stock import list_all_lots
|
||||
a = _loc(db, "Regal")
|
||||
food = Product(name="Reis", base_unit=BaseUnit.gram)
|
||||
db.add(food)
|
||||
db.flush()
|
||||
object_add(db, food, 500, a.id, None)
|
||||
unterhose, _ = _object_product(db, name="Unterhose") # Menge je Lagerort
|
||||
object_add(db, unterhose, 5, a.id, None)
|
||||
creme = _bulk_product(db, name="Sonnencreme") # Verbrauchsgegenstand
|
||||
object_add(db, creme, 200, a.id, None)
|
||||
db.commit()
|
||||
|
||||
namen = {r.product_name for r in list_all_lots(db=db, _=None)}
|
||||
assert "Reis" in namen
|
||||
assert "Sonnencreme" in namen
|
||||
assert "Unterhose" not in namen
|
||||
|
||||
|
||||
def test_neue_oberkategorie_ist_gegenstand(db):
|
||||
out = create_category(CategoryCreate(name="Werkzeug"), db, None)
|
||||
assert out.tracking == CategoryTracking.object
|
||||
|
||||
Reference in New Issue
Block a user