From e5b438c17ef60263731ce2a745a24218007f6685 Mon Sep 17 00:00:00 2001 From: JGerla Date: Thu, 22 Jan 2026 14:21:03 +0100 Subject: [PATCH] fix: fixed tests ref: N25B-450 --- .../visualProgrammingUI/VisProgStores.tsx | 25 +++++++++++-------- .../visualProgrammingUI/VisProgTypes.tsx | 2 +- .../VisProgStores.test.tsx | 6 ++--- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/pages/VisProgPage/visualProgrammingUI/VisProgStores.tsx b/src/pages/VisProgPage/visualProgrammingUI/VisProgStores.tsx index c59fd3c..cc60921 100644 --- a/src/pages/VisProgPage/visualProgrammingUI/VisProgStores.tsx +++ b/src/pages/VisProgPage/visualProgrammingUI/VisProgStores.tsx @@ -196,17 +196,20 @@ const useFlowStore = create(UndoRedo((set, get) => ({ // If there's no function, OR, our function tells us we can delete it, let's do so... if (ourFunction == undefined || ourFunction()) { - deleteElements({ - nodes: get().nodes.filter((n) => n.id === nodeId), - edges: get().edges.filter((e) => e.source !== nodeId && e.target === nodeId)} - ).then(() => { - get().unregisterNodeRules(nodeId); - get().unregisterWarningsForId(nodeId); - }); - // set({ - // nodes: get().nodes.filter((n) => n.id !== nodeId), - // edges: get().edges.filter((e) => e.source !== nodeId && e.target !== nodeId), - // }) + if (deleteElements){ + deleteElements({ + nodes: get().nodes.filter((n) => n.id === nodeId), + edges: get().edges.filter((e) => e.source !== nodeId && e.target === nodeId)} + ).then(() => { + get().unregisterNodeRules(nodeId); + get().unregisterWarningsForId(nodeId); + }); + } else { + set({ + nodes: get().nodes.filter((n) => n.id !== nodeId), + edges: get().edges.filter((e) => e.source !== nodeId && e.target !== nodeId), + }) + } } }, diff --git a/src/pages/VisProgPage/visualProgrammingUI/VisProgTypes.tsx b/src/pages/VisProgPage/visualProgrammingUI/VisProgTypes.tsx index f65440b..a34a3e7 100644 --- a/src/pages/VisProgPage/visualProgrammingUI/VisProgTypes.tsx +++ b/src/pages/VisProgPage/visualProgrammingUI/VisProgTypes.tsx @@ -69,7 +69,7 @@ export type FlowState = { * Deletes a node and any connected edges. * @param nodeId - the ID of the node to delete */ - deleteNode: (nodeId: string, deleteElements: (params: DeleteElementsOptions) => Promise<{ + deleteNode: (nodeId: string, deleteElements?: (params: DeleteElementsOptions) => Promise<{ deletedNodes: Node[] deletedEdges: Edge[] }>) => void; diff --git a/test/pages/visProgPage/visualProgrammingUI/VisProgStores.test.tsx b/test/pages/visProgPage/visualProgrammingUI/VisProgStores.test.tsx index 885916c..d53d1bc 100644 --- a/test/pages/visProgPage/visualProgrammingUI/VisProgStores.test.tsx +++ b/test/pages/visProgPage/visualProgrammingUI/VisProgStores.test.tsx @@ -3,7 +3,6 @@ import { type Connection, type Edge, type Node, - useReactFlow } from "@xyflow/react"; import type {HandleRule, RuleResult} from "../../../../src/pages/VisProgPage/visualProgrammingUI/HandleRuleLogic.ts"; import { NodeDisconnections } from "../../../../src/pages/VisProgPage/visualProgrammingUI/NodeRegistry.ts"; @@ -402,9 +401,10 @@ describe('FlowStore Functionality', () => { target: 'B' }] }); - const {deleteElements} = useReactFlow(); + + act(()=> { - deleteNode(nodeId, deleteElements); + deleteNode(nodeId); }); const updatedState = useFlowStore.getState();