This is an automated email from the ASF dual-hosted git repository.

SvenO3 pushed a commit to branch 
4491-create-e2e-tests-for-critical-adapter-and-pipeline-updates
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to 
refs/heads/4491-create-e2e-tests-for-critical-adapter-and-pipeline-updates by 
this push:
     new c527024a67 Improve pipeline tests
c527024a67 is described below

commit c527024a67e612bd8b657dd043f6be10fa0b4c33
Author: Sven Oehler <[email protected]>
AuthorDate: Thu May 21 11:10:58 2026 +0200

    Improve pipeline tests
---
 ui/cypress/support/utils/pipeline/PipelineBtns.ts  |  8 ++++++
 ui/cypress/support/utils/pipeline/PipelineUtils.ts |  5 ++++
 .../pipeline/pipelineDataLakeSchemaUpdate.spec.ts  | 29 ++++++++++++++--------
 ...-assembly-options-pipeline-cache.component.html |  1 +
 4 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/ui/cypress/support/utils/pipeline/PipelineBtns.ts 
b/ui/cypress/support/utils/pipeline/PipelineBtns.ts
index b40d50fc1b..833c1b170b 100644
--- a/ui/cypress/support/utils/pipeline/PipelineBtns.ts
+++ b/ui/cypress/support/utils/pipeline/PipelineBtns.ts
@@ -58,6 +58,10 @@ export class PipelineBtns {
         return cy.dataCy('sp-element-configuration-save');
     }
 
+    public static savingPipelineModification() {
+        return cy.dataCy('saving-pipeline-modification', { timeout: 6000 });
+    }
+
     public static mappingCheckbox(fieldName: string) {
         return cy.dataCy(fieldName).find('.mdc-checkbox');
     }
@@ -98,6 +102,10 @@ export class PipelineBtns {
         return cy.dataCy('sp-pipeline-started-error', { timeout: 15000 });
     }
 
+    public static pipelineStartedSuccess() {
+        return cy.dataCy('sp-pipeline-started-success', { timeout: 15000 });
+    }
+
     public static updateAndMigratePipeline() {
         return cy.dataCy('btn-update-pipeline-migrate');
     }
diff --git a/ui/cypress/support/utils/pipeline/PipelineUtils.ts 
b/ui/cypress/support/utils/pipeline/PipelineUtils.ts
index 1ea06a0eaf..b9668aa8e4 100644
--- a/ui/cypress/support/utils/pipeline/PipelineUtils.ts
+++ b/ui/cypress/support/utils/pipeline/PipelineUtils.ts
@@ -257,4 +257,9 @@ export class PipelineUtils {
             .find('tr')
             .should('have.length', expectedCount + 1);
     }
+
+    public static pipelineElementUpdateCompleted() {
+        PipelineBtns.savingPipelineModification().should('be.visible');
+        PipelineBtns.savingPipelineModification().should('not.exist');
+    }
 }
diff --git a/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts 
b/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
index 39333880eb..d17b1fe6a0 100644
--- a/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
+++ b/ui/cypress/tests/pipeline/pipelineDataLakeSchemaUpdate.spec.ts
@@ -44,8 +44,10 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
         editPipelineProcessor();
         PipelineBtns.mappingCheckbox('density').click();
         PipelineBtns.saveElementConfigBtn().click();
+        PipelineUtils.pipelineElementUpdateCompleted();
         PipelineBtns.settingsPipelineElementBtn().eq(1).click();
-        savePipelineElementAndStartUpdatePreflight();
+        PipelineBtns.saveElementConfigBtn().click();
+        savePipeline();
 
         PipelineBtns.pipelineEditWarning().contains(dataLakeMeasurement);
         PipelineBtns.pipelineMeasurementEditWarning().contains(
@@ -69,7 +71,9 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
             .clear()
             .type('densityHash')
             .blur();
-        savePipelineElementAndStartUpdatePreflight();
+        PipelineBtns.saveElementConfigBtn().click();
+        PipelineUtils.pipelineElementUpdateCompleted();
+        savePipeline();
 
         PipelineBtns.pipelineEditWarning().contains(dataLakeMeasurement);
         PipelineBtns.pipelineChartEditWarning().contains(chartName);
@@ -77,9 +81,7 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
         PipelineBtns.updateAndMigratePipeline().should('not.be.disabled');
         PipelineBtns.updateAndMigratePipeline().click();
 
-        cy.dataCy('sp-pipeline-started-success', { timeout: 15000 }).should(
-            'be.visible',
-        );
+        PipelineBtns.pipelineStartedSuccess().should('be.visible');
         PipelineBtns.navigateToPipelineOverview().click();
 
         ChartUtils.goToDatalake();
@@ -89,7 +91,9 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
     it('Test pipeline update with an added field', () => {
         createAdapter();
         addPipelineWithProcessor(javaScriptEvalProcessor());
+        addTableChart(dataLakeMeasurement);
 
+        PipelineUtils.goToPipelines();
         editPipelineProcessor();
         PipelineBtns.outputAddField().click();
         PipelineBtns.outputRuntimeName().last().type('pipeline_added');
@@ -99,12 +103,16 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
             .get('mat-option')
             .contains('Float')
             .click();
-        savePipelineElementAndStartUpdatePreflight();
+        PipelineBtns.saveElementConfigBtn().click();
+        PipelineUtils.pipelineElementUpdateCompleted();
+        savePipeline();
 
         PipelineBtns.pipelineEditWarning().should('not.exist');
-        cy.dataCy('sp-pipeline-started-success', { timeout: 15000 }).should(
-            'be.visible',
-        );
+        PipelineBtns.pipelineStartedSuccess().should('be.visible');
+        PipelineBtns.navigateToPipelineOverview().click();
+
+        ChartUtils.goToDatalake();
+        ChartBtns.chartSyncProblemIcon().should('not.exist');
     });
 
     function addPipelineWithProcessor(processingElement: PipelineElementInput) 
{
@@ -154,8 +162,7 @@ describe('Test pipeline updates with data lake schema 
changes', () => {
         PipelineBtns.settingsPipelineElementBtn().first().click();
     }
 
-    function savePipelineElementAndStartUpdatePreflight() {
-        PipelineBtns.saveElementConfigBtn().click();
+    function savePipeline() {
         PipelineBtns.savePipelineBtn().click();
         PipelineBtns.navigateToOverviewCheckbox().children().click();
         PipelineBtns.editorApplyBtn().click();
diff --git 
a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
 
b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
index b59c2c1f00..380c1af063 100644
--- 
a/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
+++ 
b/ui/src/app/editor/components/pipeline-assembly/pipeline-assembly-options/pipeline-assembly-options-pipeline-cache/pipeline-assembly-options-pipeline-cache.component.html
@@ -26,6 +26,7 @@
             <div fxLayout="row" fxLayoutAlign="start center">
                 @if (pipelineCacheRunning) {
                     <mat-spinner
+                        data-cy="saving-pipeline-modification"
                         [mode]="'indeterminate'"
                         color="accent"
                         [diameter]="15"

Reply via email to