99 lines
3.0 KiB
JavaScript
Executable File
99 lines
3.0 KiB
JavaScript
Executable File
/**
|
|
* @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 = `
|
|
<textarea id="analysis-log"></textarea>
|
|
`;
|
|
|
|
// 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";
|
|
|
|
var result = await calculate();
|
|
|
|
expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot");
|
|
|
|
// Problem: (zMotor = -137.28° = -2.3960 rad) aus roll_deg von ID = 226
|
|
//console.log("Berechnungsergebnis:", result.features["forearm.angleZ"].valueDeg);
|
|
});
|
|
|
|
|
|
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/);
|
|
});
|
|
|
|
|
|
|
|
test("Snapshot 1775053356508 wird korrekt geladen. Hatte in der Vergangenheit Fehler", async () => {
|
|
|
|
snapshotFile = "snapshot_video0_1775053356508_two_cam.csv";
|
|
|
|
await calculate();
|
|
|
|
expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot");
|
|
|
|
//expect(logValue).toMatch(/Starte Berechnung/);
|
|
//expect(logValue).toMatch(/CSV-Daten geladen/);
|
|
});
|
|
|
|
test("Snapshot video0_1775055007798 wird korrekt geladen. Hatte in der Vergangenheit Fehler", async () => {
|
|
|
|
snapshotFile = "snapshot_video0_1775055007798_two_cam.csv";
|
|
|
|
var result =await calculate();
|
|
|
|
expect(global.fetch).toHaveBeenCalledWith("/api/latest-snapshot");
|
|
|
|
var valueDeg = result.features["forearm.angleZ"].valueDeg
|
|
|
|
// expect(valueDeg).toBeCloseTo(7.4595, 1); // Erwartet ca. -137.28° mit 1 Dezimalstelle Genauigkeit
|
|
|
|
//expect(logValue).toMatch(/Starte Berechnung/);
|
|
//expect(logValue).toMatch(/CSV-Daten geladen/);
|
|
});
|
|
|
|
|
|
}); |