From 318f452df4d0454cef829e69c3f05487093a2db2 Mon Sep 17 00:00:00 2001 From: Elora-V <elora95.vigo@gmail.com> Date: Mon, 7 Oct 2024 09:40:45 +0200 Subject: [PATCH] main chain with one node not added as cluster --- src/composables/SubgraphForViz.ts | 11 ++++--- .../__tests__/SubgraphForViz.test.ts | 32 +++++++++++++++++++ 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/src/composables/SubgraphForViz.ts b/src/composables/SubgraphForViz.ts index d63934b..af443dd 100644 --- a/src/composables/SubgraphForViz.ts +++ b/src/composables/SubgraphForViz.ts @@ -66,12 +66,13 @@ export function addMainChainForViz(vizGraph: Graph, nameMainChain: string, subgr }); } - - // push cluster for viz - if (!vizGraph.subgraphs) { - vizGraph.subgraphs = []; + if (clusterViz.nodes && clusterViz.nodes.length>1){ // add subgraph if more than one node + // push cluster for viz + if (!vizGraph.subgraphs) { + vizGraph.subgraphs = []; + } + vizGraph.subgraphs.push(clusterViz); } - vizGraph.subgraphs.push(clusterViz); return vizGraph; } diff --git a/src/composables/__tests__/SubgraphForViz.test.ts b/src/composables/__tests__/SubgraphForViz.test.ts index ffcb9fe..78de3ad 100644 --- a/src/composables/__tests__/SubgraphForViz.test.ts +++ b/src/composables/__tests__/SubgraphForViz.test.ts @@ -91,6 +91,38 @@ describe('SubgraphForViz', () => { expect(result).toThrow(); }); + it("don't add cluster because one node", () => { + // DATA + mainChain.nodes = ["node2"]; + + const vizGraph:Graph = {}; + + // TEST + const result = SubgraphForViz.addMainChainForViz(vizGraph, "mainChain", subgraphNetworkWithSubgraphs, false); + + // EXPECT + expect(result).toEqual({}); + + }); + + it("don't add cluster because one node (cycle metanode)", () => { + // DATA + // all node of main chain also in cycle group + if (!nodes.node2.metadataLayout) nodes.node2.metadataLayout = {}; + nodes.node2.metadataLayout[TypeSubgraph.CYCLEGROUP]="cycleGroup"; + if (!nodes.node3.metadataLayout) nodes.node3.metadataLayout = {}; + nodes.node3.metadataLayout[TypeSubgraph.CYCLEGROUP]="cycleGroup"; + + const vizGraph:Graph = {}; + + // TEST + const result = SubgraphForViz.addMainChainForViz(vizGraph, "mainChain", subgraphNetworkWithSubgraphs, true); + + // EXPECT + expect(result).toEqual({}); + + }); + it('add cluster, with cycle', () => { // DATA const vizGraph:Graph = {}; -- GitLab