/** * @jest-environment jsdom */ const fs = require("fs"); const path = require("path"); describe("calculate() Snapshot Tests", () => { let calculate; let snapshotFile; beforeEach(() => { // Standard: irgendeine Datei setzen, falls Test nichts setzt snapshotFile = "snapshot_default.csv"; // DOM erzeugen document.body.innerHTML = ` `; // Fetch dynamisch mocken global.fetch = jest.fn(async () => { const csvPath = path.join(__dirname, "snapshots", snapshotFile); const csvContent = fs.readFileSync(csvPath, "utf8"); return { ok: true, headers: { get: () => "text/csv" }, text: async () => csvContent }; }); // Modul erst JETZT laden (DOM existiert) ({ calculate } = require("../public/calculateActions.js")); }); // ✅ Beispiel 1: Die Datei aus deiner Frage test("Snapshot 1774805028717 wird korrekt geladen", async () => { snapshotFile = "snapshot_video0_1774805028717_two_cam.csv"; await calculate(); expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot"); const logValue = document.getElementById("analysis-log").value; expect(logValue).toMatch(/Starte Berechnung/); expect(logValue).toMatch(/CSV-Daten geladen/); }); test("Snapshot 1774805028717 wird korrekt geladen", async () => { snapshotFile = "snapshot_video0_1774805686335_two_cam.csv"; await calculate(); expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot"); const logValue = document.getElementById("analysis-log").value; console.log("Log Value:", logValue); //expect(logValue).toMatch(/Starte Berechnung/); //expect(logValue).toMatch(/CSV-Daten geladen/); }); });