chore: fixed some tests

This commit is contained in:
Pim Hutting
2026-01-17 16:04:47 +01:00
parent 45ef5a353c
commit ab383d77c4
5 changed files with 41 additions and 44 deletions

View File

@@ -5,7 +5,7 @@ import { GestureControls, SpeechPresets, DirectSpeechInput, StatusList, RobotCon
import { nextPhase, useExperimentLogger, useStatusLogger, pauseExperiment, playExperiment, type ExperimentStreamData, type GoalUpdate, type TriggerUpdate, type CondNormsStateUpdate, type PhaseUpdate } from ".//MonitoringPageAPI.ts"
import { graphReducer, runProgramm } from '../VisProgPage/VisProg.tsx';
import type { NormNodeData, NormNode } from '../VisProgPage/visualProgrammingUI/nodes/NormNode.tsx';
import type { NormNodeData} from '../VisProgPage/visualProgrammingUI/nodes/NormNode.tsx';
import type { GoalNode } from '../VisProgPage/visualProgrammingUI/nodes/GoalNode.tsx';
import type { TriggerNode } from '../VisProgPage/visualProgrammingUI/nodes/TriggerNode.tsx';

View File

@@ -1,5 +1,4 @@
import React, { useEffect } from 'react';
import { data } from 'react-router';
const API_BASE = "http://localhost:8000";
const API_BASE_BP = API_BASE + "/button_pressed"; //UserInterruptAgent endpoint

View File

@@ -10,7 +10,6 @@ import {allowOnlyConnectionsFromHandle} from "../HandleRules.ts";
import useFlowStore from '../VisProgStores.tsx';
import { TextField } from '../../../../components/TextField.tsx';
import { MultilineTextField } from '../../../../components/MultilineTextField.tsx';
import {noMatchingLeftRightBelief} from "./BeliefGlobals.ts";
/**
* The default data structure for a BasicBelief node

View File

@@ -14,7 +14,7 @@ import { BasicBeliefNodeDefaults } from '../../../../../src/pages/VisProgPage/vi
import { defaultPlan } from '../../../../../src/pages/VisProgPage/visualProgrammingUI/components/Plan.default.ts';
import { NormNodeDefaults } from '../../../../../src/pages/VisProgPage/visualProgrammingUI/nodes/NormNode.default.ts';
import { GoalNodeDefaults } from '../../../../../src/pages/VisProgPage/visualProgrammingUI/nodes/GoalNode.default.ts';
import { act } from 'react-dom/test-utils';
import { act } from '@testing-library/react';
describe('TriggerNode', () => {
@@ -137,48 +137,47 @@ describe('TriggerNode', () => {
});
});
//doesnt work anymore, but I have no idea how to fix it
// describe('TriggerConnects Function', () => {
// it('should correctly remove a goal from the triggers plan after it has been disconnected', () => {
// // first, define the goal node and trigger node.
// const goal: Node = {
// id: 'g-1',
// type: 'goal',
// position: { x: 0, y: 0 },
// data: { ...JSON.parse(JSON.stringify(GoalNodeDefaults)), name: 'Goal 1' },
// };
describe('TriggerConnects Function', () => {
it('should correctly remove a goal from the triggers plan after it has been disconnected', () => {
// first, define the goal node and trigger node.
const goal: Node = {
id: 'g-1',
type: 'goal',
position: { x: 0, y: 0 },
data: { ...JSON.parse(JSON.stringify(GoalNodeDefaults)), name: 'Goal 1' },
};
// const trigger: Node<TriggerNodeData> = {
// id: 'trigger-1',
// type: 'trigger',
// position: { x: 0, y: 0 },
// data: { ...JSON.parse(JSON.stringify(TriggerNodeDefaults)) },
// };
const trigger: Node<TriggerNodeData> = {
id: 'trigger-1',
type: 'trigger',
position: { x: 0, y: 0 },
data: { ...JSON.parse(JSON.stringify(TriggerNodeDefaults)) },
};
// // set initial store
// useFlowStore.setState({ nodes: [goal, trigger], edges: [] });
// set initial store
useFlowStore.setState({ nodes: [goal, trigger], edges: [] });
// // then, connect the goal to the trigger.
// act(() => {
// useFlowStore.getState().onConnect({ source: 'g-1', target: 'trigger-1', sourceHandle: null, targetHandle: null });
// });
// // expect the goal id to be part of a goal step of the plan.
// let updatedTrigger = useFlowStore.getState().nodes.find((n) => n.id === 'trigger-1');
// expect(updatedTrigger?.data.plan).toBeDefined();
// const plan = updatedTrigger?.data.plan as any;
// expect(plan.steps.find((s: any) => s.id === 'g-1')).toBeDefined();
// then, connect the goal to the trigger.
act(() => {
useFlowStore.getState().onConnect({ source: 'g-1', target: 'trigger-1', sourceHandle: null, targetHandle: null });
});
// // then, disconnect the goal from the trigger.
// act(() => {
// useFlowStore.getState().onEdgesDelete([{ id: 'g-1-trigger-1', source: 'g-1', target: 'trigger-1' } as any]);
// });
// expect the goal id to be part of a goal step of the plan.
let updatedTrigger = useFlowStore.getState().nodes.find((n) => n.id === 'trigger-1');
expect(updatedTrigger?.data.plan).toBeDefined();
const plan = updatedTrigger?.data.plan as any;
expect(plan.steps.find((s: any) => s.id === 'g-1')).toBeDefined();
// then, disconnect the goal from the trigger.
act(() => {
useFlowStore.getState().onEdgesDelete([{ id: 'g-1-trigger-1', source: 'g-1', target: 'trigger-1' } as any]);
});
// finally, expect the goal id to NOT be part of the goal step of the plan.
updatedTrigger = useFlowStore.getState().nodes.find((n) => n.id === 'trigger-1');
const planAfter = updatedTrigger?.data.plan as any;
const stillHas = planAfter?.steps?.find((s: any) => s.id === 'g-1');
expect(stillHas).toBeUndefined();
});
});
});
// // finally, expect the goal id to NOT be part of the goal step of the plan.
// updatedTrigger = useFlowStore.getState().nodes.find((n) => n.id === 'trigger-1');
// const planAfter = updatedTrigger?.data.plan as any;
// const stillHas = planAfter?.steps?.find((s: any) => s.id === 'g-1');
// expect(stillHas).toBeUndefined();
// });
// });
});