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"
>