fix(inventory): sluta gissa utgangsdatum + las 2-siffriga bast-fore-stamplar
CI / Typecheck, test & build (push) Failing after 46s
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:
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user