refactor(tests): use composable tester cmp
This commit is contained in:
@@ -6,87 +6,109 @@ import { getElements } from '../../utils'
|
|||||||
const { nodes } = getElements()
|
const { nodes } = getElements()
|
||||||
|
|
||||||
describe('Composable: `useNodesData`', () => {
|
describe('Composable: `useNodesData`', () => {
|
||||||
describe('returns node data for a single node', () => {
|
it('should return node data', () => {
|
||||||
let data: any = null
|
|
||||||
|
|
||||||
const node = nodes[0]
|
const node = nodes[0]
|
||||||
|
|
||||||
beforeEach(() => {
|
const ComposableTester = defineComponent({
|
||||||
cy.vueFlow(
|
emits: ['change'],
|
||||||
{
|
setup(_, { emit }) {
|
||||||
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
const data = useNodesData(node.id)
|
||||||
},
|
|
||||||
{},
|
|
||||||
{
|
|
||||||
'node-custom': defineComponent({
|
|
||||||
setup() {
|
|
||||||
data = useNodesData(nodes[0].id)
|
|
||||||
|
|
||||||
return () => h('div', 'Custom Node')
|
emit('change', data.value)
|
||||||
},
|
|
||||||
|
return 'Composable Tester'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const onChangeSpy = cy.spy().as('onChangeSpy')
|
||||||
|
|
||||||
|
cy.vueFlow(
|
||||||
|
{
|
||||||
|
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
default: () =>
|
||||||
|
h(ComposableTester, {
|
||||||
|
onChange: onChangeSpy,
|
||||||
|
nodes: node.id,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
|
||||||
|
|
||||||
it('should return the node data', () => {
|
cy.get('@onChangeSpy').should('have.been.calledWith', node.data)
|
||||||
expect(data.value).to.deep.equal(node.data)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('returns node data for multiple nodes', () => {
|
it('should return nodes data', () => {
|
||||||
let data: any = null
|
const onChangeSpy = cy.spy().as('onChangeSpy')
|
||||||
|
|
||||||
const nodeIds = nodes.map((node) => node.id)
|
const nodeIds = nodes.map((node) => node.id)
|
||||||
|
|
||||||
beforeEach(() => {
|
const ComposableTester = defineComponent({
|
||||||
cy.vueFlow(
|
emits: ['change'],
|
||||||
{
|
setup(_, { emit }) {
|
||||||
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
const data = useNodesData(nodeIds)
|
||||||
},
|
|
||||||
{},
|
|
||||||
{
|
|
||||||
'node-custom': defineComponent({
|
|
||||||
setup() {
|
|
||||||
data = useNodesData(nodeIds)
|
|
||||||
|
|
||||||
return () => h('div', 'Custom Node')
|
emit('change', data.value)
|
||||||
},
|
|
||||||
|
return 'Composable Tester'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
cy.vueFlow(
|
||||||
|
{
|
||||||
|
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
default: () =>
|
||||||
|
h(ComposableTester, {
|
||||||
|
onChange: onChangeSpy,
|
||||||
|
nodes: nodeIds,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
|
||||||
|
|
||||||
it('should return the node data', () => {
|
cy.get('@onChangeSpy').should(
|
||||||
expect(data.value).to.deep.equal(nodes.map((node) => node.data))
|
'have.been.calledWith',
|
||||||
})
|
nodes.map((node) => node.data),
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('returns node data for multiple nodes with a guard', () => {
|
it('should return the node data with typeguard', () => {
|
||||||
let data: any = null
|
const onChangeSpy = cy.spy().as('onChangeSpy')
|
||||||
|
|
||||||
const nodeIds = nodes.map((node) => node.id)
|
const nodeIds = nodes.map((node) => node.id)
|
||||||
|
|
||||||
beforeEach(() => {
|
const ComposableTester = defineComponent<{ guard?: (node: Node) => node is Node }>({
|
||||||
cy.vueFlow(
|
emits: ['change'],
|
||||||
{
|
setup(props, { emit }) {
|
||||||
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
const data = useNodesData(nodeIds, props.guard || ((node): node is Node => true))
|
||||||
},
|
|
||||||
{},
|
|
||||||
{
|
|
||||||
'node-custom': defineComponent({
|
|
||||||
setup() {
|
|
||||||
data = useNodesData(nodeIds, (node): node is Node<{ randomData: number }> => node.type === 'custom')
|
|
||||||
|
|
||||||
return () => h('div', 'Custom Node')
|
emit('change', data.value)
|
||||||
},
|
|
||||||
|
return 'Composable Tester'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
cy.vueFlow(
|
||||||
|
{
|
||||||
|
nodes: nodes.map((node) => ({ ...node, type: 'custom' })),
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
default: () =>
|
||||||
|
h(ComposableTester, {
|
||||||
|
onChange: onChangeSpy,
|
||||||
|
nodes: nodeIds,
|
||||||
|
guard: (node): node is Node<{ randomData: number }> => node.type === 'custom',
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
|
||||||
|
|
||||||
it('should return the node data', () => {
|
cy.get('@onChangeSpy').should(
|
||||||
expect(data.value).to.deep.equal(nodes.map((node) => node.data))
|
'have.been.calledWith',
|
||||||
})
|
nodes.map((node) => node.data),
|
||||||
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user