* chore(svelte-examples): pull out of lib package * chore(svelte-examples): cleanup * chore(examples): add readme files
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
describe('Figma Flow UI', { testIsolation: false }, () => {
|
|
before(() => {
|
|
cy.visit('/figma');
|
|
});
|
|
|
|
it('renders a flow with three nodes', () => {
|
|
cy.get('.react-flow__renderer');
|
|
cy.get('.react-flow__node').should('have.length', 4);
|
|
cy.get('.react-flow__edge').should('have.length', 2);
|
|
cy.get('.react-flow__node').children('.react-flow__handle');
|
|
});
|
|
|
|
it('renders a grid', () => {
|
|
cy.get('.react-flow__background');
|
|
});
|
|
|
|
it('selects all nodes by drag', () => {
|
|
cy.window().then((win) => {
|
|
cy.get('.react-flow__pane')
|
|
.trigger('mousedown', 'topLeft', { button: 0, view: win })
|
|
.trigger('mousemove', 'bottomRight', { force: true })
|
|
.wait(50)
|
|
.trigger('mouseup', { force: true, view: win })
|
|
.then(() => {
|
|
cy.get('.react-flow__node').should('have.class', 'selected');
|
|
});
|
|
});
|
|
});
|
|
|
|
it('removes selection', () => {
|
|
cy.get('.react-flow__pane').click('topLeft');
|
|
cy.get('.react-flow__node').should('not.have.class', 'selected');
|
|
});
|
|
|
|
it('drags using right click', () => {
|
|
cy.window().then((win) => {
|
|
cy.get('.react-flow__node:last').isWithinViewport();
|
|
cy.get('.react-flow__pane')
|
|
.trigger('mousedown', 'center', { button: 2, view: win })
|
|
.trigger('mousemove', 'bottom', { force: true })
|
|
.wait(50)
|
|
.trigger('mouseup', { force: true, view: win })
|
|
.then(() => {
|
|
cy.get('.react-flow__node').should('not.have.class', 'selected');
|
|
cy.get('.react-flow__node:last').isOutsideViewport();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
export {};
|