From 559daf0a201e8b8460d949c3e7ead15dcdfd380b Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Tue, 8 Nov 2022 09:11:58 +0100 Subject: [PATCH] test: add `defaultEdgeOptions` test --- .../1-store/edges/defaultEdgeOptions.cy.ts | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 e2e/cypress/component/1-store/edges/defaultEdgeOptions.cy.ts diff --git a/e2e/cypress/component/1-store/edges/defaultEdgeOptions.cy.ts b/e2e/cypress/component/1-store/edges/defaultEdgeOptions.cy.ts new file mode 100644 index 00000000..bcdf5fac --- /dev/null +++ b/e2e/cypress/component/1-store/edges/defaultEdgeOptions.cy.ts @@ -0,0 +1,51 @@ +import type { DefaultEdgeOptions } from '@vue-flow/core' +import { useVueFlow } from '@vue-flow/core' +import { getElements } from '../../../utils' + +const { nodes, edges } = getElements(2, 2) + +const defaultEdgeOptions: DefaultEdgeOptions = { + class: 'custom-class', + type: 'custom-type', +} + +describe('Default Edge Options', () => { + const store = useVueFlow({ id: 'test' }) + + beforeEach(() => { + cy.vueFlow({ + nodes, + edges: [ + { + id: 'customEdge', + source: nodes[0].id, + target: nodes[1].id, + type: 'custom', + }, + ...edges, + ], + defaultEdgeOptions, + }) + }) + + it('sets default edge options', () => { + store.edges.value.forEach((edge) => { + expect(edge.class).to.equal(defaultEdgeOptions.class) + }) + + cy.get('.vue-flow__edge').should('have.class', defaultEdgeOptions.class) + }) + + it('does not override edge values with defaults', () => { + store.edges.value.forEach((edge) => { + if (edge.id === 'customEdge') { + return expect(edge.type).to.equal('custom') + } + + expect(edge.type).to.equal(defaultEdgeOptions.type) + }) + + // uses fallback default slot + cy.get('.vue-flow__edge').should('have.class', 'vue-flow__edge-default') + }) +})