39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import { useVueFlow } from '@vue-flow/core'
|
|
import { getElements } from '../../utils'
|
|
|
|
const { nodes } = getElements()
|
|
|
|
describe('Viewport drag / zoom', () => {
|
|
const store = useVueFlow({ id: 'test' })
|
|
beforeEach(() => {
|
|
cy.vueFlow({
|
|
nodes,
|
|
})
|
|
})
|
|
|
|
it('drags pane', () => {
|
|
cy.window().then(async (win) => {
|
|
cy.get('.vue-flow__pane')
|
|
.should('be.visible')
|
|
.trigger('mousedown', 'center', { force: true, view: win })
|
|
.trigger('mousemove', {
|
|
force: true,
|
|
clientX: -(store.dimensions.value.width / 10),
|
|
clientY: store.dimensions.value.height / 2,
|
|
view: win,
|
|
})
|
|
.trigger('mouseup', { force: true, view: win })
|
|
|
|
await cy.tryAssertion(() => {
|
|
cy.transformationPane()
|
|
.should('exist')
|
|
.should(
|
|
'have.css',
|
|
'transform',
|
|
`matrix(${store.viewport.value.zoom}, 0, 0, ${store.viewport.value.zoom}, ${store.viewport.value.x}, ${store.viewport.value.y})`,
|
|
)
|
|
})
|
|
})
|
|
})
|
|
})
|