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

zehnder pushed a commit to branch 
3298-add-cypress-e2e-tests-for-compact-adapter-feature
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to 
refs/heads/3298-add-cypress-e2e-tests-for-compact-adapter-feature by this push:
     new b860cd99ed feat(#3298): Add test to check rename unit transformation 
rule for compact adapters
b860cd99ed is described below

commit b860cd99ed20faa9ac46c0b95e3ea84bb68e32eb
Author: Philipp Zehnder <[email protected]>
AuthorDate: Thu Oct 24 14:51:15 2024 +0200

    feat(#3298): Add test to check rename unit transformation rule for compact 
adapters
---
 .../support/builder/CompactAdapterBuilder.ts       |  5 +++++
 ui/cypress/support/utils/connect/ConnectBtns.ts    |  2 +-
 ui/cypress/support/utils/connect/ConnectUtils.ts   |  6 ++++++
 .../compactAdapterWithTransformation.spec.ts       | 25 ++++++++++++++++++++++
 .../live-preview-table.component.html              |  4 +++-
 5 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/ui/cypress/support/builder/CompactAdapterBuilder.ts 
b/ui/cypress/support/builder/CompactAdapterBuilder.ts
index 4569504b9a..2325985032 100644
--- a/ui/cypress/support/builder/CompactAdapterBuilder.ts
+++ b/ui/cypress/support/builder/CompactAdapterBuilder.ts
@@ -61,6 +61,11 @@ export class CompactAdapterBuilder {
         return this;
     }
 
+    public withMeasurementUnit(property: string, unit: string) {
+        this.compactAdapter.transform.measurementUnit[property] = unit;
+        return this;
+    }
+
     public addConfiguration(key: string, value: string) {
         const configuration = { [key]: value };
         this.compactAdapter.configuration.push(configuration);
diff --git a/ui/cypress/support/utils/connect/ConnectBtns.ts 
b/ui/cypress/support/utils/connect/ConnectBtns.ts
index 9256c2e1ad..ea8b2d82c3 100644
--- a/ui/cypress/support/utils/connect/ConnectBtns.ts
+++ b/ui/cypress/support/utils/connect/ConnectBtns.ts
@@ -17,7 +17,7 @@
  */
 export class ConnectBtns {
     public static detailsAdapter() {
-        return cy.dataCy('details-adapter');
+        return cy.dataCy('details-adapter', { timeout: 10000 });
     }
 
     public static deleteAdapter() {
diff --git a/ui/cypress/support/utils/connect/ConnectUtils.ts 
b/ui/cypress/support/utils/connect/ConnectUtils.ts
index fb7697992a..93f05408ee 100644
--- a/ui/cypress/support/utils/connect/ConnectUtils.ts
+++ b/ui/cypress/support/utils/connect/ConnectUtils.ts
@@ -358,6 +358,12 @@ export class ConnectUtils {
         ConnectUtils.validateEventsInPreview(amountOfProperties);
     }
 
+    public static getLivePreviewValue(runtimeName: string) {
+        return cy.dataCy(`live-preview-value-${runtimeName}`, {
+            timeout: 10000,
+        });
+    }
+
     public static validateEventsInPreview(amountOfProperties: number) {
         // View data
         ConnectBtns.detailsAdapter().click();
diff --git 
a/ui/cypress/tests/connect/compact/compactAdapterWithTransformation.spec.ts 
b/ui/cypress/tests/connect/compact/compactAdapterWithTransformation.spec.ts
index c48bee6760..4af2f359e2 100644
--- a/ui/cypress/tests/connect/compact/compactAdapterWithTransformation.spec.ts
+++ b/ui/cypress/tests/connect/compact/compactAdapterWithTransformation.spec.ts
@@ -18,6 +18,7 @@
 
 import { ConnectUtils } from '../../../support/utils/connect/ConnectUtils';
 import { CompactAdapterUtils } from 
'../../../support/utils/connect/CompactAdapterUtils';
+import { ConnectBtns } from '../../../support/utils/connect/ConnectBtns';
 
 describe('Add Compact Adapters', () => {
     beforeEach('Setup Test', () => {
@@ -45,4 +46,28 @@ describe('Add Compact Adapters', () => {
             ConnectUtils.validateEventSchema(runtimeNames);
         });
     });
+
+    it('Add an adapter and change measurement unit', () => {
+        const compactAdapter = CompactAdapterUtils.getMachineDataSimulator()
+            .withMeasurementUnit(
+                'temperature',
+                'http://qudt.org/vocab/unit#DegreeFahrenheit',
+            )
+            .setStart()
+            .build();
+
+        CompactAdapterUtils.storeCompactAdapter(compactAdapter).then(() => {
+            ConnectUtils.goToConnect();
+            ConnectBtns.detailsAdapter().click();
+
+            // This assertion works because the original value is below 100
+            // with the transformation the value is above 100
+            ConnectUtils.getLivePreviewValue('temperature')
+                .invoke('text')
+                .then(text => {
+                    const value = parseFloat(text.trim());
+                    expect(value).to.be.greaterThan(100);
+                });
+        });
+    });
 });
diff --git 
a/ui/src/app/core-ui/pipeline-element-runtime-info/live-preview-table/live-preview-table.component.html
 
b/ui/src/app/core-ui/pipeline-element-runtime-info/live-preview-table/live-preview-table.component.html
index ffaf3bd5b2..58c35e49f3 100644
--- 
a/ui/src/app/core-ui/pipeline-element-runtime-info/live-preview-table/live-preview-table.component.html
+++ 
b/ui/src/app/core-ui/pipeline-element-runtime-info/live-preview-table/live-preview-table.component.html
@@ -75,7 +75,9 @@
                     </ng-container>
                     <ng-container *ngIf="element.hasNoDomainProperty">
                         <div
-                            data-cy="live-preview-table-value"
+                            [attr.data-cy]="
+                                'live-preview-value-' + element.runtimeName
+                            "
                             class="value"
                             [class.value-changed]="element.valueChanged"
                         >

Reply via email to