gruene-seele/tests/Feature
Kevin Adametz 6bd867cbe7 Warenwirtschaft: AP-53 — Nacharbeit zur Prüfung 10.09.2026 (Toleranzregel zentral, Sockelrand, Chargenzeile, Ausschuss-Meldung, Auflösung/Obergrenze)
Prüfbericht pruefung-ap53-mengenpraezision-2026-09-10.md, alle Punkte umgesetzt:
- AP53-01: Toleranz nur noch in ProductionService (TOLERANCE_RATIO 0,05, TOLERANCE_FLOOR 0,005, COMPARE_EPSILON); das Produktions-JS rendert die Konstanten aus dem Service statt eigener Zahlen (Ampel hatte noch Sockel 0,05 g).
- AP53-02: withinTolerance() vergleicht mit Float-Ausgleich 1e-9 — 0,025 g auf 0,020 g Soll ist wieder zulässig, 0,026 g nicht; Sollwerte werden nicht gerundet.
- AP53-03: Chargen-Hauptzeile und Standortsumme im Rohstoff-Detail mit formatWawiQuantity(…, 0) (0,125 g statt 0 g).
- AP53-04: Ausschuss-Fehlermeldungen (Request ohne/mit Charge, Controller-Wiederholung) mit formatWawiQuantity().
- 4.1: Obergrenze decimal(12,3) bewusst akzeptiert (Live max. 49.000 g) und als InventoryService::QUANTITY_MAX validiert; Bereichsprüfung + Rollback-Hinweis in der Deploy-Checkliste.
- 4.2: normalizeWawiQuantity() (parsen + drei Stellen) in Bestell-/Wareneingangs-/Ausschuss-Requests, parseQuantity() rundet kanonisch für batch_key- und stock_entry_id-Zeilen; Untergrenze 0,001 g; ml-Eingaben, die umgerechnet 0,000 g ergeben, werden abgelehnt (Store/Update/Receive).
- 4.3: Einkaufs-JS trennt formatQuantity (3), formatPrice (2, wie vor AP-53) und formatDensity (4).
- 4.4: Hinweise präzisiert (Übersichten ganzzahlig, Rundungs-/Untergrenzregel), Leitfaden §26 mit Sockelrand-, Hauptzeilen- und Meldungs-Prüfschritten, Plan V7 und README aktualisiert, Prüfbericht Abschnitt 6 mit Nacharbeitsstand.

Tests: QuantityPrecisionTest +6 (AP53-01…04, 4.2 Rundung/Untergrenze/Obergrenze, ml→0 g). Suite 384 grün / 1.592 Assertions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 07:25:11 +00:00
..
ApiOrderLogTest.php Warenwirtschaft: AP-34 — „-Suffix"-Schema als gewollten Mechanismus dokumentieren 2026-08-28 11:53:34 +00:00
BatchPrefixTest.php Warenwirtschaft: AP-24 Chargen-Nr.-Praefix auf Produktebene 2026-07-06 12:09:41 +00:00
ChargeDisposalConsistencyTest.php Warenwirtschaft: N-01/N-03/N-05 — Entwurfsmenge ohne Charge, Snapshot-Signatur je Produkt, Alt-Ausschuss in Chargenverfügbarkeit 2026-09-08 11:48:02 +00:00
DeliveryTimeSettingsTest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
DisposalReasonSettingsTest.php Warenwirtschaft: Anforderungsrunde 12.06. — Plan V5.0 + AP-26/AP-25/AP-22 2026-06-12 16:28:45 +00:00
ExampleTest.php Warenwirtschaft: OPT-1 Quick Wins + Entwicklungsplan V6.0 2026-07-06 09:54:24 +00:00
IngredientActiveRecipeFilterTest.php Warenwirtschaft: AP-21 INCI-Erweiterungen 2026-07-06 11:36:28 +00:00
IngredientDensityTest.php Warenwirtschaft: N-06 — Dichte-Snapshot der ml-Bestellung gilt auch im Bearbeiten 2026-09-08 11:48:02 +00:00
IngredientOrderFieldsTest.php Warenwirtschaft: AP-50 — Lagerort löschbar (Buchungen übernehmen) + Köln als Default 2026-08-28 09:17:28 +00:00
IngredientSupplierFilterTest.php Warenwirtschaft: AP-49 — INCI-Lieferanten-Dropdown nur Rohstoff-Lieferanten 2026-08-28 09:13:42 +00:00
InventoryDeletionTest.php Warenwirtschaft: AP-50 — Lagerort löschbar (Buchungen übernehmen) + Köln als Default 2026-08-28 09:17:28 +00:00
InventoryNoticesTest.php Warenwirtschaft: Menüpunkt „Leitfaden" (Einstellungen) rendert testleitfaden.md 2026-07-07 10:14:42 +00:00
InventoryPhase2Test.php 13-05-2026 Waren Wirtschaft 2026-05-13 18:09:20 +02:00
InventoryPhase3Test.php 13-05-2026 Waren Wirtschaft 2026-05-13 18:09:20 +02:00
InventoryUrlFieldsTest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
LocationDeletionTest.php Warenwirtschaft: AP-50 — Lagerort löschbar (Buchungen übernehmen) + Köln als Default 2026-08-28 09:17:28 +00:00
LogisticMailTest.php Warenwirtschaft: Logistik-Mail regeneriert auch fehlende Rechnungs-PDF 2026-07-16 13:19:12 +00:00
OrderFulfillmentTest.php Warenwirtschaft: F-16 — fachliche Vorbedingungen innerhalb der Sperre prüfen 2026-09-08 11:09:53 +00:00
ProductFillWeightTest.php Warenwirtschaft: AP-47 — Häkchen „In der Produktion anzeigen" in die Karte Warenwirtschaft verschoben und ausformuliert 2026-09-09 15:07:36 +00:00
ProductionDraftTest.php Warenwirtschaft: AP-52 — Verpackungsvorschau mit Bestand, Differenz und Lagerort (Kundennachtrag 09.09.2026) 2026-09-09 08:48:30 +00:00
ProductionHardeningTest.php Warenwirtschaft: N-1 — Chargen-Gruppierung je Lieferant (Kundenentscheid 15.07.2026) 2026-07-15 13:25:35 +00:00
ProductionManufacturerRecipeTest.php Warenwirtschaft: AP-28 Neue Produktions-Maske + Produktionsergebnis 2026-07-06 14:02:54 +00:00
ProductionOutputTest.php Warenwirtschaft: AP-28 Neue Produktions-Maske + Produktionsergebnis 2026-07-06 14:02:54 +00:00
ProductionPhase5Test.php Warenwirtschaft: AP-09 bis AP-13 (Produktbestand, Set-Produkte, Ausschuss, Konzepte) 2026-06-03 11:04:22 +00:00
ProductionScalingTest.php Warenwirtschaft: N-01/N-03/N-05 — Entwurfsmenge ohne Charge, Snapshot-Signatur je Produkt, Alt-Ausschuss in Chargenverfügbarkeit 2026-09-08 11:48:02 +00:00
ProductOutOfStockTest.php Warenwirtschaft: Anforderungsrunde 12.06. — Plan V5.0 + AP-26/AP-25/AP-22 2026-06-12 16:28:45 +00:00
ProductPhase0Test.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
ProductPhase1Test.php April 2026 waren Wirtschaft Feedback 2026-04-10 17:14:38 +02:00
ProductPhase4Test.php 13-05-2026 Waren Wirtschaft 2026-05-13 18:09:20 +02:00
ProductPhase51Test.php Warenwirtschaft: OPT-9 AuthZ/CSRF-Härtung (Audit M-2, M-3, M-6, M-7, M-10) 2026-07-15 12:55:11 +00:00
ProductSetTest.php Warenwirtschaft: OPT-9 AuthZ/CSRF-Härtung (Audit M-2, M-3, M-6, M-7, M-10) 2026-07-15 12:55:11 +00:00
ProductStockTest.php Warenwirtschaft: F-13 — Produkthistorie zeigt Kappung mit Gesamtzahl und „Alle anzeigen“ 2026-09-08 11:07:22 +00:00
ProductWpNumberTest.php Warenwirtschaft: WP-Nummer aus Artikelnummer ableiten, wenn leer 2026-07-21 09:17:53 +00:00
QuantityPrecisionTest.php Warenwirtschaft: AP-53 — Nacharbeit zur Prüfung 10.09.2026 (Toleranzregel zentral, Sockelrand, Chargenzeile, Ausschuss-Meldung, Auflösung/Obergrenze) 2026-09-10 07:25:11 +00:00
RawMaterialStockTest.php Warenwirtschaft: F-14 — „Enthalten in“ mit Anteil (%) und Verbrauch je Stück 2026-09-08 11:07:22 +00:00
RecipePhaseTest.php Warenwirtschaft: AP-36 — Rezeptur-Textphasen ohne Rohstoffe anzeigen 2026-08-27 13:59:51 +00:00
RecipeRobustnessTest.php Warenwirtschaft: OPT-8 Rezeptur-Robustheit (Audit H-4, H-5, M-8, N-11/12/14) 2026-07-15 12:48:55 +00:00
SalesShippedStatusTest.php Warenwirtschaft: AP-38 — ERP-/Connector-Status-Mapping vervollständigt 2026-08-28 11:01:25 +00:00
SaleStockDeductionTest.php Warenwirtschaft: Review-Fix — Mahnwesen-Storno über OrderStatusService::setShipped 2026-07-20 09:47:20 +00:00
StockDisposalTest.php Warenwirtschaft: F-17 — Köln-Default zentral (Location::defaultId), auch beim Ausschuss, nur aktive Standorte 2026-09-08 11:09:53 +00:00
StockEntryChargeMergeTest.php Warenwirtschaft: N-1 — Chargen-Gruppierung je Lieferant (Kundenentscheid 15.07.2026) 2026-07-15 13:25:35 +00:00
StockEntryPriceTest.php Warenwirtschaft: OPT-9 AuthZ/CSRF-Härtung (Audit M-2, M-3, M-6, M-7, M-10) 2026-07-15 12:55:11 +00:00
StockMovementReasonTest.php Warenwirtschaft: AP-48 — Produktbestand-Buchungsgründe pflegbar, getrennt Ein/Aus 2026-08-28 09:22:32 +00:00
StorageAssignmentTest.php Warenwirtschaft: AP-51 — Lagerplatz-Felder für Produkte & Verpackung 2026-08-28 09:46:40 +00:00
StorageSettingsTest.php Warenwirtschaft: AP-31 Löschen mit Soft-Delete + Abhängigkeitsprüfung 2026-07-15 12:31:11 +00:00
SupplierDetailsTest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
SupplierOrderFieldsTest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
TaxRateSettingsTest.php Warenwirtschaft: AP-00 bis AP-08 + aktualisierter Entwicklungsplan 2026-06-02 16:30:42 +00:00
WpLabelTransferTest.php Warenwirtschaft: Review-Fix — AP-32-Label als Base64 übertragen (Connector 1.5.0) 2026-07-20 10:06:39 +00:00