feat(tests): add remove selected elements action tests
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
describe('Store Action: `removeSelectedEdges`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
let randomNumber: number
|
||||
let randomNumber2: number
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges,
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
randomNumber = Math.floor(Math.random() * edges.length)
|
||||
randomNumber2 = Math.floor(Math.random() * randomNumber)
|
||||
store.addSelectedEdges(Array.from({ length: randomNumber }, (_, i) => store.edges.value[i]))
|
||||
store.removeSelectedEdges(Array.from({ length: randomNumber2 }, (_, i) => store.edges.value[i]))
|
||||
})
|
||||
|
||||
it('removes selected edges from store', () => {
|
||||
expect(store.getSelectedEdges.value).to.have.length(randomNumber2)
|
||||
})
|
||||
|
||||
it('removes `selected` class from edges', () => {
|
||||
cy.get('.vue-flow__edge').then((edges) => {
|
||||
expect(edges[randomNumber2 - 1]).to.have.class('selected')
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,48 @@
|
||||
import type { GraphEdge, GraphNode } from '@braks/vue-flow'
|
||||
import { isNode, useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
describe('Store Action: `removeSelectedElements`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
let randomNumber: number
|
||||
let randomNumber2: number
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges,
|
||||
})
|
||||
})
|
||||
|
||||
it('removes passed elements from selected elements in store', () => {
|
||||
randomNumber = Math.floor(Math.random() * [...nodes, ...edges].length)
|
||||
randomNumber2 = Math.floor(Math.random() * randomNumber)
|
||||
store.addSelectedElements(Array.from({ length: randomNumber }, (_, i) => store.getElements.value[i]))
|
||||
store.removeSelectedElements(
|
||||
Array.from({ length: randomNumber2 }, (_, i) => store.getElements.value[i]).reduce(
|
||||
(acc, curr) => {
|
||||
if (isNode(curr)) {
|
||||
acc.nodes.push(curr)
|
||||
} else {
|
||||
acc.edges.push(curr)
|
||||
}
|
||||
|
||||
return acc
|
||||
},
|
||||
{ nodes: [] as GraphNode[], edges: [] as GraphEdge[] },
|
||||
),
|
||||
)
|
||||
|
||||
expect(store.getSelectedElements.value).to.have.length(randomNumber2)
|
||||
})
|
||||
|
||||
it('resets all selected elements in store when no argument is passed', () => {
|
||||
randomNumber = Math.floor(Math.random() * [...nodes, ...edges].length)
|
||||
store.addSelectedElements(Array.from({ length: randomNumber }, (_, i) => store.getElements.value[i]))
|
||||
store.removeSelectedElements()
|
||||
|
||||
expect(store.getSelectedElements.value).to.have.length(0)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,34 @@
|
||||
import { useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
describe('Store Action: `removeSelectedNodes`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
let randomNumber: number
|
||||
let randomNumber2: number
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges,
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
randomNumber = Math.floor(Math.random() * nodes.length)
|
||||
randomNumber2 = Math.floor(Math.random() * randomNumber)
|
||||
store.addSelectedNodes(Array.from({ length: randomNumber }, (_, i) => store.nodes.value[i]))
|
||||
store.removeSelectedNodes(Array.from({ length: randomNumber2 }, (_, i) => store.nodes.value[i]))
|
||||
})
|
||||
|
||||
it('removes selected nodes from store', () => {
|
||||
expect(store.getSelectedNodes.value).to.have.length(randomNumber2)
|
||||
})
|
||||
|
||||
it('removes `selected` class from nodes', () => {
|
||||
cy.get('.vue-flow__node').then((nodes) => {
|
||||
expect(nodes[randomNumber2 - 1]).to.have.class('selected')
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user