Files
appRobotHoming/test/calculateAngles2.test.js
chk 3fa1f76413 Test mit Jest
Das AI generierte mocking ignorieren, und sauber, wie davor.
2026-05-12 20:40:21 +02:00

51 lines
1.6 KiB
JavaScript

/**
* @jest-environment jsdom
*/
const fs = require("fs");
const path = require("path");
describe("calculate() row223 Ellbow-Rotation Tests", () => {
let calculate;
let optimizeRobot;
beforeEach(() => {
// DOM erzeugen
document.body.innerHTML = `<textarea id="analysis-log"></textarea>`;
// Fetch mocken - wird pro Test konfiguriert
global.fetch = jest.fn();
// Modul erst JETZT laden (DOM existiert)
({ calculate, optimizeRobot} = require("../public/calculateAngles.js"));
});
test('berechnet y-Durchschnitt für Base / Arm1 / Joint1', async () => {
const markersPath = path.resolve('./test/snapshots/snapshot_video0_1778407171886_two_cam.json');
const robotPath = path.resolve('./public/robot.json');
const foundMarkers = JSON.parse(fs.readFileSync(markersPath, 'utf8'));
const jsonRobot = JSON.parse(fs.readFileSync(robotPath, 'utf8'));
const result = await calculate(foundMarkers, jsonRobot);
expect(result.status).toBe('ok');
expect(result.result).toBeDefined();
});
test('berechnet X-Durchschnitt für Base / Arm1 / Joint1', async () => {
const markersPath = path.resolve('./test/snapshots/snapshot_video0_1775406055428_two_cam.json');
const robotPath = path.resolve('./public/robot.json');
const foundMarkers = JSON.parse(fs.readFileSync(markersPath, 'utf8'));
const jsonRobot = JSON.parse(fs.readFileSync(robotPath, 'utf8'));
const result = await calculate(foundMarkers, jsonRobot);
expect(result.status).toBe('ok');
expect(result.result).toBeDefined();
});
});