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

dominikriemer 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 1ad2fb2d58 fix: Modify several cypress tests (#4593)
1ad2fb2d58 is described below

commit 1ad2fb2d5870f786cd98d50343097ed413b5ae98
Author: Dominik Riemer <[email protected]>
AuthorDate: Sat Jun 20 15:45:38 2026 +0200

    fix: Modify several cypress tests (#4593)
---
 ui/cypress/support/utils/asset/AssetBtns.ts        |  4 ++
 ui/cypress/support/utils/asset/AssetUtils.ts       | 36 ++++++++++++++++++
 ui/cypress/support/utils/chart/ChartBtns.ts        | 11 +++++-
 ui/cypress/support/utils/chart/ChartUtils.ts       |  6 ++-
 .../utils/configuration/ConfigurationUtils.ts      |  4 +-
 .../support/utils/configuration/SiteUtils.ts       | 13 +++++++
 .../utils/connect/ConnectEventSchemaUtils.ts       | 11 +++++-
 ui/cypress/support/utils/shared/SharedUtils.ts     |  4 ++
 ui/cypress/support/utils/user/PermissionUtils.ts   | 43 ++++++++++++++++++++++
 .../tests/configuration/labels/labels.spec.ts      |  2 +-
 ui/cypress/tests/configuration/sites/sites.spec.ts |  2 +-
 ui/cypress/tests/connect/editAdapter.smoke.spec.ts |  1 +
 .../userManagement/testUserRoleAssets.spec.ts      | 17 ++++-----
 13 files changed, 137 insertions(+), 17 deletions(-)

diff --git a/ui/cypress/support/utils/asset/AssetBtns.ts 
b/ui/cypress/support/utils/asset/AssetBtns.ts
index 8248d1eae8..25b7538938 100644
--- a/ui/cypress/support/utils/asset/AssetBtns.ts
+++ b/ui/cypress/support/utils/asset/AssetBtns.ts
@@ -63,6 +63,10 @@ export class AssetBtns {
         return cy.dataCy('edit-asset-' + assetName, { timeout: 10000 });
     }
 
+    public static manageAssetBtn(assetName: string) {
+        return cy.dataCy('open-manage-' + assetName, { timeout: 10000 });
+    }
+
     public static deleteAssetBtn(assetName: string) {
         return cy.dataCy('delete-asset-' + assetName, { timeout: 10000 });
     }
diff --git a/ui/cypress/support/utils/asset/AssetUtils.ts 
b/ui/cypress/support/utils/asset/AssetUtils.ts
index a408bd8418..3bce2762b4 100644
--- a/ui/cypress/support/utils/asset/AssetUtils.ts
+++ b/ui/cypress/support/utils/asset/AssetUtils.ts
@@ -22,6 +22,7 @@ import { GeneralUtils } from '../GeneralUtils';
 import { Asset } from '../../model/Asset';
 import { Isa95Type } from 
'../../../../projects/streampipes/platform-services/src/lib/model/gen/streampipes-model';
 import { AssetBuilder } from '../../builder/AssetBuilder';
+import { PermissionUtils } from '../user/PermissionUtils';
 
 export class AssetUtils {
     public static goToAssets() {
@@ -130,6 +131,41 @@ export class AssetUtils {
         AssetBtns.editAssetBtn(assetName).should('not.exist');
     }
 
+    public static openManageAsset(assetName: string) {
+        GeneralUtils.openMenuForRow(assetName);
+        AssetBtns.manageAssetBtn(assetName).should('be.visible').click();
+    }
+
+    public static changeOwnership(assetName: string, email: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.changeOwnershipInManageDialog(email);
+    }
+
+    public static markAsPublic(assetName: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.markElementAsPublicInManageDialog();
+    }
+
+    public static authorizeUser(assetName: string, email: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.authorizeUserInManageDialog(email);
+    }
+
+    public static authorizeGroup(assetName: string, groupName: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.authorizeGroupInManageDialog(groupName);
+    }
+
+    public static validateUserCanChangePermissions(assetName: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.validateUserCanChangePermissionsInManageDialog();
+    }
+
+    public static validateUserCanNotChangePermissions(assetName: string) {
+        AssetUtils.openManageAsset(assetName);
+        PermissionUtils.validateUserCanNotChangePermissionsInManageDialog();
+    }
+
     public static checkAmountOfAssetsGreaterThan(amount: number) {
         cy.dataCy('assets-table', { timeout: 10000 }).should(
             'have.length.greaterThan',
diff --git a/ui/cypress/support/utils/chart/ChartBtns.ts 
b/ui/cypress/support/utils/chart/ChartBtns.ts
index 5b24ae3e95..559c61ec48 100644
--- a/ui/cypress/support/utils/chart/ChartBtns.ts
+++ b/ui/cypress/support/utils/chart/ChartBtns.ts
@@ -81,8 +81,15 @@ export class ChartBtns {
         return cy.dataCy('open-new-data-view', { timeout: 10000 });
     }
 
-    public static addDataViewBtn(dataViewName) {
-        return cy.dataCy('add-data-view-btn-' + dataViewName);
+    public static addDataViewBtn(dataViewName: string) {
+        return cy.dataCy(
+            'add-data-view-btn-' + dataViewName.replaceAll(' ', ''),
+            { timeout: 10000 },
+        );
+    }
+
+    public static refreshChartSelectionBtn() {
+        return cy.dataCy('refresh-chart-button');
     }
 
     public static newDashboardDialogBtn() {
diff --git a/ui/cypress/support/utils/chart/ChartUtils.ts 
b/ui/cypress/support/utils/chart/ChartUtils.ts
index 12a38e78f1..07282169df 100644
--- a/ui/cypress/support/utils/chart/ChartUtils.ts
+++ b/ui/cypress/support/utils/chart/ChartUtils.ts
@@ -288,7 +288,11 @@ export class ChartUtils {
                 this.getFutureDate(),
             );
         }
-        ChartBtns.addDataViewBtn(dataViewName).click();
+
+        ChartBtns.refreshChartSelectionBtn().should('not.be.disabled');
+        ChartBtns.addDataViewBtn(dataViewName)
+            .should('be.visible')
+            .click('bottom', { scrollBehavior: false });
     }
 
     public static createAndEditDataView() {
diff --git a/ui/cypress/support/utils/configuration/ConfigurationUtils.ts 
b/ui/cypress/support/utils/configuration/ConfigurationUtils.ts
index 7a0675e040..8219c18c1f 100644
--- a/ui/cypress/support/utils/configuration/ConfigurationUtils.ts
+++ b/ui/cypress/support/utils/configuration/ConfigurationUtils.ts
@@ -55,8 +55,10 @@ export class ConfigurationUtils {
         });
     }
 
-    public static deleteLabel() {
+    public static deleteLabel(labelName: string) {
         cy.dataCy('delete-label-button').click();
+        cy.dataCy('confirm-delete').should('be.visible').click();
+        cy.contains('[data-cy="label-text"]', labelName).should('not.exist');
         cy.dataCy('no-table-entries').should('be.visible');
     }
 }
diff --git a/ui/cypress/support/utils/configuration/SiteUtils.ts 
b/ui/cypress/support/utils/configuration/SiteUtils.ts
index ec20e97530..a0010eaf3f 100644
--- a/ui/cypress/support/utils/configuration/SiteUtils.ts
+++ b/ui/cypress/support/utils/configuration/SiteUtils.ts
@@ -66,4 +66,17 @@ export class SiteUtils {
     public static openEditSiteDialog() {
         cy.dataCy(SiteUtils.BUTTON_EDIT_SITE).first().click();
     }
+
+    public static deleteSite(siteName: string) {
+        const siteSelectorName = siteName.replaceAll(' ', '_');
+
+        cy.dataCy(
+            `${SiteUtils.BUTTON_DELETE_SITE}-${siteSelectorName}`,
+        ).click();
+        cy.dataCy('confirm-delete').should('be.visible').click();
+        cy.contains(
+            `[data-cy="${SiteUtils.LABEL_TABLE_NAME}"]`,
+            siteName,
+        ).should('not.exist');
+    }
 }
diff --git a/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts 
b/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
index 6e3a878c21..f446a78688 100644
--- a/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
+++ b/ui/cypress/support/utils/connect/ConnectEventSchemaUtils.ts
@@ -41,9 +41,16 @@ export class ConnectEventSchemaUtils {
         propertyName: string,
         propertyScope: string,
     ) {
-        cy.dataCy('property-scope-' + propertyName, { timeout: 10000 
}).click();
+        ConnectBtns.configureFieldsEventPreviewResult().should('be.visible');
+        cy.dataCy('property-scope-' + propertyName, { timeout: 10000 })
+            .should('be.visible')
+            .click();
 
-        cy.dataCy(propertyScope + '-property-scope-value').click();
+        cy.dataCy(propertyScope + '-property-scope-value', {
+            timeout: 10000,
+        })
+            .should('be.visible')
+            .click();
     }
 
     public static addTimestampProperty() {
diff --git a/ui/cypress/support/utils/shared/SharedUtils.ts 
b/ui/cypress/support/utils/shared/SharedUtils.ts
index cd80f965f0..6346a66f53 100644
--- a/ui/cypress/support/utils/shared/SharedUtils.ts
+++ b/ui/cypress/support/utils/shared/SharedUtils.ts
@@ -22,4 +22,8 @@ export class SharedUtils {
     public static confirmDialogVisible() {
         SharedBtns.confirmDialog().should('be.visible');
     }
+
+    public static confirmDialogClosed() {
+        SharedBtns.confirmDialog().should('not.exist');
+    }
 }
diff --git a/ui/cypress/support/utils/user/PermissionUtils.ts 
b/ui/cypress/support/utils/user/PermissionUtils.ts
index 5500d8ea8d..9af95f7877 100644
--- a/ui/cypress/support/utils/user/PermissionUtils.ts
+++ b/ui/cypress/support/utils/user/PermissionUtils.ts
@@ -46,12 +46,23 @@ export class PermissionUtils {
         PermissionUtils.save();
     }
 
+    public static changeOwnershipInManageDialog(email: string) {
+        cy.dataCy('owner-select').click();
+        cy.get(`[data-cy="owner-option-${email}"]`, { timeout: 10000 
}).click();
+        PermissionUtils.saveManageDialog();
+    }
+
     public static markElementAsPublic(resourceName: string) {
         PermissionUtils.openManagePermissions(resourceName);
         StaticPropertyUtils.clickCheckbox('permission-public-element');
         PermissionUtils.save();
     }
 
+    public static markElementAsPublicInManageDialog() {
+        StaticPropertyUtils.clickCheckbox('permission-public-element');
+        PermissionUtils.saveManageDialog();
+    }
+
     public static authorizeUser(resourceName: string, email: string) {
         PermissionUtils.openManagePermissions(resourceName);
 
@@ -61,6 +72,13 @@ export class PermissionUtils {
         PermissionUtils.save();
     }
 
+    public static authorizeUserInManageDialog(email: string) {
+        cy.dataCy('authorized-user').type(email);
+        cy.get(`[data-cy="user-option-${email}"]`).click();
+
+        PermissionUtils.saveManageDialog();
+    }
+
     public static authorizeGroup(resourceName: string, groupName: string) {
         PermissionUtils.openManagePermissions(resourceName);
         cy.dataCy('authorized-group').type(groupName);
@@ -69,6 +87,21 @@ export class PermissionUtils {
         PermissionUtils.save();
     }
 
+    public static authorizeGroupInManageDialog(groupName: string) {
+        cy.dataCy('authorized-group').type(groupName);
+        cy.get(`[data-cy="group-option-${groupName}"]`).click();
+
+        PermissionUtils.saveManageDialog();
+    }
+
+    public static saveManageDialog() {
+        cy.dataCy('sp-manage-save').should('be.visible').click();
+    }
+
+    public static cancelManageDialog() {
+        cy.dataCy('sp-manage-cancel').should('be.visible').click();
+    }
+
     public static save() {
         //necessary as the old permission dialog is currently not replaced 
everywhere
         cy.get('body').then($body => {
@@ -124,4 +157,14 @@ export class PermissionUtils {
         cy.dataCy('permission-public-element').should('exist');
         PermissionUtils.cancel();
     }
+
+    public static validateUserCanChangePermissionsInManageDialog() {
+        cy.dataCy('permission-public-element').should('exist');
+        PermissionUtils.cancelManageDialog();
+    }
+
+    public static validateUserCanNotChangePermissionsInManageDialog() {
+        cy.dataCy('warning-permissions-managed-by-owner').should('exist');
+        PermissionUtils.cancelManageDialog();
+    }
 }
diff --git a/ui/cypress/tests/configuration/labels/labels.spec.ts 
b/ui/cypress/tests/configuration/labels/labels.spec.ts
index aececff1ac..1f2c268cc4 100644
--- a/ui/cypress/tests/configuration/labels/labels.spec.ts
+++ b/ui/cypress/tests/configuration/labels/labels.spec.ts
@@ -32,6 +32,6 @@ describe('Add and Delete Label', () => {
 
         ConfigurationUtils.checkLabel(labelName);
 
-        ConfigurationUtils.deleteLabel();
+        ConfigurationUtils.deleteLabel(labelName);
     });
 });
diff --git a/ui/cypress/tests/configuration/sites/sites.spec.ts 
b/ui/cypress/tests/configuration/sites/sites.spec.ts
index 5b0fb8b861..fe65d63378 100644
--- a/ui/cypress/tests/configuration/sites/sites.spec.ts
+++ b/ui/cypress/tests/configuration/sites/sites.spec.ts
@@ -58,7 +58,7 @@ describe('Test configuration of sites', () => {
             .first()
             .should('have.text', ' Area B ');
 
-        cy.dataCy(SiteUtils.BUTTON_DELETE_SITE + '-My_modified_Site').click();
+        SiteUtils.deleteSite(newSite);
         cy.dataCy(SiteUtils.LABEL_TABLE_NAME).should('have.length', 0);
     });
 });
diff --git a/ui/cypress/tests/connect/editAdapter.smoke.spec.ts 
b/ui/cypress/tests/connect/editAdapter.smoke.spec.ts
index 0a06983852..7009e12382 100644
--- a/ui/cypress/tests/connect/editAdapter.smoke.spec.ts
+++ b/ui/cypress/tests/connect/editAdapter.smoke.spec.ts
@@ -105,6 +105,7 @@ describe('Test Edit Adapter', () => {
         ConnectUtils.finishEventSchemaConfiguration();
         SharedUtils.confirmDialogVisible();
         SharedBtns.confirmDialogConfirmBtn().click();
+        SharedUtils.confirmDialogClosed();
         ConnectEventSchemaUtils.markPropertyAsTimestamp('timestamp');
 
         storeAndStartEditedAdapter();
diff --git a/ui/cypress/tests/userManagement/testUserRoleAssets.spec.ts 
b/ui/cypress/tests/userManagement/testUserRoleAssets.spec.ts
index f30bc938b0..ca3b79410a 100644
--- a/ui/cypress/tests/userManagement/testUserRoleAssets.spec.ts
+++ b/ui/cypress/tests/userManagement/testUserRoleAssets.spec.ts
@@ -20,10 +20,9 @@ import { UserRole } from 
'../../../src/app/core/auth/user-role.enum';
 import { UserUtils } from '../../support/utils/UserUtils';
 import { User } from '../../support/model/User';
 import { AssetUtils } from '../../support/utils/asset/AssetUtils';
-import { PermissionUtils } from '../../support/utils/user/PermissionUtils';
 import { AssetBuilder } from '../../support/builder/AssetBuilder';
 
-describe('Test User Roles for Dashboards', () => {
+describe('Test User Roles for Assets', () => {
     const assetName = 'test-asset';
     let assetUser1: User;
     let assetAdmin1: User;
@@ -61,7 +60,7 @@ describe('Test User Roles for Dashboards', () => {
     it('Make asset public', () => {
         setup();
 
-        PermissionUtils.markElementAsPublic(assetName);
+        AssetUtils.markAsPublic(assetName);
 
         assetIsVisibleAndEditableCanChangePermissions(UserUtils.adminUser);
 
@@ -73,7 +72,7 @@ describe('Test User Roles for Dashboards', () => {
     it('Share asset with other user and change ownership', () => {
         setup();
 
-        PermissionUtils.authorizeUser(assetName, assetAdmin2.email);
+        AssetUtils.authorizeUser(assetName, assetAdmin2.email);
 
         assetIsVisibleAndEditableCanChangePermissions(UserUtils.adminUser);
 
@@ -83,7 +82,7 @@ describe('Test User Roles for Dashboards', () => {
 
         UserUtils.switchUser(assetAdmin1);
         AssetUtils.goToAssets();
-        PermissionUtils.changeOwnership(assetName, assetAdmin2.email);
+        AssetUtils.changeOwnership(assetName, assetAdmin2.email);
 
         assetIsNotVisible(assetAdmin1);
 
@@ -101,7 +100,7 @@ describe('Test User Roles for Dashboards', () => {
 
         setup();
 
-        PermissionUtils.authorizeGroup(assetName, assetAdminGroup);
+        AssetUtils.authorizeGroup(assetName, assetAdminGroup);
 
         assetIsVisibleAndEditableCanChangePermissions(UserUtils.adminUser);
 
@@ -122,7 +121,7 @@ describe('Test User Roles for Dashboards', () => {
         AssetUtils.checkAmountOfAssets(1);
         AssetUtils.checkAssetCanBeEdited(assetName);
 
-        PermissionUtils.validateUserCanChangePermissions(assetName);
+        AssetUtils.validateUserCanChangePermissions(assetName);
     }
 
     function assetIsVisibleAndEditableCannotChangePermissions(user: User) {
@@ -130,7 +129,7 @@ describe('Test User Roles for Dashboards', () => {
         AssetUtils.checkAmountOfAssets(1);
         AssetUtils.checkAssetCanBeEdited(assetName);
 
-        PermissionUtils.validateUserCanNotChangePermissions(assetName);
+        AssetUtils.validateUserCanNotChangePermissions(assetName);
     }
 
     function assetIsVisibleButNotEditable(user: User) {
@@ -138,7 +137,7 @@ describe('Test User Roles for Dashboards', () => {
         AssetUtils.checkAmountOfAssets(1);
         AssetUtils.checkAssetCanNotBeEdited(assetName);
 
-        PermissionUtils.validateUserCanNotChangePermissions(assetName);
+        AssetUtils.validateUserCanNotChangePermissions(assetName);
     }
 
     function assetIsNotVisible(user: User) {

Reply via email to