fix(inventory): sluta gissa utgangsdatum + las 2-siffriga bast-fore-stamplar
CI / Typecheck, test & build (push) Failing after 46s

BUG: forseglad vara utan tryckt datum fick fabricerat utgang (purchasedAt + shelfLifeGuidance, som ar hallbarhet EFTER oppning) -> falska 'gar ut snart'-varningar OCH gav sken av att datum inte lastes. Nu: ingen data -> unknown (hedrar appens egen princip 'aldrig gissa'). parseDate laser aven YY-MM-DD/YYMMDD/YYYYMMDD (svenska stamplar) som forr slangdes. Regressionstester tillagda. 36/36 gront.
This commit is contained in:
Claude
2026-08-17 19:22:54 +00:00
parent 3ed12b274d
commit e66d9aee72
4 changed files with 49 additions and 12 deletions
@@ -54,6 +54,16 @@ describe("bäst före-klassning (spec §13)", () => {
it("ingen data → unknown, aldrig gissning", () => {
expect(classifyExpiry({}, TODAY).status).toBe("unknown");
});
it("förseglad vara: inköpsdatum + riktvärde men INGET tryckt datum → unknown", () => {
// Regressionsvakt: gamla purchased_guidance-grenen gissade utgång från inköp
// på oöppnade varor → falska "går ut snart"-varningar (Bug B).
const result = classifyExpiry(
{ purchasedAt: "2026-08-01", storageLocationType: "fridge", shelfLifeGuidance: { fridge: 7 } },
TODAY,
);
expect(result.status).toBe("unknown");
expect(result.limitingFactor).toBe("none");
});
it("mjölkprincipen: gick ut igår → använd sinnena, inte soptunnan", () => {
// Bäst före är en KVALITETSgräns: mjölken som gick ut igår är inte
// automatiskt dålig användaren ska lukta/smaka. Appen får aldrig