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
+12 -1
View File
@@ -1,5 +1,5 @@
import { describe, it, expect } from "vitest";
import { GeminiAamosClient, MemoryBudgetStore } from "../src/gemini.js";
import { GeminiAamosClient, MemoryBudgetStore, parseDate } from "../src/gemini.js";
import type { AamosRequestEnvelope } from "../src/tasks.js";
const FIXTURE_RESPONSE = {
@@ -159,3 +159,14 @@ describe("GeminiAamosClient", () => {
expect(result.error).toContain("Kontraktsfel");
});
});
describe("parseDate (svenska bäst-före-stämplar)", () => {
it("läser 2-siffrigt år och kompakta format", () => {
expect(parseDate("25-08-30")).toBe("2025-08-30"); // YY-MM-DD
expect(parseDate("250830")).toBe("2025-08-30"); // YYMMDD
expect(parseDate("20250830")).toBe("2025-08-30"); // YYYYMMDD
expect(parseDate("2025-08-30")).toBe("2025-08-30"); // ISO
expect(parseDate("30-08-2025")).toBe("2025-08-30"); // DD-MM-YYYY
expect(parseDate("skräp")).toBeNull();
});
});