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

zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/dev by this push:
     new 3dd21f7934 fix(#3933): test editadaptervaluesandfields fails (#3935)
3dd21f7934 is described below

commit 3dd21f7934249aa8e2332816aeb56e3e9953250e
Author: Philipp Zehnder <[email protected]>
AuthorDate: Tue Nov 18 08:02:05 2025 +0100

    fix(#3933): test editadaptervaluesandfields fails (#3935)
---
 ui/cypress/support/utils/connect/ConnectBtns.ts    |  16 +++
 .../utils/connect/ConnectEventSchemaUtils.ts       |  19 +++-
 ui/cypress/support/utils/connect/ConnectUtils.ts   |  14 ++-
 .../connect/editAdapterValuesAndFields.spec.ts     | 122 +++++++++++----------
 ui/cypress/tests/connect/formats/format.spec.ts    |  43 ++++----
 .../edit-schema-transformation.component.html      |   4 +-
 6 files changed, 130 insertions(+), 88 deletions(-)

diff --git a/ui/cypress/support/utils/connect/ConnectBtns.ts 
b/ui/cypress/support/utils/connect/ConnectBtns.ts
index 0b0bb06671..7f9c75565c 100644
--- a/ui/cypress/support/utils/connect/ConnectBtns.ts
+++ b/ui/cypress/support/utils/connect/ConnectBtns.ts
@@ -165,6 +165,16 @@ export class ConnectBtns {
             .click();
     }
 
+    public static connectSchemaCorrectionValueInput() {
+        return cy.dataCy('connect-schema-correction-value', { timeout: 10000 
});
+    }
+
+    public static connectSchemaCorrectionOperatorInput() {
+        return cy.dataCy('connect-schema-correction-operator', {
+            timeout: 10000,
+        });
+    }
+
     public static timestampStringRegex() {
         return cy.dataCy('connect-timestamp-string-regex', { timeout: 10000 });
     }
@@ -185,6 +195,12 @@ export class ConnectBtns {
         return cy.dataCy('sp-event-schema-next-button');
     }
 
+    public static semanticTypeInput() {
+        return cy.dataCy('semantic-type', {
+            timeout: 10000,
+        });
+    }
+
     // ========================================================================
 
     // =====================  Format configurations  ==========================
diff --git a/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts 
b/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
index b080a1bf42..001b1316ba 100644
--- a/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
+++ b/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
@@ -114,8 +114,8 @@ export class ConnectEventSchemaUtils {
     public static numberTransformation(propertyName: string, value: string) {
         ConnectEventSchemaUtils.clickEditProperty(propertyName);
         // cy.wait(1000);
-        cy.dataCy('connect-schema-correction-value').type(value);
-        cy.dataCy('connect-schema-correction-operator')
+        ConnectBtns.connectSchemaCorrectionValueInput().type(value);
+        ConnectBtns.connectSchemaCorrectionOperatorInput()
             .click()
             .get('mat-option')
             .contains('Multiply')
@@ -125,7 +125,7 @@ export class ConnectEventSchemaUtils {
         cy.dataCy('edit-' + propertyName.toLowerCase(), {
             timeout: 10000,
         }).click({ force: true });
-        cy.dataCy('connect-schema-correction-value', { timeout: 10000 
}).should(
+        ConnectBtns.connectSchemaCorrectionValueInput().should(
             'have.value',
             value,
         );
@@ -257,6 +257,12 @@ export class ConnectEventSchemaUtils {
         ConnectBtns.saveEditProperty().click();
     }
 
+    public static changeSemanticType(propertyName: string, value: string) {
+        ConnectEventSchemaUtils.clickEditProperty(propertyName);
+        ConnectBtns.semanticTypeInput().clear().type(value);
+        ConnectBtns.saveEditProperty().click();
+    }
+
     private static checkIfWarningIsShown(warningIsShown: boolean) {
         if (warningIsShown) {
             cy.dataCy('warning-change-data-type').should('be.visible');
@@ -285,11 +291,14 @@ export class ConnectEventSchemaUtils {
         cy.dataCy('sp-event-schema-next-button').click();
     }
 
-    public static clickEditProperty(propertyName: string) {
+    public static clickEditProperty(propertyName: string, validation = true) {
         cy.dataCy(`edit-${ConnectEventSchemaUtils.escape(propertyName)}`, {
             timeout: 10000,
         }).click();
-        ConnectEventSchemaUtils.validateRuntimeName(propertyName);
+
+        if (validation) {
+            ConnectEventSchemaUtils.validateRuntimeName(propertyName);
+        }
     }
 
     public static regexValueInput() {
diff --git a/ui/cypress/support/utils/connect/ConnectUtils.ts 
b/ui/cypress/support/utils/connect/ConnectUtils.ts
index 41c92eecf0..4c2f556905 100644
--- a/ui/cypress/support/utils/connect/ConnectUtils.ts
+++ b/ui/cypress/support/utils/connect/ConnectUtils.ts
@@ -99,6 +99,18 @@ export class ConnectUtils {
         );
     }
 
+    public static createAdapterUntilEventSchemaConfiguration(
+        adapterInput: AdapterInput,
+    ) {
+        ConnectUtils.goToConnect();
+
+        ConnectUtils.goToNewAdapterPage();
+
+        ConnectUtils.selectAdapter(adapterInput.adapterType);
+
+        ConnectUtils.configureAdapter(adapterInput);
+    }
+
     private static configureDimensionProperties(
         adapterConfiguration: AdapterInput,
     ) {
@@ -117,6 +129,7 @@ export class ConnectUtils {
         cy.dataCy('sp-adapter-name').clear().type(newName);
         cy.dataCy('sp-adapter-name').should('have.value', newName);
     }
+
     public static addMachineDataSimulator(
         name: string,
         persist: boolean = false,
@@ -278,7 +291,6 @@ export class ConnectUtils {
         });
     }
 
-    // Close adapter preview
     public static closeAdapterPreview() {
         cy.get('button').contains('Close').parent().click();
     }
diff --git a/ui/cypress/tests/connect/editAdapterValuesAndFields.spec.ts 
b/ui/cypress/tests/connect/editAdapterValuesAndFields.spec.ts
index 7b00e8261f..d4eafc18f8 100644
--- a/ui/cypress/tests/connect/editAdapterValuesAndFields.spec.ts
+++ b/ui/cypress/tests/connect/editAdapterValuesAndFields.spec.ts
@@ -22,108 +22,110 @@ import { AdapterBuilder } from 
'../../support/builder/AdapterBuilder';
 import { ConnectEventSchemaUtils } from 
'../../support/utils/connect/ConnectEventSchemaUtils';
 
 describe('Test Edit Adapter', () => {
+    const adapterName = 'Test Adapter';
+
     beforeEach('Setup Test', () => {
         cy.initStreamPipesTest();
     });
 
-    it('Test configuration of adapter fields ', () => {
-        // Set up new adapter
-        const builder = AdapterBuilder.create('Machine_Data_Simulator')
-            .setName('Machine_Data_Simulator')
-            .addInput('input', 'wait-time-ms', '1000');
-        const configuration = builder.build();
-        ConnectUtils.goToConnect();
-        ConnectUtils.goToNewAdapterPage();
-        ConnectUtils.selectAdapter(configuration.adapterType);
-        ConnectBtns.adapterSettingsNextBtn().click();
+    it('Edit and persist adapter schema and reconfigure adapter', () => {
+        createAdapterWithSchemaEdits();
+
+        validateSavedAdapterEdits();
+
+        reconfigureAdapterToUsePressureSensorInsteadOfFlowRate();
+    });
+
+    function createAdapterWithSchemaEdits() {
+        const adapterInput = AdapterBuilder.create('Machine_Data_Simulator')
+            .setName(adapterName)
+            .addInput('input', 'wait-time-ms', '1000')
+            .build();
+
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(adapterInput);
 
         // Add new property and edit field
-        cy.dataCy('connect-add-static-property').click();
-        cy.dataCy('connect-add-field-name').type('test-property-1');
-        cy.dataCy('connect-add-field-name-button').click();
-        cy.dataCy('edit-density').click();
-        // Change runtime name
-        ConnectBtns.runtimeNameInput().clear().type('test-density');
-        // Change field semantic type
-        cy.get('[id="domainproperty"]')
-            .clear()
-            .type('http://schema.org/Numbers');
-        // Change field data type
-        ConnectBtns.changeRuntimeType()
-            .click()
-            .get('mat-option')
-            .contains('Double')
-            .click();
-        // Provide correction value and operator
-        cy.dataCy('connect-schema-correction-value').type('2');
-        cy.dataCy('connect-schema-correction-operator')
-            .click()
-            .get('mat-option')
-            .contains('Multiply')
-            .click();
-        ConnectBtns.saveEditProperty().click();
-        cy.dataCy('sp-event-schema-next-button').click();
+        ConnectEventSchemaUtils.addStaticProperty(
+            'test-property-1',
+            'static-value-1',
+        );
 
-        // Fill in adapter name and close view
-        cy.dataCy('sp-adapter-name').type('Test Adapter');
-        cy.dataCy('adapter-settings-start-adapter-btn').click();
-        ConnectUtils.closeAdapterPreview();
+        // Edit property density
+        const propertyName = 'density';
+        ConnectEventSchemaUtils.changePropertyDataType(propertyName, 'Double');
+        ConnectEventSchemaUtils.numberTransformation(propertyName, '2');
+        ConnectEventSchemaUtils.changeSemanticType(
+            propertyName,
+            'http://schema.org/Numbers',
+        );
+        ConnectEventSchemaUtils.renameProperty(propertyName, 'test-density');
 
+        ConnectUtils.finishEventSchemaConfiguration();
+
+        ConnectUtils.startAdapter(adapterInput);
+    }
+
+    function validateSavedAdapterEdits() {
         // Edit adapter and check if given values and added property still 
provided
-        ConnectBtns.openActionsMenu('Test Adapter');
+        ConnectBtns.openActionsMenu(adapterName);
         ConnectBtns.editAdapter().should('not.be.disabled');
         ConnectBtns.editAdapter().click();
         ConnectBtns.adapterSettingsNextBtn().click();
-        cy.dataCy('edit-density').click();
+        ConnectEventSchemaUtils.clickEditProperty('density', false);
+        // cy.dataCy('edit-density').click();
         ConnectEventSchemaUtils.validateRuntimeName('test-density');
 
-        cy.get('[id="domainproperty"]').should(
+        ConnectBtns.semanticTypeInput().should(
             'have.value',
             'http://schema.org/Numbers',
         );
         ConnectBtns.changeRuntimeType().should('include.text', 'Double');
-        cy.dataCy('connect-schema-correction-value').should('have.value', '2');
-        cy.dataCy('connect-schema-correction-operator').should(
+        ConnectBtns.connectSchemaCorrectionValueInput().should(
+            'have.value',
+            '2',
+        );
+        ConnectBtns.connectSchemaCorrectionOperatorInput().should(
             'include.text',
             'Multiply',
         );
 
-        // Delete inserted values in edit field
-        ConnectBtns.runtimeNameInput().clear();
-        cy.get('[id="domainproperty"]').clear();
         ConnectBtns.changeRuntimeType()
             .click()
             .get('mat-option')
             .contains('Float')
             .click();
-        cy.dataCy('connect-schema-correction-value').clear();
+        ConnectBtns.connectSchemaCorrectionValueInput().clear();
         ConnectBtns.saveEditProperty().click();
-        cy.get('[class="general-panel"]').should(
+        ConnectEventSchemaUtils.schemaPreviewResultEvent().should(
             'include.text',
             'test-property-1',
         );
-        ConnectBtns.schemaNextBtn().click();
-        ConnectBtns.storeEditAdapter().click();
-        ConnectUtils.closeAdapterPreview();
 
+        storeAndCloseAdapterPreview();
+    }
+
+    function reconfigureAdapterToUsePressureSensorInsteadOfFlowRate() {
         // Configure adapter with pressure instead of flowrate
-        ConnectBtns.openActionsMenu('Test Adapter');
+        ConnectBtns.openActionsMenu(adapterName);
         ConnectBtns.editAdapter().click();
-        const newUserConfiguration = AdapterBuilder.create(
-            'Machine_Data_Simulator',
-        )
+
+        const adapterInput = AdapterBuilder.create('Machine_Data_Simulator')
             .addInput('input', 'wait-time-ms', '2000')
             .addInput('radio', 'selected', 'simulator-option-pressure')
             .build();
-        ConnectUtils.configureAdapter(newUserConfiguration);
+        ConnectUtils.configureAdapter(adapterInput);
 
-        // Check if given property still exists and close view afterwards
-        cy.get('[class="general-panel"]').should(
+        ConnectEventSchemaUtils.schemaPreviewResultEvent().should(
             'include.text',
             'test-property-1',
         );
+
+        storeAndCloseAdapterPreview();
+    }
+
+    function storeAndCloseAdapterPreview() {
         ConnectBtns.schemaNextBtn().click();
         ConnectBtns.storeEditAdapter().click();
         ConnectUtils.closeAdapterPreview();
-    });
+    }
 });
diff --git a/ui/cypress/tests/connect/formats/format.spec.ts 
b/ui/cypress/tests/connect/formats/format.spec.ts
index 551e6f561a..ba32dd7be0 100644
--- a/ui/cypress/tests/connect/formats/format.spec.ts
+++ b/ui/cypress/tests/connect/formats/format.spec.ts
@@ -19,7 +19,6 @@
 import { FileManagementUtils } from 
'../../../support/utils/FileManagementUtils';
 import { ConnectUtils } from '../../../support/utils/connect/ConnectUtils';
 import { ConnectBtns } from '../../../support/utils/connect/ConnectBtns';
-import { AdapterInput } from '../../../support/model/AdapterInput';
 import { AdapterBuilder } from '../../../support/builder/AdapterBuilder';
 
 describe('Test adapter formats', () => {
@@ -46,7 +45,9 @@ describe('Test adapter formats', () => {
             .setFormat('json')
             .addFormatInput('radio', 'json_options-single_object', '');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
@@ -61,7 +62,9 @@ describe('Test adapter formats', () => {
             .setFormat('json')
             .addFormatInput('radio', 'json_options-array', '');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
@@ -77,7 +80,9 @@ describe('Test adapter formats', () => {
             .addFormatInput('radio', 'json_options-array_field', '')
             .addFormatInput('input', ConnectBtns.jsonArrayFieldKey(), 'field');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
@@ -98,7 +103,9 @@ describe('Test adapter formats', () => {
             .setFormat('json')
             .addFormatInput('radio', 'json_options-geojson', '');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(geoJsonResultEvent);
@@ -112,7 +119,9 @@ describe('Test adapter formats', () => {
             .setFormat('xml')
             .addFormatInput('input', ConnectBtns.xmlTag(), 'event');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
@@ -127,7 +136,9 @@ describe('Test adapter formats', () => {
             .addFormatInput('input', ConnectBtns.csvDelimiter(), ';')
             .addFormatInput('checkbox', ConnectBtns.csvHeader(), 'check');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
@@ -141,7 +152,9 @@ describe('Test adapter formats', () => {
             .setFormat('csv')
             .addFormatInput('input', ConnectBtns.csvDelimiter(), ';');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         const expectedNoHeader = {
             key_0: 1667904471000,
@@ -164,23 +177,15 @@ describe('Test adapter formats', () => {
             .addFormatInput('input', ConnectBtns.csvDelimiter(), ',')
             .addFormatInput('checkbox', ConnectBtns.csvHeader(), 'check');
 
-        navigateToFormatSelection(template.build());
+        ConnectUtils.createAdapterUntilEventSchemaConfiguration(
+            template.build(),
+        );
 
         // Validate result
         validateResult(expected);
     });
 });
 
-const navigateToFormatSelection = (adapterInput: AdapterInput) => {
-    ConnectUtils.goToConnect();
-
-    ConnectUtils.goToNewAdapterPage();
-
-    ConnectUtils.selectAdapter('File_Stream');
-
-    ConnectUtils.configureAdapter(adapterInput);
-};
-
 const makeAdapterInputTemplate = (): AdapterBuilder => {
     return AdapterBuilder.create('File_Stream')
         .setName('File Stream Adapter Test')
diff --git 
a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.html
 
b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.html
index 69d03df290..0e3f225422 100644
--- 
a/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.html
+++ 
b/ui/src/app/connect/dialog/edit-event-property/components/edit-schema-transformation/edit-schema-transformation.component.html
@@ -65,9 +65,7 @@
                         <input
                             matInput
                             placeholder="Semantic Type"
-                            class="dmainProperty"
-                            name="domainproperty"
-                            id="domainproperty"
+                            data-cy="semantic-type"
                             [(ngModel)]="cachedProperty.semanticType"
                             [matAutocomplete]="st"
                             [disabled]="isTimestampProperty"

Reply via email to