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) {