mirror of
https://github.com/lana-k/sqliteviz.git
synced 2026-11-04 16:59:24 +08:00
test graphHelper
This commit is contained in:
+10
-17
@@ -182,13 +182,7 @@ export function reduceNodes(nodeId, nodeData, interactionState, settings) {
|
|||||||
|
|
||||||
if (res.highlighted || isInSelectedFamily || isInHoveredFamily) {
|
if (res.highlighted || isInSelectedFamily || isInHoveredFamily) {
|
||||||
res.forceLabel = true
|
res.forceLabel = true
|
||||||
}
|
} else if (!matchQuery) {
|
||||||
if (
|
|
||||||
!res.highlighted &&
|
|
||||||
!isInSelectedFamily &&
|
|
||||||
!isInHoveredFamily &&
|
|
||||||
!matchQuery
|
|
||||||
) {
|
|
||||||
res.color = getDiminishedColor(
|
res.color = getDiminishedColor(
|
||||||
nodeData.color,
|
nodeData.color,
|
||||||
settings.style.backgroundColor
|
settings.style.backgroundColor
|
||||||
@@ -228,23 +222,21 @@ export function reduceEdges(
|
|||||||
) {
|
) {
|
||||||
const extremities = graph.extremities(edgeId)
|
const extremities = graph.extremities(edgeId)
|
||||||
res.zIndex = 2
|
res.zIndex = 2
|
||||||
const isHighlighted =
|
const isHighlighted = hoveredEdgeId === edgeId || selectedEdgeId === edgeId
|
||||||
hoveredEdgeId === edgeId ||
|
|
||||||
selectedEdgeId === edgeId ||
|
let isVisible =
|
||||||
|
isHighlighted ||
|
||||||
(nodesMatchingSearchQuery &&
|
(nodesMatchingSearchQuery &&
|
||||||
extremities.every(nodeId => nodesMatchingSearchQuery.includes(nodeId)))
|
extremities.every(nodeId => nodesMatchingSearchQuery.includes(nodeId)))
|
||||||
|
|
||||||
let isVisible
|
if (settings.style.highlightMode === 'node_and_neighbors') {
|
||||||
if (settings.style.highlightMode === 'node_alone') {
|
|
||||||
isVisible = isHighlighted
|
|
||||||
} else if (settings.style.highlightMode === 'node_and_neighbors') {
|
|
||||||
isVisible =
|
isVisible =
|
||||||
isHighlighted ||
|
isVisible ||
|
||||||
(selectedNodeId && extremities.includes(selectedNodeId)) ||
|
(selectedNodeId && extremities.includes(selectedNodeId)) ||
|
||||||
(hoveredNodeId && extremities.includes(hoveredNodeId))
|
(hoveredNodeId && extremities.includes(hoveredNodeId))
|
||||||
} else {
|
} else if (settings.style.highlightMode === 'include_neighbor_edges') {
|
||||||
isVisible =
|
isVisible =
|
||||||
isHighlighted ||
|
isVisible ||
|
||||||
(selectedNodeId &&
|
(selectedNodeId &&
|
||||||
extremities.every(
|
extremities.every(
|
||||||
n => n === selectedNodeId || neighborsOfSelectedNode.has(n)
|
n => n === selectedNodeId || neighborsOfSelectedNode.has(n)
|
||||||
@@ -254,6 +246,7 @@ export function reduceEdges(
|
|||||||
n => n === hoveredNodeId || neighborsOfHoveredNode.has(n)
|
n => n === hoveredNodeId || neighborsOfHoveredNode.has(n)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isHighlighted) {
|
if (isHighlighted) {
|
||||||
res.size = res.size * 2
|
res.size = res.size * 2
|
||||||
res.forceLabel = true
|
res.forceLabel = true
|
||||||
|
|||||||
+161
-53
@@ -1246,7 +1246,9 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: new Set(['node-1.1']),
|
neighborsOfSelectedNode: new Set(['node-1.1']),
|
||||||
neighborsOfHoveredNode: new Set(['node-2.1']),
|
neighborsOfHoveredNode: new Set(['node-2.1']),
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: ['node-4', 'node-1', 'node-2', 'node-5'],
|
||||||
|
focusedFoundNodeId: 'node-5'
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -1270,6 +1272,17 @@ describe('graphHelper.js', () => {
|
|||||||
forceLabel: true
|
forceLabel: true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
expect(
|
||||||
|
graphHelper.reduceNodes('node-5', nodeData, interactionState, settings)
|
||||||
|
).to.eql({
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Node label',
|
||||||
|
labelColor: 'black',
|
||||||
|
zIndex: 2,
|
||||||
|
highlighted: true,
|
||||||
|
forceLabel: true
|
||||||
|
})
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceNodes('node-1.1', nodeData, interactionState, settings)
|
graphHelper.reduceNodes('node-1.1', nodeData, interactionState, settings)
|
||||||
).to.eql({
|
).to.eql({
|
||||||
@@ -1292,6 +1305,16 @@ describe('graphHelper.js', () => {
|
|||||||
forceLabel: true
|
forceLabel: true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
expect(
|
||||||
|
graphHelper.reduceNodes('node-4', nodeData, interactionState, settings)
|
||||||
|
).to.eql({
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Node label',
|
||||||
|
labelColor: 'blue',
|
||||||
|
zIndex: 2,
|
||||||
|
highlighted: false
|
||||||
|
})
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceNodes('node-3', nodeData, interactionState, settings)
|
graphHelper.reduceNodes('node-3', nodeData, interactionState, settings)
|
||||||
).to.eql({
|
).to.eql({
|
||||||
@@ -1310,7 +1333,9 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: new Set(['node-1.1']),
|
neighborsOfSelectedNode: new Set(['node-1.1']),
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: ['node-2', 'node-2.1']
|
hoveredEdgeExtremities: ['node-2', 'node-2.1'],
|
||||||
|
nodesMatchingSearchQuery: ['node-4', 'node-2'],
|
||||||
|
focusedFoundNodeId: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -1367,6 +1392,16 @@ describe('graphHelper.js', () => {
|
|||||||
highlighted: false
|
highlighted: false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
expect(
|
||||||
|
graphHelper.reduceNodes('node-4', nodeData, interactionState, settings)
|
||||||
|
).to.eql({
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Node label',
|
||||||
|
labelColor: 'blue',
|
||||||
|
zIndex: 2,
|
||||||
|
highlighted: false
|
||||||
|
})
|
||||||
|
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1375,7 +1410,9 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: ['node-1', 'node-1.1'],
|
selectedEdgeExtremities: ['node-1', 'node-1.1'],
|
||||||
hoveredEdgeExtremities: ['node-2', 'node-2.1']
|
hoveredEdgeExtremities: ['node-2', 'node-2.1'],
|
||||||
|
nodesMatchingSearchQuery: [],
|
||||||
|
focusedFoundNodeId: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -1437,7 +1474,9 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: new Set(['node-2.1']),
|
neighborsOfHoveredNode: new Set(['node-2.1']),
|
||||||
selectedEdgeExtremities: ['node-1', 'node-1.1'],
|
selectedEdgeExtremities: ['node-1', 'node-1.1'],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: ['node-4'],
|
||||||
|
focusedFoundNodeId: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -1491,6 +1530,16 @@ describe('graphHelper.js', () => {
|
|||||||
highlighted: false
|
highlighted: false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
expect(
|
||||||
|
graphHelper.reduceNodes('node-4', nodeData, interactionState, settings)
|
||||||
|
).to.eql({
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Node label',
|
||||||
|
labelColor: 'blue',
|
||||||
|
zIndex: 2,
|
||||||
|
highlighted: false
|
||||||
|
})
|
||||||
|
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1499,40 +1548,13 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: null,
|
||||||
|
focusedFoundNodeId: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceNodes('node-1', nodeData, interactionState, settings)
|
graphHelper.reduceNodes('node', nodeData, interactionState, settings)
|
||||||
).to.eql({
|
|
||||||
color: '#FF0000CC',
|
|
||||||
label: 'Node label',
|
|
||||||
labelColor: 'blue'
|
|
||||||
})
|
|
||||||
expect(
|
|
||||||
graphHelper.reduceNodes('node-2', nodeData, interactionState, settings)
|
|
||||||
).to.eql({
|
|
||||||
color: '#FF0000CC',
|
|
||||||
label: 'Node label',
|
|
||||||
labelColor: 'blue'
|
|
||||||
})
|
|
||||||
expect(
|
|
||||||
graphHelper.reduceNodes('node-1.1', nodeData, interactionState, settings)
|
|
||||||
).to.eql({
|
|
||||||
color: '#FF0000CC',
|
|
||||||
label: 'Node label',
|
|
||||||
labelColor: 'blue'
|
|
||||||
})
|
|
||||||
expect(
|
|
||||||
graphHelper.reduceNodes('node-2.1', nodeData, interactionState, settings)
|
|
||||||
).to.eql({
|
|
||||||
color: '#FF0000CC',
|
|
||||||
label: 'Node label',
|
|
||||||
labelColor: 'blue'
|
|
||||||
})
|
|
||||||
|
|
||||||
expect(
|
|
||||||
graphHelper.reduceNodes('node-3', nodeData, interactionState, settings)
|
|
||||||
).to.eql({
|
).to.eql({
|
||||||
color: '#FF0000CC',
|
color: '#FF0000CC',
|
||||||
label: 'Node label',
|
label: 'Node label',
|
||||||
@@ -1548,7 +1570,11 @@ describe('graphHelper.js', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const edgeData = { color: '#FF0000CC', label: 'Edge label', size: 3 }
|
const edgeData = {
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Edge label',
|
||||||
|
size: 3
|
||||||
|
}
|
||||||
const graph = new Graph()
|
const graph = new Graph()
|
||||||
graph.addNode('node-1.1')
|
graph.addNode('node-1.1')
|
||||||
graph.addNode('node-1.2')
|
graph.addNode('node-1.2')
|
||||||
@@ -1568,7 +1594,18 @@ describe('graphHelper.js', () => {
|
|||||||
size: 6,
|
size: 6,
|
||||||
forceLabel: true
|
forceLabel: true
|
||||||
}
|
}
|
||||||
|
const visibleEdgeStyle = {
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Edge label',
|
||||||
|
zIndex: 2,
|
||||||
|
size: 3
|
||||||
|
}
|
||||||
|
|
||||||
|
// No hovered or selected nodes,
|
||||||
|
// but hovered and selected edges
|
||||||
|
// Query matches some nodes connected by edge
|
||||||
|
// Expected: hovered and selected edges are highlighted,
|
||||||
|
// edge connected modes matching query is visible
|
||||||
let interactionState = {
|
let interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1577,7 +1614,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
||||||
hoveredEdgeExtremities: ['node-1.1', 'node-1.2']
|
hoveredEdgeExtremities: ['node-1.1', 'node-1.2'],
|
||||||
|
nodesMatchingSearchQuery: ['node-1.1', 'node-1.3', 'node-2.1', 'node-2.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1605,8 +1643,7 @@ describe('graphHelper.js', () => {
|
|||||||
settings,
|
settings,
|
||||||
graph
|
graph
|
||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(visibleEdgeStyle)
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
edge1213,
|
edge1213,
|
||||||
@@ -1617,6 +1654,11 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No hovered nodes,
|
||||||
|
// One node selected
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query matches some nodes but no edges connecting 2 nodes matching the query
|
||||||
|
// Expected: all edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: 'node-1.1',
|
selectedNodeId: 'node-1.1',
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1625,7 +1667,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: ['node-2.1', 'node-1.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1665,6 +1708,11 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No selected nodes,
|
||||||
|
// One node hovered
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query does not match any nodes
|
||||||
|
// Expected: all edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: 'node-1.1',
|
hoveredNodeId: 'node-1.1',
|
||||||
@@ -1673,7 +1721,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: []
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1713,6 +1762,10 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No hovered or selected nodes,
|
||||||
|
// No hovered or selected edges
|
||||||
|
// No query applied
|
||||||
|
// Expected: all edges are visible
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1721,7 +1774,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -1772,7 +1826,11 @@ describe('graphHelper.js', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const edgeData = { color: '#FF0000CC', label: 'Edge label', size: 3 }
|
const edgeData = {
|
||||||
|
color: '#FF0000CC',
|
||||||
|
label: 'Edge label',
|
||||||
|
size: 3
|
||||||
|
}
|
||||||
const graph = new Graph()
|
const graph = new Graph()
|
||||||
graph.addNode('node-1.1')
|
graph.addNode('node-1.1')
|
||||||
graph.addNode('node-1.2')
|
graph.addNode('node-1.2')
|
||||||
@@ -1799,6 +1857,11 @@ describe('graphHelper.js', () => {
|
|||||||
size: 3
|
size: 3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// No hovered or selected nodes,
|
||||||
|
// but hovered and selected edges
|
||||||
|
// Query matches some nodes connected by edge
|
||||||
|
// Expected: hovered and selected edges are highlighted,
|
||||||
|
// edge connected modes matching query is visible
|
||||||
let interactionState = {
|
let interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1807,7 +1870,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
||||||
hoveredEdgeExtremities: ['node-1.1', 'node-1.2']
|
hoveredEdgeExtremities: ['node-1.1', 'node-1.2'],
|
||||||
|
nodesMatchingSearchQuery: ['node-1.1', 'node-1.3', 'node-2.1', 'node-2.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1835,7 +1899,7 @@ describe('graphHelper.js', () => {
|
|||||||
settings,
|
settings,
|
||||||
graph
|
graph
|
||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(visibleEdgeStyle)
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1847,6 +1911,12 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No hovered nodes,
|
||||||
|
// One node selected
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query matches some nodes but no edges connecting 2 nodes matching the query
|
||||||
|
// Expected: edges connecting selected node with its neighbors are visible,
|
||||||
|
// all other edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: 'node-1.1',
|
selectedNodeId: 'node-1.1',
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1855,7 +1925,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: ['node-2.1', 'node-1.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1895,6 +1966,12 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No selected nodes,
|
||||||
|
// One node hovered
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query does not match any nodes
|
||||||
|
// Expected: edges connecting hovered node with its neighbors are visible,
|
||||||
|
// all other edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: 'node-1.1',
|
hoveredNodeId: 'node-1.1',
|
||||||
@@ -1903,7 +1980,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: []
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -1943,6 +2021,10 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No selected or hovered nodes,
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query is not applied
|
||||||
|
// Expected: all edges are visible
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -1951,7 +2033,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@@ -2029,6 +2112,11 @@ describe('graphHelper.js', () => {
|
|||||||
size: 3
|
size: 3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// No hovered or selected nodes,
|
||||||
|
// but hovered and selected edges
|
||||||
|
// Query matches some nodes connected by edge
|
||||||
|
// Expected: hovered and selected edges are highlighted,
|
||||||
|
// edge connected modes matching query is visible
|
||||||
let interactionState = {
|
let interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -2037,7 +2125,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
selectedEdgeExtremities: ['node-2.1', 'node-2.2'],
|
||||||
hoveredEdgeExtremities: ['node-1.1', 'node-1.2']
|
hoveredEdgeExtremities: ['node-1.1', 'node-1.2'],
|
||||||
|
nodesMatchingSearchQuery: ['node-1.1', 'node-1.3', 'node-2.1', 'node-2.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -2065,7 +2154,7 @@ describe('graphHelper.js', () => {
|
|||||||
settings,
|
settings,
|
||||||
graph
|
graph
|
||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(visibleEdgeStyle)
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -2077,6 +2166,12 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(hiddenEdgeStyle)
|
).to.eql(hiddenEdgeStyle)
|
||||||
|
|
||||||
|
// No hovered nodes,
|
||||||
|
// One node selected
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query matches some nodes but no edges connecting 2 nodes matching the query
|
||||||
|
// Expected: edges connecting selected node with its neighbors
|
||||||
|
// and between neighbours are visible, all other edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: 'node-1.1',
|
selectedNodeId: 'node-1.1',
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -2085,7 +2180,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfSelectedNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: ['node-2.1', 'node-1.2']
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -2125,6 +2221,12 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(visibleEdgeStyle)
|
).to.eql(visibleEdgeStyle)
|
||||||
|
|
||||||
|
// No selected nodes,
|
||||||
|
// One node hovered
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query does not match any nodes
|
||||||
|
// Expected: edges connecting hovered node with its neighbors
|
||||||
|
// and between beighbours are visible, all other edges are hidden
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: 'node-1.1',
|
hoveredNodeId: 'node-1.1',
|
||||||
@@ -2133,7 +2235,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
neighborsOfHoveredNode: new Set(['node-1.2', 'node-1.3']),
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: []
|
||||||
}
|
}
|
||||||
expect(
|
expect(
|
||||||
graphHelper.reduceEdges(
|
graphHelper.reduceEdges(
|
||||||
@@ -2173,6 +2276,10 @@ describe('graphHelper.js', () => {
|
|||||||
)
|
)
|
||||||
).to.eql(visibleEdgeStyle)
|
).to.eql(visibleEdgeStyle)
|
||||||
|
|
||||||
|
// No selected or hovered nodes,
|
||||||
|
// No hovered or selected edges
|
||||||
|
// Query is not applied
|
||||||
|
// Expected: all edges are visible
|
||||||
interactionState = {
|
interactionState = {
|
||||||
selectedNodeId: null,
|
selectedNodeId: null,
|
||||||
hoveredNodeId: null,
|
hoveredNodeId: null,
|
||||||
@@ -2181,7 +2288,8 @@ describe('graphHelper.js', () => {
|
|||||||
neighborsOfSelectedNode: undefined,
|
neighborsOfSelectedNode: undefined,
|
||||||
neighborsOfHoveredNode: undefined,
|
neighborsOfHoveredNode: undefined,
|
||||||
selectedEdgeExtremities: [],
|
selectedEdgeExtremities: [],
|
||||||
hoveredEdgeExtremities: []
|
hoveredEdgeExtremities: [],
|
||||||
|
nodesMatchingSearchQuery: null
|
||||||
}
|
}
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
|
|||||||
Reference in New Issue
Block a user