From 8e95757ce40cfa442bd02a48093d8620fddce343 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Thu, 23 Jan 2025 14:35:45 +0100 Subject: [PATCH 01/21] add data-test attritube instead of class --- cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js | 3 ++- .../e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js | 4 ++-- cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js | 2 +- cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js | 2 +- .../mapbender/02-frontend/toolbar/04-testImageExport.cy.js | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js b/cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js index 3897098..468e4a4 100644 --- a/cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js +++ b/cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js @@ -16,6 +16,7 @@ describe('Test Legend', () => { const mbSelector = 'div.accordion-cell div.mb-element-layertree'; it('Test Legend', () => { cy.CyLog("Test Legend", "Start"); + cy.showBanner("Legend test!") cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); @@ -44,7 +45,7 @@ describe('Test Legend', () => { } }) // Legende anschalten. - cy.get('span.iconBig > i.fa-th-list').parent().click(); + cy.get('span[data-test="mb-iconLegend"]').click(); cy.wait(2000); cy.get('div.legend-dialog').find('button[data-test="mb-legend-btn-close"]').click(); diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js b/cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js index bbbd1a7..9cf4eee 100644 --- a/cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js +++ b/cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js @@ -23,7 +23,7 @@ describe('Test WMS-Loader', () => { // test wms1 // open wmsloader - cy.get('span.iconBig > i.fa-globe').parent().click(); + cy.get('span[data-test="mb-iconWms"]').click(); // add wms-link cy.get('div.mb-element-wmsloader') @@ -37,7 +37,7 @@ describe('Test WMS-Loader', () => { .click(); // test wms2 - cy.get('span.iconBig > i.fa-globe').parent().click(); + cy.get('span[data-test="mb-iconWms"]').click(); cy.get('div.mb-element-wmsloader') .find('input[name="loadWmsUrl"]') .clear() diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js b/cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js index 931bd71..a4e8ce2 100644 --- a/cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js +++ b/cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js @@ -20,7 +20,7 @@ describe('Test POI', () => { cy.visit(myUrl); // open POI - cy.get('span.iconBig > i.fa-thumbtack').parent().click(); + cy.get('span[data-test="mb-iconPoi"]').click(); // write POI Text cy.get('div.mb-poi-popup').find('textarea.form-control').type('{enter}Cypress Test POI!'); // Create POI diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js b/cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js index 56fe348..75aca7a 100644 --- a/cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js +++ b/cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js @@ -20,7 +20,7 @@ describe('Test print', () => { cy.visit(myUrl); // Open print menu. - cy.get('i.fa-print').click(); + cy.get('span[data-test="mb-iconPrint"]').click(); // Test the template choice cy.get('label.form-label[for="template"]') diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js b/cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js index b815e4c..43fec4a 100644 --- a/cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js +++ b/cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js @@ -19,7 +19,7 @@ describe('Test Bildexport', () => { cy.visit(myUrl); // Print menu select. - cy.get(`span > i.fa-camera`).click() + cy.get('span[data-test="mb-iconImageExport"]').click(); cy.get('input[data-test="imageexport-btn-submit"]').click() From 361281b3d427cd531d044e326e83fe1445ad5627 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 27 Jan 2025 08:14:39 +0100 Subject: [PATCH 02/21] rename directory --- .../02-frontend/{toolbar => 02-toolbar}/00-testLegend.cy.js | 0 .../02-frontend/{toolbar => 02-toolbar}/01-testWMSLoader.cy.js | 0 .../02-frontend/{toolbar => 02-toolbar}/02-testPOI.cy.js | 0 .../02-frontend/{toolbar => 02-toolbar}/03-testPrint.cy.js | 0 .../02-frontend/{toolbar => 02-toolbar}/04-testImageExport.cy.js | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename cypress/e2e/mapbender/02-frontend/{toolbar => 02-toolbar}/00-testLegend.cy.js (100%) rename cypress/e2e/mapbender/02-frontend/{toolbar => 02-toolbar}/01-testWMSLoader.cy.js (100%) rename cypress/e2e/mapbender/02-frontend/{toolbar => 02-toolbar}/02-testPOI.cy.js (100%) rename cypress/e2e/mapbender/02-frontend/{toolbar => 02-toolbar}/03-testPrint.cy.js (100%) rename cypress/e2e/mapbender/02-frontend/{toolbar => 02-toolbar}/04-testImageExport.cy.js (100%) diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js similarity index 100% rename from cypress/e2e/mapbender/02-frontend/toolbar/00-testLegend.cy.js rename to cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js similarity index 100% rename from cypress/e2e/mapbender/02-frontend/toolbar/01-testWMSLoader.cy.js rename to cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js similarity index 100% rename from cypress/e2e/mapbender/02-frontend/toolbar/02-testPOI.cy.js rename to cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js similarity index 100% rename from cypress/e2e/mapbender/02-frontend/toolbar/03-testPrint.cy.js rename to cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js diff --git a/cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js similarity index 100% rename from cypress/e2e/mapbender/02-frontend/toolbar/04-testImageExport.cy.js rename to cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js From 2669ed735908d0355a3d91c1c32189b216bc9669 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:26:01 +0100 Subject: [PATCH 03/21] adjust viewport size --- cypress.config.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cypress.config.js b/cypress.config.js index a1e5cb6..09de18b 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -5,6 +5,8 @@ module.exports = defineConfig({ e2e: { baseUrl: 'http://localhost', experimentalRunAllSpecs: true, + viewportHeight: 800, + viewportWidth: 1280, // setupNodeEvents(on, config) { // // implement node event listeners here // }, From ea0604e2c516bc6d55394b5aaecb4601c655a2c4 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:30:47 +0100 Subject: [PATCH 04/21] some changes --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 960e3b2..c7e8793 100644 --- a/README.md +++ b/README.md @@ -102,8 +102,10 @@ pnpm add --save-dev cypress ``` **Open Cypress** + +To open cypress, execute this command on the bash in the folder where cypress is located: ```` -npx cypress open +user:/example/to/cypress/tests/for/mapbender/$ npx cypress open ```` Then select E2E Testing in the window that opens From c29b480d0d0b90e93698d4d533d2d7e2aa2da0a3 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:36:00 +0100 Subject: [PATCH 05/21] change doc language --- .../mapbender/02-frontend/02-toolbar/00-testLegend.cy.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js index 468e4a4..0631576 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js @@ -31,8 +31,8 @@ describe('Test Legend', () => { }) /** - * Alle Hauptlayer Nodes auslesen und aktivieren - * elements: Array mit Layer Node Namen + * Read and process all main layer nodes + * elements: Array with Layer Node Namen */ cy.get('li.serviceContainer') .children('div.leaveContainer') @@ -40,7 +40,7 @@ describe('Test Legend', () => { .then($elems =>{ for(let i = 0; i < $elems.length; i++){ cy.CyLog('Test Layertree: ', 'Test layer name: ' + $elems[i].title); - cy.showLayerTree({_layerNodeTitle: $elems[i].title}); + cy.showLayerNode({_layerNodeTitle: $elems[i].title}); cy.activateLayer({_layerNodeTitle: $elems[i].title}); } }) From 6a5a4ec0d2577263402d5efbf49f340eb00ad603 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:46:31 +0100 Subject: [PATCH 06/21] outsource redundant code to function --- .../04-sidepane/00-testLayer.cy.js | 23 +++++++------------ .../04-sidepane/01-testRuler.cy.js | 13 +++-------- .../04-sidepane/01-testSketches.cy.js | 6 +++-- cypress/support/frontend.js | 12 ++++++++++ 4 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 cypress/support/frontend.js diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js index d4ca733..c78532b 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js @@ -20,18 +20,11 @@ describe('Test layer', () => { cy.visit(myUrl); // activate Layertree. - cy.get('div.container-accordion').each(($container, index) =>{ - const $mbElement = $container.find(mbSelector); - if($mbElement.length > 0 ){ - const cssClass = $mbElement.attr('class'); - cy.CyLog('Test Layertree', `sidepane class to activate: ${cssClass}`) - cy.get(`div#accordion${index + 1}`).click(); - } - }) + cy.selectSidePaneElement( mbSelector ); /** - * Alle Hauptlayer Nodes auslesen und verarbeiten - * elements: Array mit Layer Node Namen + * Read and process all main layer nodes + * elements: Array with Layer Node Namen */ cy.get('li.serviceContainer') .children('div.leaveContainer') @@ -39,14 +32,14 @@ describe('Test layer', () => { .then($elems =>{ for(let i = 0; i < $elems.length; i++){ cy.CyLog('Test Layertree: ', 'Test layer name: ' + $elems[i].title); + cy.showBanner('Test Layertree Node: ' + $elems[i].title); - cy.showLayerTree({_layerNodeTitle: $elems[i].title}); + cy.showLayerNode({_layerNodeTitle: $elems[i].title}); cy.deactivateLayer({_layerNodeTitle: $elems[i].title}); - cy.wait(1000); cy.activateLayer({_layerNodeTitle: $elems[i].title}); - cy.wait(1000); - cy.layerNodeRecursion({_layerNodeTitle: $elems[i].title}); - cy.hideLayerTree({_layerNodeTitle: $elems[i].title}); + cy.showLayerNodes({_layerNodeTitle: $elems[i].title}); + cy.wait(2000); + cy.hideLayerNode({_layerNodeTitle: $elems[i].title}); } }) diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js index f0f6e64..7b4d6e6 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js @@ -19,15 +19,8 @@ describe('Test Ruler', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); - // activate the ruler - cy.get('div.container-accordion').each(($container, index) =>{ - const $mbElement = $container.find(mbSelector); - if($mbElement.length > 0 ){ - const cssClass = $mbElement.attr('class'); - cy.CyLog('>>>>>>>>', `Container ${index + 1} hat Mapbender-Klasse: ${cssClass}`) - cy.get(`div#accordion${index + 1}`).click(); - } - }) + // activate the ruler in the sidepane + cy.selectSidePaneElement( mbSelector ); // line test cy.get('input[data-test="mb-ruler-rb-line"]').click(); @@ -49,7 +42,7 @@ describe('Test Ruler', () => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ); - const y = Math.floor(height / 2 ); + const y = (Math.floor(height / 2 )) + 100; cy.wrap($canvas).click(x,y); cy.wrap($canvas).click(x,y + 100); cy.wrap($canvas).click(x + 100,y + 100); diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js index 10df6de..b941f66 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js @@ -27,7 +27,9 @@ describe('Test Ruler', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); - // activate the ruler + // activate the sketches + cy.selectSidePaneElement( mbSelector ); + /* cy.get('div.container-accordion').each(($container, index) =>{ const $mbElement = $container.find(mbSelector); if($mbElement.length > 0 ){ @@ -36,7 +38,7 @@ describe('Test Ruler', () => { cy.get(`div#accordion${index + 1}`).click(); } }) - +*/ // test sketch point cy.get('button[data-tool-name="point"]').click(); diff --git a/cypress/support/frontend.js b/cypress/support/frontend.js new file mode 100644 index 0000000..065e0ad --- /dev/null +++ b/cypress/support/frontend.js @@ -0,0 +1,12 @@ +// Activate element in the sidepane +// cy.selectSidePaneElement(mbElementSelector); +Cypress.Commands.add( 'selectSidePaneElement', (mbElementSelector) => { + cy.get('div.container-accordion').each(($container, index) =>{ + const $mbElement = $container.find(mbElementSelector); + if($mbElement.length > 0 ){ + const cssClass = $mbElement.attr('class'); + cy.CyLog('Test Layertree', `sidepane class to activate: ${cssClass}`) + cy.get(`div#accordion${index + 1}`).click(); + } + }) +}) \ No newline at end of file From a33464f6b22c708d032775526002aeb145f8d4ef Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:47:21 +0100 Subject: [PATCH 07/21] add frontend.js --- cypress/support/e2e.js | 1 + 1 file changed, 1 insertion(+) diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js index 8f58949..4824691 100644 --- a/cypress/support/e2e.js +++ b/cypress/support/e2e.js @@ -16,6 +16,7 @@ // Import commands.js using ES2015 syntax: import './commands' import './backend' +import './frontend' import './layer' import './dev' From 910367fd742fe7471b20e8c8f49d2eacdeb84001 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:48:31 +0100 Subject: [PATCH 08/21] rename functions --- cypress/support/layer.js | 65 ++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 43 deletions(-) diff --git a/cypress/support/layer.js b/cypress/support/layer.js index f2bdf7d..e0468f0 100644 --- a/cypress/support/layer.js +++ b/cypress/support/layer.js @@ -1,57 +1,31 @@ -// -// cy.checkLayerTree({ _layerNodeName: 'Fachdaten (DB)' }) -Cypress.Commands.add('checkLayerTree', ({_layerNodeTitle: layerNodeTitle}) => { - - cy.CyLog('LayerTree Check: ', layerNodeTitle) - - cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') - .siblings(`[title="öffnen/schließen"]`) - .then($el => { - - if ($el.hasClass('active')){ - cy.CyLog('LOG: Layerknoten','open') - }else { - cy.CyLog('LOG: ', 'Layerknoten closed') - cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') - .siblings(`[title="öffnen/schließen"]`) - .click(); - } - }) - - cy.activateLayer({_layerNodeTitle: layerNodeTitle}) - -}) - -// cy.layerNodeRecursion({ _layerNodeTitle: 'Fachdaten (DB)' }) -Cypress.Commands.add('layerNodeRecursion', ({_layerNodeTitle: layerNodeTitle}) => { +// showLayerNodes +// cy.showLayerNodes({ _layerNodeTitle: 'Node title' }) +Cypress.Commands.add('showLayerNodes', ({_layerNodeTitle: layerNodeTitle}) => { + cy.CyLog('showLayerNodes( layerNodeTitle ) - layerNodeTitle: ', layerNodeTitle); cy.get('span.layer-title[title="'+layerNodeTitle+'"]').then(($elem) => { if ($elem.parent().siblings('ul.layers').length > 0){ - cy.showLayerTree({_layerNodeTitle: layerNodeTitle}); + cy.showLayerNode({_layerNodeTitle: layerNodeTitle}); cy.wrap($elem) .parent() .siblings('ul.layers') .find('span.layer-title') .then($subElem =>{ - cy.CyLog('Test Layer',"Count Sublayer: " + $subElem.length); + for(let i = 0; i < $subElem.length; i++){ - cy.CyLog('######', 'span Title: ' + $subElem[i].title); - //cy.CyLog('<<<<<<', 'Unterlayer nummmmber: ' + (i + 1)); - cy.layerNodeRecursion({_layerNodeTitle: $subElem[i].title}); + cy.showLayerNodes({_layerNodeTitle: $subElem[i].title}); } }); - // cy.CyLog('DEV', 'Hat Unterlayer!!'); } - // else - // { - // cy.CyLog('DEV', 'Hat KEINE Unterlayer!!'); - // } + }) }) -Cypress.Commands.add('showLayerTree', ({_layerNodeTitle: layerNodeTitle}) => { - cy.CyLog('Test LayerTree show: ', layerNodeTitle); +// showLayerNode +// cy.showLayerNode({ _layerNodeTitle: 'Node title' }) +Cypress.Commands.add('showLayerNode', ({_layerNodeTitle: layerNodeTitle}) => { + cy.CyLog('showLayerNode( layerNodeTitle ) - layerNodeTitle: ', layerNodeTitle); cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') .siblings(`span[data-test="mb-lt-layer-folder-icon"]`) .then($el =>{ @@ -65,9 +39,10 @@ Cypress.Commands.add('showLayerTree', ({_layerNodeTitle: layerNodeTitle}) => { }) }) -Cypress.Commands.add('hideLayerTree', ({_layerNodeTitle: layerNodeTitle}) => { - cy.CyLog('Test LayerTree hide: ', layerNodeTitle); - //cy.CyLog('TEST', 'call hideLayerTree with layerNodeTitle: ' + layerNodeTitle) +// hideLayerNode +// cy.hideLayerNode({ _layerNodeTitle: 'Node title' }) +Cypress.Commands.add('hideLayerNode', ({_layerNodeTitle: layerNodeTitle}) => { + cy.CyLog('hideLayerNode( layerNodeTitle ) - layerNodeTitle: ', layerNodeTitle); cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') .siblings(`span[data-test="mb-lt-layer-folder-icon"]`) @@ -82,8 +57,10 @@ Cypress.Commands.add('hideLayerTree', ({_layerNodeTitle: layerNodeTitle}) => { }); }); +// activateLayer +// cy.activateLayer({ _layerNodeTitle: 'Node title' }) Cypress.Commands.add('activateLayer', ({_layerNodeTitle: layerNodeTitle}) => { - cy.CyLog('Test LayerTree activate: ', layerNodeTitle); + cy.CyLog('activateLayer( layerNodeTitle ) - layerNodeTitle: ', layerNodeTitle); cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') .siblings(`span[data-test="mb-lt-layer-visibility"]`) .then($el =>{ @@ -97,8 +74,10 @@ Cypress.Commands.add('activateLayer', ({_layerNodeTitle: layerNodeTitle}) => { }) }) +// deactivateLayer +// cy.deactivateLayer({ _layerNodeTitle: 'Node title' }) Cypress.Commands.add('deactivateLayer', ({_layerNodeTitle: layerNodeTitle}) => { - cy.CyLog('Test LayerTree deactivate: ', layerNodeTitle); + cy.CyLog('deactivateLayer( layerNodeTitle ) - layerNodeTitle: ', layerNodeTitle); cy.get('.mb-element-layertree [title="'+layerNodeTitle+'"]') .siblings(`span[data-test="mb-lt-layer-visibility"]`) .then($el =>{ From b9c9c352de82d2ed5c3d1f23f6cbd8e5d9893eac Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 24 Feb 2025 13:56:45 +0100 Subject: [PATCH 09/21] update cypress version --- package-lock.json | 17 +++++++++-------- package.json | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 335c466..407dc97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,8 +4,9 @@ "requires": true, "packages": { "": { + "name": "mapbender4", "dependencies": { - "cypress": "^13.15.2" + "cypress": "^14.0.1" } }, "node_modules/@colors/colors": { @@ -469,9 +470,9 @@ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -482,9 +483,9 @@ } }, "node_modules/cypress": { - "version": "13.15.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.2.tgz", - "integrity": "sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-14.0.1.tgz", + "integrity": "sha512-gBAvKZE3f6eBaW1v8OtrwAFP90rjNZjjOO40M2KvOvmwVXk96Ps5Yjyck1EzGkXmNCaC/8kXFOY/1KD/wsaWpQ==", "hasInstallScript": true, "dependencies": { "@cypress/request": "^3.0.6", @@ -535,7 +536,7 @@ "cypress": "bin/cypress" }, "engines": { - "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" } }, "node_modules/dashdash": { diff --git a/package.json b/package.json index 1ec012f..05aa705 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "cypress": "^13.15.2" + "cypress": "^14.0.1" } } From 36e21543ad9db9be537f42226da9d3c52a678179 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Wed, 5 Mar 2025 10:45:55 +0100 Subject: [PATCH 10/21] config banner --- cypress/support/commands.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 8ae7ea5..556ec37 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -34,11 +34,10 @@ Cypress.Commands.add('login', (benutzer) => { .type(benutzer._username); cy.get('input[name=_password]') .type(benutzer._password); - //cy.get('[type="submit"]').click(); cy.get('input[data-test="mb-submit"]').click(); }); -Cypress.Commands.add('showBanner', (message, duration = 1000) => { +Cypress.Commands.add('showBanner', (message, duration = 2000) => { cy.document().then((doc) => { // Prüfen, ob ein Banner bereits existiert @@ -60,17 +59,16 @@ Cypress.Commands.add('showBanner', (message, duration = 1000) => { banner.style.zIndex = '9999'; doc.body.appendChild(banner); } - // Nachricht aktualisieren + // Update message banner.innerText = message; - cy.wait(duration); - // Banner nach einer bestimmten Zeit entfernen (optional) - /*if (duration > 0) { + // Remove banner after a certain time (optional) + if (duration > 0) { setTimeout(() => { if (banner) { banner.remove(); } }, duration); - }*/ + } cy.mbLog('Banner: ' + message); }); }); From f37ec2d4cdff6e09a0b1e49f43208fe25e433d12 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Fri, 7 Mar 2025 09:52:16 +0100 Subject: [PATCH 11/21] standardise test description --- cypress/e2e/mapbender/00-init/00-login.cy.js | 2 +- cypress/e2e/mapbender/00-init/01-copyDeleteApplication.cy.js | 2 +- cypress/e2e/mapbender/00-init/02-copyApplication.cy.js | 2 +- cypress/e2e/mapbender/00-init/03-deleteApplication.cy.js | 2 +- .../mapbender/01-backend/00-standard/00-backendStandard.cy.js | 2 +- .../e2e/mapbender/01-backend/00-standard/01-appStandard.cy.js | 2 +- cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js | 2 +- .../e2e/mapbender/01-backend/01-security/03-deleteUser.cy.js | 2 +- .../e2e/mapbender/01-backend/01-security/04-addGroup.cy.js | 2 +- .../e2e/mapbender/01-backend/01-security/05-deleteGroup.cy.js | 2 +- .../mapbender/01-backend/01-security/addUserGroupRight.cy.js | 2 +- .../mapbender/01-backend/02-sources/04-addDataSource.cy.js | 2 +- .../mapbender/01-backend/02-sources/06-updateDataSource.cy.js | 2 +- .../mapbender/01-backend/02-sources/08-deleteDataSource.cy.js | 2 +- .../01-backend/03-applications/02-addLayoutToolbarLink.cy.js | 2 +- .../01-backend/03-applications/04-addWmsService.cy.js | 2 +- .../e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js | 2 +- .../mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js | 2 +- cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js | 2 +- .../e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js | 2 +- .../mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js | 2 +- .../e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js | 4 ++-- .../e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js | 2 +- .../mapbender/02-frontend/04-sidepane/01-testSketches.cy.js | 2 +- .../02-frontend/06-footer/00-testScaleSelector.cy.js | 2 +- .../mapbender/02-frontend/06-footer/01-testSrsSelector.cy.js | 2 +- .../02-frontend/06-footer/02-testApplicationSwitcher.cy.js | 2 +- 27 files changed, 28 insertions(+), 28 deletions(-) diff --git a/cypress/e2e/mapbender/00-init/00-login.cy.js b/cypress/e2e/mapbender/00-init/00-login.cy.js index 30127a5..a013995 100644 --- a/cypress/e2e/mapbender/00-init/00-login.cy.js +++ b/cypress/e2e/mapbender/00-init/00-login.cy.js @@ -7,7 +7,7 @@ describe('mapbender login to app', () => { cy.visit(mainUrl); }); - it('login', () => { + it('test login to mapbender', () => { cy.login({_username: user, _password: password}); }); }); \ No newline at end of file diff --git a/cypress/e2e/mapbender/00-init/01-copyDeleteApplication.cy.js b/cypress/e2e/mapbender/00-init/01-copyDeleteApplication.cy.js index dfba645..5ec143d 100644 --- a/cypress/e2e/mapbender/00-init/01-copyDeleteApplication.cy.js +++ b/cypress/e2e/mapbender/00-init/01-copyDeleteApplication.cy.js @@ -11,7 +11,7 @@ describe('copy and delete application', () => { cy.login({_username: user, _password: password}); }); - it('Copy Application', () => { + it('test copy and delete application', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(mainUrl); cy.contains(myAppTitle).scrollIntoView({ offset: { top: -200, left:0 } }); diff --git a/cypress/e2e/mapbender/00-init/02-copyApplication.cy.js b/cypress/e2e/mapbender/00-init/02-copyApplication.cy.js index bba1907..1f0e8a4 100644 --- a/cypress/e2e/mapbender/00-init/02-copyApplication.cy.js +++ b/cypress/e2e/mapbender/00-init/02-copyApplication.cy.js @@ -11,7 +11,7 @@ describe('copy application', () => { cy.login({_username: user, _password: password}); }); - it('Copy Application', () => { + it('test copy application', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(mainUrl); cy.contains(myAppTitle).scrollIntoView({ offset: { top: -200, left:0 } }); diff --git a/cypress/e2e/mapbender/00-init/03-deleteApplication.cy.js b/cypress/e2e/mapbender/00-init/03-deleteApplication.cy.js index 82fc542..eb324a7 100644 --- a/cypress/e2e/mapbender/00-init/03-deleteApplication.cy.js +++ b/cypress/e2e/mapbender/00-init/03-deleteApplication.cy.js @@ -11,7 +11,7 @@ describe('delete application', () => { cy.login({_username: user, _password: password}); }); - it('Copy Application', () => { + it('test delete application', () => { cy.contains(myAppTitle).scrollIntoView({ offset: { top: -200, left:0 } }); cy.wait(2000); cy.deleteApplication({ _slug: myAppSlug }); diff --git a/cypress/e2e/mapbender/01-backend/00-standard/00-backendStandard.cy.js b/cypress/e2e/mapbender/01-backend/00-standard/00-backendStandard.cy.js index 37ab990..dec7638 100644 --- a/cypress/e2e/mapbender/01-backend/00-standard/00-backendStandard.cy.js +++ b/cypress/e2e/mapbender/01-backend/00-standard/00-backendStandard.cy.js @@ -11,7 +11,7 @@ describe('check_backend_main_functions', () => { cy.login({_username: user, _password: password}); }); - it('Check backend functions', () => { + it('test check backend standard functions', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug }); cy.visit(mainUrl); diff --git a/cypress/e2e/mapbender/01-backend/00-standard/01-appStandard.cy.js b/cypress/e2e/mapbender/01-backend/00-standard/01-appStandard.cy.js index ac57993..d7efaeb 100644 --- a/cypress/e2e/mapbender/01-backend/00-standard/01-appStandard.cy.js +++ b/cypress/e2e/mapbender/01-backend/00-standard/01-appStandard.cy.js @@ -11,7 +11,7 @@ describe('check_backend_main_functions', () => { cy.login({_username: user, _password: password}); }); - it('Check backend application functions', () => { + it('test check backend standard application functions', () => { cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug }); cy.visit(mainUrl); cy.contains(myAppTitle).scrollIntoView({ offset: { top: -200, left:0 } }); diff --git a/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js b/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js index 525e2ae..f27f392 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js @@ -12,7 +12,7 @@ describe('create new user', () => { cy.login({_username: user, _password: password}); }); - it('addMapbenderUser ', () => { + it('test add mapbender user ', () => { cy.addMapbenderUser({ _username: userName, _email: userMail, _password: userPassword }); }); diff --git a/cypress/e2e/mapbender/01-backend/01-security/03-deleteUser.cy.js b/cypress/e2e/mapbender/01-backend/01-security/03-deleteUser.cy.js index 140eeef..b204c1b 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/03-deleteUser.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/03-deleteUser.cy.js @@ -10,7 +10,7 @@ describe('delete Mapbender User', () => { cy.login({_username: user, _password: password}); }) - it('deleteMapbenderUser ', () => { + it('test delete mapbender user ', () => { cy.deleteMapbenderUser(userName); }); diff --git a/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js b/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js index f19cf43..95a466f 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js @@ -11,7 +11,7 @@ describe('create new user', () => { cy.login({_username: user, _password: password}); }); - it('addMapbenderGroup ', () => { + it('test add mapbender group ', () => { cy.addMapbenderGroup(mbGroup, mbGroupDescription); }); diff --git a/cypress/e2e/mapbender/01-backend/01-security/05-deleteGroup.cy.js b/cypress/e2e/mapbender/01-backend/01-security/05-deleteGroup.cy.js index 4c8f23f..a8c5d2b 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/05-deleteGroup.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/05-deleteGroup.cy.js @@ -10,7 +10,7 @@ describe('delete Mapbender User', () => { cy.login({_username: user, _password: password}); }) - it('deleteMapbenderGroup ', () => { + it('test delete mapbender group ', () => { cy.deleteMapbenderGroup(mbGroupTitle); }); diff --git a/cypress/e2e/mapbender/01-backend/01-security/addUserGroupRight.cy.js b/cypress/e2e/mapbender/01-backend/01-security/addUserGroupRight.cy.js index 44f841e..56d1c32 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/addUserGroupRight.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/addUserGroupRight.cy.js @@ -19,7 +19,7 @@ describe('add user to group', () => { const myAppUrl = mainUrl + 'application/' + myAppSlug; const waitLong= 2000; - it('deleteDataSource', () => { + it('test add mapbender user to group', () => { cy.CyLog('test user to group', 'Start'); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(mainUrl); diff --git a/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js b/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js index 8f4472f..dd4c032 100644 --- a/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js +++ b/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js @@ -11,7 +11,7 @@ describe('Add Data Source', () => { const dataSource = 'https://www.wms.nrw.de/geobasis/wms_nw_alkis?VERSION=1.3.0&Service=WMS&Request=getCapabilities'; const waitLong= 2000; - it('addDataSource', () => { + it('test add data source', () => { cy.CyLog('Test add Data Source', 'Start'); cy.addMapbenderSource(dataSource); diff --git a/cypress/e2e/mapbender/01-backend/02-sources/06-updateDataSource.cy.js b/cypress/e2e/mapbender/01-backend/02-sources/06-updateDataSource.cy.js index 2024813..41af26f 100644 --- a/cypress/e2e/mapbender/01-backend/02-sources/06-updateDataSource.cy.js +++ b/cypress/e2e/mapbender/01-backend/02-sources/06-updateDataSource.cy.js @@ -11,7 +11,7 @@ describe('Update Data Source', () => { const dataSource = 'FOSS4G Conference Locations'; const waitLong= 2000; - it('updateDataSource', () => { + it('test update data source', () => { cy.CyLog('Test update Data Source', 'Start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/repository'); diff --git a/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js b/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js index 50ef5dc..3c5581a 100644 --- a/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js +++ b/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js @@ -11,7 +11,7 @@ describe('Delete Data Source', () => { const dataSourceTitle = 'WMS NW ALKIS'; const waitLong= 2000; - it('deleteDataSource', () => { + it('test delete data source', () => { cy.CyLog('Test delete Data Source', 'Start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/repository'); diff --git a/cypress/e2e/mapbender/01-backend/03-applications/02-addLayoutToolbarLink.cy.js b/cypress/e2e/mapbender/01-backend/03-applications/02-addLayoutToolbarLink.cy.js index c079699..71893c0 100644 --- a/cypress/e2e/mapbender/01-backend/03-applications/02-addLayoutToolbarLink.cy.js +++ b/cypress/e2e/mapbender/01-backend/03-applications/02-addLayoutToolbarLink.cy.js @@ -13,7 +13,7 @@ describe('add link to toolbar in layout', () => { const myAppUrl = mainUrl + 'application/' + myAppSlug; const waitLong= 2000; - it('deleteDataSource', () => { + it('test add link to toolbar', () => { cy.CyLog('test add link to toolbar in layout', 'Start'); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); diff --git a/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js b/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js index 7c7737a..67c9b3a 100644 --- a/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js +++ b/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js @@ -16,7 +16,7 @@ describe('add wms service to layerset', () => { const dataSourceTitle = ['WMS NW ALKIS', 'FOSS4G']; const waitLong= 2000; const waitShort = 500; - it('deleteDataSource', () => { + it('test add wms service', () => { cy.CyLog('test add wms service layerset main', 'Start'); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js index 0631576..791386e 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/00-testLegend.cy.js @@ -14,7 +14,7 @@ describe('Test Legend', () => { const myUrl = mainUrl + 'application/' + myAppSlug; // create selector for layertree (layers must be activated for legend) const mbSelector = 'div.accordion-cell div.mb-element-layertree'; - it('Test Legend', () => { + it('test map legend', () => { cy.CyLog("Test Legend", "Start"); cy.showBanner("Legend test!") cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js index 9cf4eee..1e2076a 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/01-testWMSLoader.cy.js @@ -15,7 +15,7 @@ describe('Test WMS-Loader', () => { const waitLong = 2000; const wms1 = 'https://www.wms.nrw.de/geobasis/wms_nw_tfis?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0'; // geoportal.nrw touristic informations const wms2 = 'https://www.wms.nrw.de/wms/kitas?REQUEST=GetCapabilities&SERVICE=WMS&VERSION=1.3.0'; // geoportal.nrw kindertagesstätten - it('Test WMS-Loader', () => { + it('test WMS loader', () => { cy.CyLog("Test WMS-Loader", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js index a4e8ce2..10b22a2 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/02-testPOI.cy.js @@ -13,7 +13,7 @@ describe('Test POI', () => { const myUrl = mainUrl + 'application/' + myAppSlug; const waitLong = 2000; - it('Test POI', () => { + it('test POI', () => { cy.CyLog("Test POI", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.viewport(1200, 800); diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js index 75aca7a..c7e8b0b 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/03-testPrint.cy.js @@ -12,7 +12,7 @@ describe('Test print', () => { }); const myUrl = mainUrl + 'application/' + myAppSlug; - it('Test', () => { + it('test print', () => { cy.CyLog("Test Print", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); // Chance default ViewPort. Because the print button is not visible in smaller sizes diff --git a/cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js b/cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js index 43fec4a..b10a7c8 100644 --- a/cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js +++ b/cypress/e2e/mapbender/02-frontend/02-toolbar/04-testImageExport.cy.js @@ -12,7 +12,7 @@ describe('Test Bildexport', () => { }); const myUrl = mainUrl + 'application/' + myAppSlug + '?#150000@8.52417/50.18313r0@EPSG:25832'; - it('Test', () => { + it('test image export', () => { cy.CyLog("Test Image Export", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js index c78532b..9d6292b 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/00-testLayer.cy.js @@ -14,8 +14,8 @@ describe('Test layer', () => { const myUrl = mainUrl + 'application/' + myAppSlug; // create selector for layertree const mbSelector = 'div.accordion-cell div.mb-element-layertree'; - it('Test LayerTree', () => { - cy.CyLog("Test Layertree", "Start"); + it('test layertree', () => { + cy.CyLog("Test layertree", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js index 7b4d6e6..a653a14 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js @@ -14,7 +14,7 @@ describe('Test Ruler', () => { const myUrl = mainUrl + 'application/' + myAppSlug; // create selector for ruler const mbSelector = 'div.accordion-cell div.mb-element-ruler'; - it('Test Ruler', () => { + it('test ruler', () => { cy.CyLog("Test Ruler", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.visit(myUrl); diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js index b941f66..521b594 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js @@ -21,7 +21,7 @@ describe('Test Ruler', () => { const btnYellow = 'button[data-color="#ffff33"]'; const btnGreen = 'button[data-color="#00837e"]'; const btnOrange = 'button[data-color="#ff7f00"]'; - it('Test sketches', () => { + it('test sketches', () => { cy.CyLog("Test Sketches", "Start"); // Create test application cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); diff --git a/cypress/e2e/mapbender/02-frontend/06-footer/00-testScaleSelector.cy.js b/cypress/e2e/mapbender/02-frontend/06-footer/00-testScaleSelector.cy.js index 53d938f..cc09711 100644 --- a/cypress/e2e/mapbender/02-frontend/06-footer/00-testScaleSelector.cy.js +++ b/cypress/e2e/mapbender/02-frontend/06-footer/00-testScaleSelector.cy.js @@ -15,7 +15,7 @@ describe('Test POI', () => { const waitLong = 1000; const waitShort = 200; const scaleLiArray = ['500','1000','2500','5000','7500','10000','25000','500000','50000000','25000']; - it('Test POI', () => { + it('test Scale Selector', () => { cy.CyLog("Test Scale Selector", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.viewport(1200, 800); diff --git a/cypress/e2e/mapbender/02-frontend/06-footer/01-testSrsSelector.cy.js b/cypress/e2e/mapbender/02-frontend/06-footer/01-testSrsSelector.cy.js index 55c2f92..1b0ec50 100644 --- a/cypress/e2e/mapbender/02-frontend/06-footer/01-testSrsSelector.cy.js +++ b/cypress/e2e/mapbender/02-frontend/06-footer/01-testSrsSelector.cy.js @@ -15,7 +15,7 @@ describe('Test POI', () => { const waitLong = 1000; const waitShort = 200; const srsLiArray = ['EPSG:4326','EPSG:3857','EPSG:25832','EPSG:25833','EPSG:31466','EPSG:31467','EPSG:4326']; - it('Test POI', () => { + it('test Srs Selector', () => { cy.CyLog("Test Srs Selector", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.viewport(1200, 800); diff --git a/cypress/e2e/mapbender/02-frontend/06-footer/02-testApplicationSwitcher.cy.js b/cypress/e2e/mapbender/02-frontend/06-footer/02-testApplicationSwitcher.cy.js index f1f9e5f..70e8a48 100644 --- a/cypress/e2e/mapbender/02-frontend/06-footer/02-testApplicationSwitcher.cy.js +++ b/cypress/e2e/mapbender/02-frontend/06-footer/02-testApplicationSwitcher.cy.js @@ -15,7 +15,7 @@ describe('Test POI', () => { const waitLong = 1000; const waitShort = 200; const appLiArray = ['mapbender_user','mapbender_user_basic']; - it('Test POI', () => { + it('test App Switcher', () => { cy.CyLog("Test App Switcher", "Start"); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); cy.viewport(1200, 800); From b3c7f6881b127bd9ceacf4c7dccaba02a20601fb Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Mon, 10 Mar 2025 11:36:23 +0100 Subject: [PATCH 12/21] Login function customised. If denied, an error is generated. --- cypress/support/commands.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 556ec37..79d9d36 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -35,6 +35,15 @@ Cypress.Commands.add('login', (benutzer) => { cy.get('input[name=_password]') .type(benutzer._password); cy.get('input[data-test="mb-submit"]').click(); + + cy.get('body').then($body => { + if( $body.find('[data-test="mb-login-box"]').length ){ + cy.mbLog("Login failed"); + throw new Error("Login failed!"); + }else{ + cy.mbLog("Login correct"); + } + }); }); Cypress.Commands.add('showBanner', (message, duration = 2000) => { From dce8e41690f9864e22a32238da089d1bc143f8ab Mon Sep 17 00:00:00 2001 From: Thorsten Hack Date: Tue, 20 Jan 2026 16:54:24 +0100 Subject: [PATCH 13/21] Fix references to canvas --- .../02-frontend/04-sidepane/01-testRuler.cy.js | 4 ++-- .../02-frontend/04-sidepane/01-testSketches.cy.js | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js index a653a14..55e3a1e 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testRuler.cy.js @@ -24,7 +24,7 @@ describe('Test Ruler', () => { // line test cy.get('input[data-test="mb-ruler-rb-line"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ); @@ -38,7 +38,7 @@ describe('Test Ruler', () => { cy.wait(2000); // area test cy.get('input[data-test="mb-ruler-rb-area"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ); diff --git a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js index 521b594..87ff9c9 100644 --- a/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js +++ b/cypress/e2e/mapbender/02-frontend/04-sidepane/01-testSketches.cy.js @@ -42,7 +42,7 @@ describe('Test Ruler', () => { // test sketch point cy.get('button[data-tool-name="point"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ); @@ -67,7 +67,7 @@ describe('Test Ruler', () => { // test sketch Line cy.get('button[data-tool-name="line"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ) - 100; @@ -92,7 +92,7 @@ describe('Test Ruler', () => { // test sketch polygon cy.get('button[data-tool-name="polygon"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ) + 100; @@ -116,7 +116,7 @@ describe('Test Ruler', () => { // test sketch rectangle cy.get('button[data-tool-name="rectangle"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ) + 300; @@ -131,7 +131,7 @@ describe('Test Ruler', () => { // test sketch circle cy.get('button[data-tool-name="circle"]').click(); - cy.get('canvas').then(($canvas) => { + cy.get('.mb-element-map canvas').then(($canvas) => { const width = $canvas.width(); const height = $canvas.height(); const x = Math.floor(width / 2 ) + 300; From 42fdb6f5da5055932653990df5f7e9759ddf9e6a Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Wed, 19 Mar 2025 12:17:03 +0100 Subject: [PATCH 14/21] add logging --- cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js b/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js index f27f392..7ccdb26 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/02-addUser.cy.js @@ -13,7 +13,9 @@ describe('create new user', () => { }); it('test add mapbender user ', () => { + cy.CyLog("create new user", "Start"); cy.addMapbenderUser({ _username: userName, _email: userMail, _password: userPassword }); + cy.CyLog("create new user", "Stopp"); }); }) \ No newline at end of file From c4eb32dd5362cc8a35ce6389af8eda0ca4968058 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Wed, 19 Mar 2025 12:17:46 +0100 Subject: [PATCH 15/21] add logging --- .../e2e/mapbender/01-backend/01-security/04-addGroup.cy.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js b/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js index 95a466f..222173a 100644 --- a/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js +++ b/cypress/e2e/mapbender/01-backend/01-security/04-addGroup.cy.js @@ -1,6 +1,7 @@ const mbGroup = 'Cypress'; const mbGroupDescription = 'This is the Cypress Test Group'; -describe('create new user', () => { +describe('create new group', () => { + const myApp = Cypress.env('application'); const user = myApp['user']; const password = myApp['password']; @@ -12,7 +13,8 @@ describe('create new user', () => { }); it('test add mapbender group ', () => { + cy.CyLog("create new group", "Start"); cy.addMapbenderGroup(mbGroup, mbGroupDescription); + cy.CyLog("create new group", "Stopp"); }); - }) \ No newline at end of file From e5330abb9e051a839d1aea9d4c83331cf372b1d6 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Wed, 19 Mar 2025 12:18:44 +0100 Subject: [PATCH 16/21] delete unused function. Add logging --- cypress/support/commands.js | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 79d9d36..bdcd6e7 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -27,6 +27,7 @@ // login // cy.login({ _username: 'root', _password: 'root' }) Cypress.Commands.add('login', (benutzer) => { + cy.CyLog('call function login', 'start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url); cy.get('ul[data-test="login"] > li').click(); @@ -44,9 +45,11 @@ Cypress.Commands.add('login', (benutzer) => { cy.mbLog("Login correct"); } }); + cy.CyLog('call function login', 'stopp'); }); Cypress.Commands.add('showBanner', (message, duration = 2000) => { + cy.CyLog('call function showBanner', 'start'); cy.document().then((doc) => { // Prüfen, ob ein Banner bereits existiert @@ -80,13 +83,5 @@ Cypress.Commands.add('showBanner', (message, duration = 2000) => { } cy.mbLog('Banner: ' + message); }); + cy.CyLog('call function showBanner', 'stopp'); }); - -// close Symfony Toolbar -// cy.closeSymfonyToolbar() -Cypress.Commands.add('closeSymfonyToolbar', (source) => { - cy.visit('/') - cy.get('[class="hide-button"]').click() -}) - - From 21aae6efc8c537b356b138569db57d1099b7f93b Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Wed, 19 Mar 2025 12:20:40 +0100 Subject: [PATCH 17/21] add logging. Add exception when group or user allready exists --- cypress/support/backend.js | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/cypress/support/backend.js b/cypress/support/backend.js index 3c3c631..52e7f59 100644 --- a/cypress/support/backend.js +++ b/cypress/support/backend.js @@ -2,6 +2,7 @@ // duplicate Mapbender Demo App // cy.copyApplication({ _title: 'Beispiel', _slug:'beispiel' }) Cypress.Commands.add('copyApplication', (new_application) => { + cy.CyLog('call function copyApplication', 'start'); const url = Cypress.env('application')['mainUrl'] ; cy.visit(url + 'manager/application/mapbender_user/copydirectly' ); cy.get('#application_title').clear() @@ -9,20 +10,24 @@ Cypress.Commands.add('copyApplication', (new_application) => { cy.get('#application_slug').clear() .type(new_application._slug); cy.get('input[data-test="mb-submit"]').click(); + cy.CyLog('call function copyApplication', 'stopp'); }); // delete application // cy.deleteApplication({ _apptitle: 'test'}) Cypress.Commands.add('deleteApplication', (app) => { + cy.CyLog('call function deleteApplication', 'start'); const url = Cypress.env('application')['mainUrl'] cy.visit(url); cy.get('[data-test="' + app._slug + '-delete"]').click(); cy.get('button[data-test="mb-submit"]').click(); + cy.CyLog('call function deleteApplication', 'stopp'); }); // add User to Mapbender // cy.addMapbenderUser({ _username: 'Norbert Nordpol', _email: 'Norbert.Nordpol@nn.org' }) Cypress.Commands.add( 'addMapbenderUser', (newUser)=> { + cy.CyLog('Call function addMapbenderUser', 'Start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/security'); cy.get('[data-test="mb-security-user-add"]').click(); @@ -35,21 +40,33 @@ Cypress.Commands.add( 'addMapbenderUser', (newUser)=> { cy.get('[id="user_password_second"]') .type(newUser._password); cy.get('input[data-test="mb-submit"]').click(); + cy.get('body').then($body => { + + if($body.find('div.invalid-feedback').length){ + cy.mbLog("User could not saved!"); + throw new Error("Add user failed!"); + }else{ + cy.mbLog("User added"); + } + }); + cy.CyLog('Call function addMapbenderUser', 'Stopp'); }); // delete User from Mapbender // cy.deleteMapbenderUser(10); Cypress.Commands.add('deleteMapbenderUser', (userName) => { + cy.CyLog('Call function deleteMapbenderUser', 'start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/security'); cy.get('span[data-test="' + userName + '-user-delete"]').click(); cy.get('button[data-test="mb-submit"]').click(); + cy.CyLog('Call function deleteMapbenderUser', 'stopp'); }) // add Group to Mapbender // cy.addMapbenderGroup({ _groupname: 'cypress'}) Cypress.Commands.add( 'addMapbenderGroup', (newGroup, description)=> { - cy.CyLog('Test Add Group', 'Start'); + cy.CyLog('Call function addMapbenderGroup', 'Start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/security'); @@ -60,22 +77,33 @@ Cypress.Commands.add( 'addMapbenderGroup', (newGroup, description)=> { cy.get('[id="group_description"]') .type(description); cy.get('input[data-test="mb-submit"]').click(); - cy.CyLog('Test Add Group', 'End'); + cy.get('body').then($body => { + if($body.find('div.invalid-feedback').length){ + cy.mbLog("Group could not saved!"); + throw new Error("Add group failed!"); + }else{ + cy.mbLog("Group added"); + } + }); + cy.CyLog('Call function addMapbenderGroup', 'stopp'); }); // delete User from Mapbender // cy.deleteMapbenderGroup(groupTitle); Cypress.Commands.add('deleteMapbenderGroup', (groupTitle) => { + cy.CyLog('call function deleteMapbenderGroup', 'start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/security'); cy.get('a#tabGroups').click(); cy.get('span[data-test="' + groupTitle + '-group-delete"]').click(); cy.get('button[data-test="mb-submit"]').click(); + cy.CyLog('call function deleteMapbenderGroup', 'stopp'); }); // Add DataSource // cy.addMapbenderSource(SourceTitle); Cypress.Commands.add('addMapbenderSource', (sourceTitle) => { + cy.CyLog('call function addMapbenderSource', 'start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/repository'); cy.get('a[data-test="mb-source-add"]').click(); @@ -83,11 +111,13 @@ Cypress.Commands.add('addMapbenderSource', (sourceTitle) => { cy.get('li[data-value="wms"]').click(); cy.get('input#http_source_selection_originUrl').type(sourceTitle); cy.get('input[type="submit"]').click(); + cy.CyLog('call function addMapbenderSource', 'stopp'); }); // Delete first found Data Source // cy.deleteMapbenderSource(sourceTitle); Cypress.Commands.add('deleteMapbenderSource', (sourceTitle) => { + cy.CyLog('call function deleteMapbenderSource', 'start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/repository'); @@ -95,4 +125,5 @@ Cypress.Commands.add('deleteMapbenderSource', (sourceTitle) => { cy.wrap($elem).first().click(); cy.get('button[data-test="mb-submit"]').click(); }); + cy.CyLog('call function deleteMapbenderSource', 'stopp'); }); \ No newline at end of file From 7b6f255ab1585dea5907253811a86cb51a5596c1 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Thu, 16 Apr 2026 11:26:21 +0200 Subject: [PATCH 18/21] Service url strings add to configuration file. --- cypress.config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cypress.config.js b/cypress.config.js index 09de18b..b45e0c8 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -20,6 +20,11 @@ module.exports = defineConfig({ layer : { 1 : 'Themen' }, + sources :{ + wmts: 'https://www.wmts.nrw.de/geobasis/wmts_nw_alkis', + wms: 'https://www.wms.nrw.de/geobasis/wms_nw_alkis?VERSION=1.3.0&Service=WMS&Request=getCapabilities', + vt: 'https://wms.wheregroup.com/tileserver/style/osm-liberty.json' + }, }, }, }, From d28c2b8d9a7871ac59c5a1ddfd4054e638d7e1b2 Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Thu, 16 Apr 2026 11:27:38 +0200 Subject: [PATCH 19/21] add test service for wmts and vector tiles --- .../02-sources/04-addDataSource.cy.js | 36 +++++++++++++++++-- cypress/support/backend.js | 14 ++++---- 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js b/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js index dd4c032..20d1a34 100644 --- a/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js +++ b/cypress/e2e/mapbender/01-backend/02-sources/04-addDataSource.cy.js @@ -3,18 +3,49 @@ describe('Add Data Source', () => { const user = myApp['user']; const password = myApp['password']; const mainUrl = myApp['mainUrl']; + const sourceWMTS = "manager/repository/new/wmts"; + const sourceWMS = "manager/repository/new/wms"; + const sourceVT = "manager/repository/new/vector_tiles"; beforeEach(() => { cy.visit(mainUrl); cy.login({_username: user, _password: password}); }) - const dataSource = 'https://www.wms.nrw.de/geobasis/wms_nw_alkis?VERSION=1.3.0&Service=WMS&Request=getCapabilities'; + const serviceWMS = Cypress.env('application')['sources']['wms']; + const serviceWMTS = Cypress.env('application')['sources']['wmts']; + const serviceVT = Cypress.env('application')['sources']['vt']; + + //const serviceWMS = Cypress.env('application').sources.wms; const waitLong= 2000; it('test add data source', () => { cy.CyLog('Test add Data Source', 'Start'); - cy.addMapbenderSource(dataSource); + // Test vector tiles + cy.addMapbenderSource(serviceVT, sourceVT); + cy.wait(waitLong); + cy.get('a#tabApplications').click(); + cy.wait(waitLong); + cy.get('a#tabService').click(); + cy.wait(waitLong); + cy.get('a#tabLayers').click(); + cy.wait(waitLong); + + + // Test WMS Service + cy.addMapbenderSource(serviceWMS, sourceWMS); + cy.wait(waitLong); + cy.get('a#tabApplications').click(); + cy.wait(waitLong); + cy.get('a#tabContact').click(); + cy.wait(waitLong); + cy.get('a#tabService').click(); + cy.wait(waitLong); + cy.get('a#tabLayers').click(); + cy.wait(waitLong); + + // Test WMTS Service + cy.addMapbenderSource(serviceWMTS, sourceWMTS); cy.wait(waitLong); cy.get('a#tabApplications').click(); cy.wait(waitLong); @@ -24,6 +55,7 @@ describe('Add Data Source', () => { cy.wait(waitLong); cy.get('a#tabLayers').click(); cy.wait(waitLong); + cy.get('a[data-test="mb-containerMatrixsets"]').click(); cy.CyLog('Test add Data Source', 'End'); }); diff --git a/cypress/support/backend.js b/cypress/support/backend.js index 52e7f59..ead0bd2 100644 --- a/cypress/support/backend.js +++ b/cypress/support/backend.js @@ -101,15 +101,15 @@ Cypress.Commands.add('deleteMapbenderGroup', (groupTitle) => { }); // Add DataSource -// cy.addMapbenderSource(SourceTitle); -Cypress.Commands.add('addMapbenderSource', (sourceTitle) => { +// cy.addMapbenderSource(sourceServiceURI); +Cypress.Commands.add('addMapbenderSource', (sourceServiceURI, sourceLink) => { cy.CyLog('call function addMapbenderSource', 'start'); const url = Cypress.env('application')['mainUrl']; - cy.visit(url + 'manager/repository'); - cy.get('a[data-test="mb-source-add"]').click(); - cy.get('div.dropdownValue').click(); - cy.get('li[data-value="wms"]').click(); - cy.get('input#http_source_selection_originUrl').type(sourceTitle); + //const inputID = (sourceLink.indexOf('vector_tiles') !== -1) ? 'http_source_selection_originUrl' : 'vector_tile_source_jsonUrl'; + const inputID = (!sourceLink.includes('vector_tiles')) ? 'http_source_selection_originUrl' : 'vector_tile_source_jsonUrl'; + cy.mbLog('Input ID: ' + inputID); + cy.visit(url + sourceLink); + cy.get('input#' + inputID).type(sourceServiceURI); cy.get('input[type="submit"]').click(); cy.CyLog('call function addMapbenderSource', 'stopp'); }); From 2e3b2bbe70c507421e4a452b8ccf95e93aeddefb Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Thu, 16 Apr 2026 13:23:34 +0200 Subject: [PATCH 20/21] delete WMTS and vector tiles too --- .../02-sources/08-deleteDataSource.cy.js | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js b/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js index 3c5581a..b12731a 100644 --- a/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js +++ b/cypress/e2e/mapbender/01-backend/02-sources/08-deleteDataSource.cy.js @@ -9,19 +9,40 @@ describe('Delete Data Source', () => { cy.login({_username: user, _password: password}); }) - const dataSourceTitle = 'WMS NW ALKIS'; + const dataSourceTitleWMS = 'WMS NW ALKIS'; + const dataSourceTitleWMTS = 'WMTS NW ALKIS'; + const dataSourceTitleVT = 'OSM Liberty'; const waitLong= 2000; it('test delete data source', () => { cy.CyLog('Test delete Data Source', 'Start'); const url = Cypress.env('application')['mainUrl']; cy.visit(url + 'manager/repository'); - cy.get('a[data-test="mb-delete-source-' + dataSourceTitle + '"]').then($elem =>{ + // WMS Service delete + cy.get('a[data-test="mb-delete-source-' + dataSourceTitleWMS + '"]').then($elem =>{ const wmsLength = $elem.length; for (let i = 0; i < $elem.length; i++){ - cy.deleteMapbenderSource(dataSourceTitle); + cy.deleteMapbenderSource(dataSourceTitleWMS); } }); + + // WMTS Service delete + cy.get('a[data-test="mb-delete-source-' + dataSourceTitleWMTS + '"]').then($elem =>{ + const wmsLength = $elem.length; + for (let i = 0; i < $elem.length; i++){ + cy.deleteMapbenderSource(dataSourceTitleWMTS); + } + }); + + // Vector tile Service delete + cy.get('a[data-test="mb-delete-source-' + dataSourceTitleVT + '"]').then($elem =>{ + const wmsLength = $elem.length; + for (let i = 0; i < $elem.length; i++){ + cy.deleteMapbenderSource(dataSourceTitleVT); + } + }); + + cy.wait(waitLong); cy.CyLog('Test delete Data Source', 'End'); }); From 5f94d988602162bc14357c558c24cea7c2db239c Mon Sep 17 00:00:00 2001 From: Arno Fleckenstein Date: Thu, 16 Apr 2026 15:35:02 +0200 Subject: [PATCH 21/21] fix addMapbenderSource call --- .../mapbender/01-backend/03-applications/04-addWmsService.cy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js b/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js index 67c9b3a..bad12a9 100644 --- a/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js +++ b/cypress/e2e/mapbender/01-backend/03-applications/04-addWmsService.cy.js @@ -20,7 +20,7 @@ describe('add wms service to layerset', () => { cy.CyLog('test add wms service layerset main', 'Start'); cy.copyApplication({ _title: myAppTitle, _slug: myAppSlug } ); - cy.addMapbenderSource(dataSource); + cy.addMapbenderSource(dataSource, 'manager/repository/new/wms'); cy.visit(mainUrl); cy.get('[data-test="' + myAppSlug + '-edit"]').click();