From 9bf9c644bef1d3ba4125c592491bc163ca3de974 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Wed, 17 May 2023 19:16:41 +0200 Subject: [PATCH] tests: use timeout to avoid cli run fails --- pnpm-lock.yaml | 19 +++--------- .../1-store/edges/addSelectedEdges.cy.ts | 31 ++++++++++--------- .../component/1-store/edges/removeEdges.cy.ts | 17 +++++----- .../1-store/edges/removeSelectedEdges.cy.ts | 29 +++++++++-------- .../1-store/nodes/addSelectedNodes.cy.ts | 29 +++++++++-------- .../component/1-store/nodes/removeNodes.cy.ts | 17 +++++----- .../1-store/nodes/removeSelectedNodes.cy.ts | 29 +++++++++-------- tests/package.json | 6 ++-- 8 files changed, 92 insertions(+), 85 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f3ddaa2b..1a61331f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -531,8 +531,8 @@ importers: specifier: workspace:* version: link:../tooling/tsconfig '@vitejs/plugin-vue': - specifier: ^4.2.2 - version: 4.2.3(vite@4.3.5)(vue@3.2.47) + specifier: ^4.2.3 + version: 4.2.3(vite@4.3.7)(vue@3.2.47) cypress: specifier: ^12.12.0 version: 12.12.0 @@ -543,8 +543,8 @@ importers: specifier: ^4.9.5 version: 4.9.5 vite: - specifier: ^4.3.5 - version: 4.3.5 + specifier: ^4.3.7 + version: 4.3.7(@types/node@18.15.12) vue: specifier: ^3.2.25 version: 3.2.47 @@ -3068,17 +3068,6 @@ packages: vue: 3.2.47 dev: true - /@vitejs/plugin-vue@4.2.3(vite@4.3.5)(vue@3.2.47): - resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 - vue: ^3.2.25 - dependencies: - vite: 4.3.5 - vue: 3.2.47 - dev: true - /@vitejs/plugin-vue@4.2.3(vite@4.3.7)(vue@3.2.47): resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} engines: {node: ^14.18.0 || >=16.0.0} diff --git a/tests/cypress/component/1-store/edges/addSelectedEdges.cy.ts b/tests/cypress/component/1-store/edges/addSelectedEdges.cy.ts index cc190880..25d40d34 100644 --- a/tests/cypress/component/1-store/edges/addSelectedEdges.cy.ts +++ b/tests/cypress/component/1-store/edges/addSelectedEdges.cy.ts @@ -1,4 +1,4 @@ -import { isEdge, useVueFlow } from '@vue-flow/core' +import { useVueFlow } from '@vue-flow/core' import { getElements } from '../../../utils' const { nodes, edges } = getElements() @@ -24,21 +24,24 @@ describe('Store Action: `addSelectedEdges`', () => { }) it('adds `selected` class to edges', () => { - cy.get('.vue-flow__edge').then((els) => { - els.each((index, edge) => { - const edgeId = edge.getAttribute('data-id') - const storedEdge = store.findEdge(edgeId!) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__edge').then((els) => { + els.each((index, edge) => { + const edgeId = edge.getAttribute('data-id') + const storedEdge = store.findEdge(edgeId!) - expect(storedEdge).to.not.eq(undefined) + expect(storedEdge).to.not.eq(undefined) - if (index < randomNumber) { - expect(!!storedEdge?.selected).to.eq(true) - expect(edge).to.have.class('selected') - } else { - expect(!!storedEdge?.selected).to.eq(false) - expect(edge).to.not.have.class('selected') - } + if (index < randomNumber) { + expect(!!storedEdge?.selected).to.eq(true) + expect(edge).to.have.class('selected') + } else { + expect(!!storedEdge?.selected).to.eq(false) + expect(edge).to.not.have.class('selected') + } + }) }) - }) + }, 1) }) }) diff --git a/tests/cypress/component/1-store/edges/removeEdges.cy.ts b/tests/cypress/component/1-store/edges/removeEdges.cy.ts index 15ff83a9..d785bf83 100644 --- a/tests/cypress/component/1-store/edges/removeEdges.cy.ts +++ b/tests/cypress/component/1-store/edges/removeEdges.cy.ts @@ -29,14 +29,17 @@ describe('Store Action: `removeEdges`', () => { }) it('removes edges from DOM', () => { - cy.get('.vue-flow__edge').then((els) => { - els.each((index, edge) => { - const edgeId = edge.getAttribute('data-id') - const storedEdge = store.findEdge(edgeId) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__edge').then((els) => { + els.each((index, edge) => { + const edgeId = edge.getAttribute('data-id') + const storedEdge = store.findEdge(edgeId) - expect(deletedEdges).to.not.include(edgeId) - expect(storedEdge).to.not.eq(undefined) + expect(deletedEdges).to.not.include(edgeId) + expect(storedEdge).to.not.eq(undefined) + }) }) - }) + }, 1) }) }) diff --git a/tests/cypress/component/1-store/edges/removeSelectedEdges.cy.ts b/tests/cypress/component/1-store/edges/removeSelectedEdges.cy.ts index e832579c..ddc68fba 100644 --- a/tests/cypress/component/1-store/edges/removeSelectedEdges.cy.ts +++ b/tests/cypress/component/1-store/edges/removeSelectedEdges.cy.ts @@ -27,21 +27,24 @@ describe('Store Action: `removeSelectedEdges`', () => { }) it('removes `selected` class from edges', () => { - cy.get('.vue-flow__edge').then((els) => { - els.each((index, edge) => { - const edgeId = edge.getAttribute('data-id') - const storedEdge = store.findEdge(edgeId!) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__edge').then((els) => { + els.each((index, edge) => { + const edgeId = edge.getAttribute('data-id') + const storedEdge = store.findEdge(edgeId!) - expect(storedEdge && isEdge(storedEdge)).to.eq(true) + expect(storedEdge && isEdge(storedEdge)).to.eq(true) - if (index >= randomNumber2 && index < randomNumber) { - expect(!!storedEdge?.selected).to.eq(true) - expect(edge).to.have.class('selected') - } else { - expect(!!storedEdge?.selected).to.eq(false) - expect(edge).to.not.have.class('selected') - } + if (index >= randomNumber2 && index < randomNumber) { + expect(!!storedEdge?.selected).to.eq(true) + expect(edge).to.have.class('selected') + } else { + expect(!!storedEdge?.selected).to.eq(false) + expect(edge).to.not.have.class('selected') + } + }) }) - }) + }, 1) }) }) diff --git a/tests/cypress/component/1-store/nodes/addSelectedNodes.cy.ts b/tests/cypress/component/1-store/nodes/addSelectedNodes.cy.ts index 0818fe40..d454a85d 100644 --- a/tests/cypress/component/1-store/nodes/addSelectedNodes.cy.ts +++ b/tests/cypress/component/1-store/nodes/addSelectedNodes.cy.ts @@ -24,21 +24,24 @@ describe('Store Action: `addSelectedNodes`', () => { }) it('adds `selected` class to nodes', () => { - cy.get('.vue-flow__node').then((els) => { - els.each((index, node) => { - const nodeId = node.getAttribute('data-id') - const storedNode = store.findNode(nodeId!) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__node').then((els) => { + els.each((index, node) => { + const nodeId = node.getAttribute('data-id') + const storedNode = store.findNode(nodeId!) - expect(storedNode && isNode(storedNode)).to.eq(true) + expect(storedNode && isNode(storedNode)).to.eq(true) - if (index < randomNumber) { - expect(!!storedNode?.selected).to.eq(true) - expect(node).to.have.class('selected') - } else { - expect(!!storedNode?.selected).to.eq(false) - expect(node).to.not.have.class('selected') - } + if (index < randomNumber) { + expect(!!storedNode?.selected).to.eq(true) + expect(node).to.have.class('selected') + } else { + expect(!!storedNode?.selected).to.eq(false) + expect(node).to.not.have.class('selected') + } + }) }) - }) + }, 1) }) }) diff --git a/tests/cypress/component/1-store/nodes/removeNodes.cy.ts b/tests/cypress/component/1-store/nodes/removeNodes.cy.ts index d2b2c0fc..2c73fddc 100644 --- a/tests/cypress/component/1-store/nodes/removeNodes.cy.ts +++ b/tests/cypress/component/1-store/nodes/removeNodes.cy.ts @@ -29,14 +29,17 @@ describe('Store Action: `removeNodes`', () => { }) it('removes nodes from DOM', () => { - cy.get('.vue-flow__node').then((els) => { - els.each((index, node) => { - const nodeId = node.getAttribute('data-id') - const storedNode = store.findNode(nodeId) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__node').then((els) => { + els.each((index, node) => { + const nodeId = node.getAttribute('data-id') + const storedNode = store.findNode(nodeId) - expect(deletedNodes).to.not.include(nodeId) - expect(storedNode).to.not.eq(undefined) + expect(deletedNodes).to.not.include(nodeId) + expect(storedNode).to.not.eq(undefined) + }) }) - }) + }, 1) }) }) diff --git a/tests/cypress/component/1-store/nodes/removeSelectedNodes.cy.ts b/tests/cypress/component/1-store/nodes/removeSelectedNodes.cy.ts index a52a0c34..d3f30b4a 100644 --- a/tests/cypress/component/1-store/nodes/removeSelectedNodes.cy.ts +++ b/tests/cypress/component/1-store/nodes/removeSelectedNodes.cy.ts @@ -27,21 +27,24 @@ describe('Store Action: `removeSelectedNodes`', () => { }) it('removes `selected` class from nodes', () => { - cy.get('.vue-flow__node').then((els) => { - els.each((index, node) => { - const nodeId = node.getAttribute('data-id') - const storedNode = store.findNode(nodeId!) + // todo: can we avoid the timeout? without it, the test fails in ci + setTimeout(() => { + cy.get('.vue-flow__node').then((els) => { + els.each((index, node) => { + const nodeId = node.getAttribute('data-id') + const storedNode = store.findNode(nodeId!) - expect(storedNode && isNode(storedNode)).to.eq(true) + expect(storedNode && isNode(storedNode)).to.eq(true) - if (index >= randomNumber2 && index < randomNumber) { - expect(!!storedNode?.selected).to.eq(true) - expect(node).to.have.class('selected') - } else { - expect(!!storedNode?.selected).to.eq(false) - expect(node).to.not.have.class('selected') - } + if (index >= randomNumber2 && index < randomNumber) { + expect(!!storedNode?.selected).to.eq(true) + expect(node).to.have.class('selected') + } else { + expect(!!storedNode?.selected).to.eq(false) + expect(node).to.not.have.class('selected') + } + }) }) - }) + }, 1) }) }) diff --git a/tests/package.json b/tests/package.json index a461b22d..8098eef6 100644 --- a/tests/package.json +++ b/tests/package.json @@ -5,7 +5,7 @@ "scripts": { "test": "cypress run --component", "open": "cypress open", - "lint": "eslint --ext .js,.ts,.vue ./" + "lint": "eslint --ext .js,.ts ./" }, "dependencies": { "@vue-flow/background": "workspace:*", @@ -16,11 +16,11 @@ "devDependencies": { "@tooling/eslint-config": "workspace:*", "@tooling/tsconfig": "workspace:*", - "@vitejs/plugin-vue": "^4.2.2", + "@vitejs/plugin-vue": "^4.2.3", "cypress": "^12.12.0", "eslint-plugin-cypress": "^2.13.3", "typescript": "^4.9.5", - "vite": "^4.3.5", + "vite": "^4.3.7", "vue": "^3.2.25" } }