diff --git a/src/test/saveStateHandler.test.ts b/src/test/saveStateHandler.test.ts index d02977cc..e37ae25e 100644 --- a/src/test/saveStateHandler.test.ts +++ b/src/test/saveStateHandler.test.ts @@ -2,14 +2,14 @@ import { Node } from "../node"; import SaveStateHandler from "../saveStateHandler"; const createSaveStateHandler = ({ + addToSelection = jest.fn(), getNodeById = jest.fn(), getSelectedNodes = jest.fn(), openNode = jest.fn(), + refreshElements = jest.fn(), removeFromSelection = jest.fn(), }) => { - const addToSelection = jest.fn(); const getTree = jest.fn(); - const refreshElements = jest.fn(); return new SaveStateHandler({ addToSelection, @@ -72,9 +72,8 @@ describe("setInitialStateOnDemand", () => { expect(openNode).not.toHaveBeenCalled(); }); - it("opens a node when it's in open_nodes in the state", () => { + it("opens a node when the node id is in open_nodes in the state", () => { const node = new Node({ id: 123 }); - const openNode = jest.fn(); const getNodeById = jest.fn((nodeId) => { if (nodeId === 123) { return node; @@ -82,6 +81,7 @@ describe("setInitialStateOnDemand", () => { return null; } }); + const openNode = jest.fn(); const saveStateHandler = createSaveStateHandler({ getNodeById, @@ -94,4 +94,31 @@ describe("setInitialStateOnDemand", () => { expect(openNode).toHaveBeenCalledWith(node, false); }); + + it("selects a node and redraws the tree when the node is id in selected_node in the state", () => { + const node = new Node({ id: 123 }); + const getNodeById = jest.fn((nodeId) => { + if (nodeId === 123) { + return node; + } else { + return null; + } + }); + const addToSelection = jest.fn(); + const refreshElements = jest.fn(); + + const saveStateHandler = createSaveStateHandler({ + addToSelection, + getNodeById, + refreshElements, + }); + + saveStateHandler.setInitialStateOnDemand( + { open_nodes: [123], selected_node: [123] }, + jest.fn(), + ); + + expect(addToSelection).toHaveBeenCalledWith(node); + expect(refreshElements).toHaveBeenCalledWith(null); + }); });