calendario delle consegne (griglia del mese + ordini del giorno) e fedelta' dei dati: gli ordini conservano nota del cliente e origine, la consegna scala le uova dal magazzino come nell'originale
This commit is contained in:
@@ -120,5 +120,24 @@ check("formatDay su stringa vuota", HF.formatDay(""), "");
|
||||
check("nowIso in formato ISO", /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.000$/.test(HF.nowIso()), true);
|
||||
check("newId unico", HF.newId() !== HF.newId(), true);
|
||||
|
||||
// --- fedelta' dei campi degli ordini (app Android) ------------------------
|
||||
var withNote = { id: "n1", customerName: "Anna", breedId: "marans", eggsRequested: 2,
|
||||
createdAt: "2026-04-25T09:00:00.000", deliveryDate: "2026-04-28T00:00:00.000",
|
||||
isDelivered: false, source: "client", clientNote: "guscio chiaro" };
|
||||
var kept = HF.refreshDeliveryDates([withNote], {}, BREEDS, CATALOG, TODAY);
|
||||
check("nota del cliente conservata nel ricalcolo delle date", kept[0].clientNote, "guscio chiaro");
|
||||
check("origine dell'ordine conservata", kept[0].source, "client");
|
||||
|
||||
// --- consegna: le uova escono dal magazzino -------------------------------
|
||||
var stock0 = { "marans": 10, "araucana": 3 };
|
||||
var afterDelivery = HF.applyDelivery(stock0, { breedId: "marans", eggsRequested: 4 }, true);
|
||||
check("consegna: uova scalate dal magazzino della razza", afterDelivery.marans, 6);
|
||||
check("consegna: le altre razze non si toccano", afterDelivery.araucana, 3);
|
||||
check("consegna: magazzino di partenza non modificato", stock0.marans, 10);
|
||||
check("consegna annullata: uova rimesse nel magazzino",
|
||||
HF.applyDelivery(afterDelivery, { breedId: "marans", eggsRequested: 4 }, false).marans, 10);
|
||||
check("consegna su razza senza scorte: il magazzino va sotto zero",
|
||||
HF.applyDelivery({}, { breedId: "olive", eggsRequested: 3 }, true).olive, -3);
|
||||
|
||||
console.log(failures === 0 ? "\ntutti i controlli superati" : "\n" + failures + " controlli falliti");
|
||||
process.exit(failures === 0 ? 0 : 1);
|
||||
|
||||
Reference in New Issue
Block a user