From b9e5ed7346524b8ec31f49527180727d2cd8b978 Mon Sep 17 00:00:00 2001 From: Jon Date: Tue, 11 Mar 2025 15:07:10 +0100 Subject: [PATCH 1/7] fix: fixed node fetching and adapted to back data --- src/pages/Zone/Card/ZoneLocationsTree.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pages/Zone/Card/ZoneLocationsTree.vue b/src/pages/Zone/Card/ZoneLocationsTree.vue index 5c87faf99..c460143a2 100644 --- a/src/pages/Zone/Card/ZoneLocationsTree.vue +++ b/src/pages/Zone/Card/ZoneLocationsTree.vue @@ -72,6 +72,7 @@ const onNodeExpanded = async (nodeKeysArray) => { const response = await axios.get(`Zones/${route.params.id}/getLeaves`, { params, }); + response.data = JSON.parse(response.data); if (response.data) { node.childs = response.data.map((n) => { if (n.sons > 0) n.childs = [{}]; @@ -125,14 +126,17 @@ watch( async (val) => { if (!val) return; // // Se triggerea cuando se actualiza el store.data, el cual es el resultado del fetch de la searchbar + val = JSON.parse(val); if (!nodes.value[0]) nodes.value = [defaultNode]; nodes.value[0].childs = [...val]; const fetchedNodeKeys = val.flatMap(getNodeIds); state.set('Tree', [...fetchedNodeKeys]); expanded.value = [null, ...fetchedNodeKeys]; + const fetchs = []; for (let n of state.get('Tree')) { - await fetchNodeLeaves(n); + fetchs.push(fetchNodeLeaves(n)); } + await Promise.all(fetchs); previousExpandedNodes.value = new Set(expanded.value); }, { immediate: true } From 2bcc0cdefecb88b3594291bf12fd139979942bd8 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 09:46:02 +0100 Subject: [PATCH 2/7] test: fix selectOption wait to ariaControl is visible --- test/cypress/integration/client/clientBalance.spec.js | 3 ++- test/cypress/support/commands.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/test/cypress/integration/client/clientBalance.spec.js b/test/cypress/integration/client/clientBalance.spec.js index 56ce01692..0228d71bc 100644 --- a/test/cypress/integration/client/clientBalance.spec.js +++ b/test/cypress/integration/client/clientBalance.spec.js @@ -6,9 +6,10 @@ describe('Client balance', () => { cy.visit('#/customer/1101/balance'); }); it('Should create a mandate', () => { + cy.waitSpinner(); cy.get('.q-page-sticky > div > .q-btn').click(); cy.selectOption('[data-cy="paymentBank"]', 2); - cy.dataCy('paymentAmount_input').type('100'); + cy.dataCy('paymentAmount_input').clear().type('100'); cy.saveCard(); }); }); diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js index dfec341cd..c2dd1579f 100755 --- a/test/cypress/support/commands.js +++ b/test/cypress/support/commands.js @@ -92,6 +92,14 @@ Cypress.Commands.add('getValue', (selector) => { }); }); +Cypress.Commands.add('waitSpinner', () => { + cy.get('body').then(($body) => { + if ($body.find('[data-cy="loading-spinner"]').length) { + cy.get('[data-cy="loading-spinner"]').should('not.be.visible'); + } + }); +}); + // Fill Inputs Cypress.Commands.add('selectOption', (selector, option, timeout = 2500) => { cy.waitForElement(selector, timeout); @@ -109,6 +117,7 @@ Cypress.Commands.add('selectOption', (selector, option, timeout = 2500) => { function selectItem(selector, option, ariaControl, hasWrite = true) { if (!hasWrite) cy.wait(100); + cy.waitSpinner(); getItems(ariaControl).then((items) => { const matchingItem = items @@ -128,6 +137,7 @@ function getItems(ariaControl, startTime = Cypress._.now(), timeout = 2500) { .should('exist') .find('.q-item') .should('exist') + .should('be.visible') .then(($items) => { if (!$items?.length || $items.first().text().trim() === '') { if (Cypress._.now() - startTime > timeout) { From c47e46dc5d9c575da1be5077e7d9b396b36ddaa1 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 11:04:26 +0100 Subject: [PATCH 3/7] test: updated pageLoadTimeout --- cypress.config.js | 2 +- test/cypress/integration/client/clientBalance.spec.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/cypress.config.js b/cypress.config.js index 5cf075e2a..033aa35c7 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -30,7 +30,7 @@ export default defineConfig({ trashAssetsBeforeRuns: false, requestTimeout: 10000, responseTimeout: 30000, - pageLoadTimeout: 60000, + pageLoadTimeout: 120000, defaultBrowser: 'chromium', fixturesFolder: 'test/cypress/fixtures', screenshotsFolder: 'test/cypress/screenshots', diff --git a/test/cypress/integration/client/clientBalance.spec.js b/test/cypress/integration/client/clientBalance.spec.js index 0228d71bc..0d88a9e28 100644 --- a/test/cypress/integration/client/clientBalance.spec.js +++ b/test/cypress/integration/client/clientBalance.spec.js @@ -1,7 +1,6 @@ /// describe('Client balance', () => { beforeEach(() => { - cy.viewport(1280, 720); cy.login('developer'); cy.visit('#/customer/1101/balance'); }); From 7a36c101286385fcd8a802946cc811ec7b5e5610 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 11:15:02 +0100 Subject: [PATCH 4/7] chore: try fix cypress bug --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 18b27528b..1fff85d2b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -122,7 +122,7 @@ pipeline { def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs') image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ --init") { - sh 'cypress run --browser chromium || true' + sh 'cypress run --browser chromium --disable-gpu || true' } } } From ee54b3827165cc04cc5d97a8f7400837c77d4246 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 11:25:31 +0100 Subject: [PATCH 5/7] chore: try fix cypress bug --- Jenkinsfile | 2 +- docs/Dockerfile.dev | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1fff85d2b..18b27528b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -122,7 +122,7 @@ pipeline { def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs') image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ --init") { - sh 'cypress run --browser chromium --disable-gpu || true' + sh 'cypress run --browser chromium || true' } } } diff --git a/docs/Dockerfile.dev b/docs/Dockerfile.dev index 29b194ffa..dca42e7c0 100644 --- a/docs/Dockerfile.dev +++ b/docs/Dockerfile.dev @@ -39,7 +39,7 @@ ENV PNPM_HOME="/home/app/.local/share/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN pnpm setup \ - && pnpm install --global cypress@13.6.6 \ + && pnpm install --global cypress@13.17.0 \ && cypress install WORKDIR /app diff --git a/package.json b/package.json index 1361d1fd8..e672ce42d 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0", "@vue/test-utils": "^2.4.4", "autoprefixer": "^10.4.14", - "cypress": "^13.6.6", + "cypress": "^13.17.0", "cypress-mochawesome-reporter": "^3.8.2", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", From 5cb17fa4c92fe3d461e104a0b981039a54bdcca9 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 11:26:26 +0100 Subject: [PATCH 6/7] chore: try fix cypress bug --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31a01e69c..7abf5484d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,7 +71,7 @@ devDependencies: specifier: ^10.4.14 version: 10.4.20(postcss@8.5.1) cypress: - specifier: ^13.6.6 + specifier: ^13.17.0 version: 13.17.0 cypress-mochawesome-reporter: specifier: ^3.8.2 From 4900751bfc0863a000dd499553f79520b871aa12 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 12 Mar 2025 11:34:02 +0100 Subject: [PATCH 7/7] chore: try fix cypress bug --- docs/Dockerfile.dev | 4 +++- package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/Dockerfile.dev b/docs/Dockerfile.dev index dca42e7c0..3117e2c20 100644 --- a/docs/Dockerfile.dev +++ b/docs/Dockerfile.dev @@ -25,6 +25,8 @@ RUN apt-get update \ libnss3 \ libxss1 \ libxtst6 \ + mesa-vulkan-drivers \ + vulkan-tools \ xauth \ xvfb \ && apt-get clean \ @@ -39,7 +41,7 @@ ENV PNPM_HOME="/home/app/.local/share/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN pnpm setup \ - && pnpm install --global cypress@13.17.0 \ + && pnpm install --global cypress@14.1.0 \ && cypress install WORKDIR /app diff --git a/package.json b/package.json index e672ce42d..63cdfab90 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@quasar/quasar-app-extension-testing-unit-vitest": "^0.4.0", "@vue/test-utils": "^2.4.4", "autoprefixer": "^10.4.14", - "cypress": "^13.17.0", + "cypress": "^14.1.0", "cypress-mochawesome-reporter": "^3.8.2", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7abf5484d..36d9c0644 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,11 +71,11 @@ devDependencies: specifier: ^10.4.14 version: 10.4.20(postcss@8.5.1) cypress: - specifier: ^13.17.0 - version: 13.17.0 + specifier: ^14.1.0 + version: 14.1.0 cypress-mochawesome-reporter: specifier: ^3.8.2 - version: 3.8.2(cypress@13.17.0)(mocha@11.0.1) + version: 3.8.2(cypress@14.1.0)(mocha@11.0.1) eslint: specifier: ^9.18.0 version: 9.18.0 @@ -3321,7 +3321,7 @@ packages: /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /cypress-mochawesome-reporter@3.8.2(cypress@13.17.0)(mocha@11.0.1): + /cypress-mochawesome-reporter@3.8.2(cypress@14.1.0)(mocha@11.0.1): resolution: {integrity: sha512-oJZkNzhNmN9ZD+LmZyFuPb8aWaIijyHyqYh52YOBvR6B6ckfJNCHP3A98a+/nG0H4t46CKTNwo+wNpMa4d2kjA==} engines: {node: '>=14'} hasBin: true @@ -3329,7 +3329,7 @@ packages: cypress: '>=6.2.0' dependencies: commander: 10.0.1 - cypress: 13.17.0 + cypress: 14.1.0 fs-extra: 10.1.0 mochawesome: 7.1.3(mocha@11.0.1) mochawesome-merge: 4.3.0 @@ -3338,9 +3338,9 @@ packages: - mocha dev: true - /cypress@13.17.0: - resolution: {integrity: sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==} - engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + /cypress@14.1.0: + resolution: {integrity: sha512-pPPj8Uu9NwjaaiXAEcjYZZmgsq6v9Zs1Nw6a+zRF+ANgYSNhH4S32SjFRsvMcuOHR/8dp4GBJhBPqIPSs+TxaA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true requiresBuild: true dependencies: