feat(tests): add tests for add, find & remove actions
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
const edgesFirstHalf = edges.slice(0, Math.floor(edges.length / 2))
|
||||
const edgesSecondHalf = edges.slice(Math.floor(edges.length / 2))
|
||||
|
||||
describe('Store Action: `addEdges`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges: edgesFirstHalf,
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
store.addEdges(edgesSecondHalf)
|
||||
})
|
||||
|
||||
it('adds edges to store', () => {
|
||||
expect(store.edges.value).to.have.length(edges.length)
|
||||
})
|
||||
|
||||
it('adds edges to viewpane', () => {
|
||||
cy.get('.vue-flow__edge').should('have.length', edges.length)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
import { useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
describe('Store Action: `findEdge`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
let randomIndex: number
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges,
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
randomIndex = Math.floor(Math.random() * edges.length)
|
||||
})
|
||||
|
||||
it('finds edge in store', () => {
|
||||
const storedEdge = store.findEdge(edges[randomIndex].id)
|
||||
expect(storedEdge?.id).to.equal(edges[randomIndex].id)
|
||||
})
|
||||
|
||||
it('does not find edge in store when passed invalid id', () => {
|
||||
expect(store.findEdge('-123')).to.equal(undefined)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
import { useVueFlow } from '@braks/vue-flow'
|
||||
import { getElements } from '../../../../utils'
|
||||
|
||||
const { nodes, edges } = getElements()
|
||||
|
||||
describe('Store Action: `removeEdges`', () => {
|
||||
const store = useVueFlow({ id: 'test' })
|
||||
let randomNumber: number
|
||||
|
||||
beforeEach(() => {
|
||||
cy.vueFlow({
|
||||
nodes,
|
||||
edges,
|
||||
})
|
||||
})
|
||||
|
||||
beforeEach(() => {
|
||||
randomNumber = Math.floor(Math.random() * edges.length)
|
||||
store.removeEdges(Array.from({ length: randomNumber }, (_, i) => edges[i].id))
|
||||
})
|
||||
|
||||
it('removes edges from store', () => {
|
||||
expect(store.edges.value).to.have.length(edges.length - randomNumber)
|
||||
})
|
||||
|
||||
it('removes edges from viewpane', () => {
|
||||
cy.get('.vue-flow__edge').should('have.length', edges.length - randomNumber)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user