UNPKG

schyma

Version:

JSON Schemas Visualizer React component

44 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const reactflow_1 = require("reactflow"); const dagreLayout_1 = require("../dagreLayout"); const createNode = (id) => ({ id, data: { label: id }, position: { x: 0, y: 0 }, }); const createEdge = (id, source, target) => ({ id, source, target, }); describe('getLayoutedElements', () => { it('applies horizontal layout and sets node handle positions', () => { const nodes = [createNode('A'), createNode('B')]; const edges = [createEdge('A-B', 'A', 'B')]; const result = (0, dagreLayout_1.getLayoutedElements)(nodes, edges); expect(result.nodes).toHaveLength(2); expect(result.edges).toEqual(edges); const nodeA = result.nodes.find((node) => node.id === 'A'); const nodeB = result.nodes.find((node) => node.id === 'B'); expect(nodeA).toBeDefined(); expect(nodeB).toBeDefined(); expect(nodeA === null || nodeA === void 0 ? void 0 : nodeA.sourcePosition).toBe(reactflow_1.Position.Right); expect(nodeA === null || nodeA === void 0 ? void 0 : nodeA.targetPosition).toBe(reactflow_1.Position.Left); expect(nodeB === null || nodeB === void 0 ? void 0 : nodeB.sourcePosition).toBe(reactflow_1.Position.Right); expect(nodeB === null || nodeB === void 0 ? void 0 : nodeB.targetPosition).toBe(reactflow_1.Position.Left); expect(nodeB.position.x).toBeGreaterThan(nodeA.position.x); expect(Number.isFinite(nodeA.position.x)).toBe(true); expect(Number.isFinite(nodeA.position.y)).toBe(true); expect(Number.isFinite(nodeB.position.x)).toBe(true); expect(Number.isFinite(nodeB.position.y)).toBe(true); }); it('mutates and returns the same node and edge arrays', () => { const nodes = [createNode('A'), createNode('B')]; const edges = [createEdge('A-B', 'A', 'B')]; const result = (0, dagreLayout_1.getLayoutedElements)(nodes, edges); expect(result.nodes).toBe(nodes); expect(result.edges).toBe(edges); }); }); //# sourceMappingURL=dagreLayout.test.js.map