/** * @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 1775406055428 wird korrekt geladen", async () => { snapshotFile = "snapshot_video0_1775406055428_two_cam.csv"; var result = await calculate(); expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot"); //console.log("Berechnungsergebnis:", result.features["forearm.angleZ"].valueDeg); const r = result.features["forearm.angleZ"].valueDeg expect(r).toBeCloseTo(131.3436, 1); }); });