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

zehnder pushed a commit to branch 
3388-adapter-deletion-does-not-clean-up-asset-links
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to 
refs/heads/3388-adapter-deletion-does-not-clean-up-asset-links by this push:
     new 4777236aa2 fix(#3388): Extend asset link test to test deletion
4777236aa2 is described below

commit 4777236aa2bf4dd42ea83881513f7f3e499ae427
Author: Philipp Zehnder <[email protected]>
AuthorDate: Mon Dec 23 10:31:57 2024 +0100

    fix(#3388): Extend asset link test to test deletion
---
 ui/cypress/support/utils/asset/AssetBtns.ts        |  8 ++++++
 ui/cypress/support/utils/asset/AssetUtils.ts       | 31 ++++++++++++++++++++++
 .../assetManagement/generalAssetTest.smoke.spec.ts | 29 +++++++++-----------
 .../asset-overview/asset-overview.component.html   |  6 +++++
 4 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/ui/cypress/support/utils/asset/AssetBtns.ts 
b/ui/cypress/support/utils/asset/AssetBtns.ts
index 5589c2d7d6..8d574e0e7e 100644
--- a/ui/cypress/support/utils/asset/AssetBtns.ts
+++ b/ui/cypress/support/utils/asset/AssetBtns.ts
@@ -29,6 +29,14 @@ export class AssetBtns {
         return cy.dataCy('save-asset', { timeout: 10000 });
     }
 
+    public static editAssetBtn(assetName: string) {
+        return cy.dataCy('edit-asset-' + assetName, { timeout: 10000 });
+    }
+
+    public static deleteAssetBtn(assetName: string) {
+        return cy.dataCy('delete-asset-' + assetName, { timeout: 10000 });
+    }
+
     public static basicTab() {
         return cy.dataCy('basic-tab', { timeout: 10000 });
     }
diff --git a/ui/cypress/support/utils/asset/AssetUtils.ts 
b/ui/cypress/support/utils/asset/AssetUtils.ts
index a6d008282f..deb9f21095 100644
--- a/ui/cypress/support/utils/asset/AssetUtils.ts
+++ b/ui/cypress/support/utils/asset/AssetUtils.ts
@@ -17,6 +17,7 @@
  */
 
 import { AssetBtns } from './AssetBtns';
+import { ConnectUtils } from '../connect/ConnectUtils';
 
 export class AssetUtils {
     public static goToAssets() {
@@ -56,4 +57,34 @@ export class AssetUtils {
             .children()
             .should('have.length', amount);
     }
+
+    public static editAsset(assetName: string) {
+        AssetBtns.editAssetBtn(assetName).click();
+    }
+
+    public static addAssetWithOneAdapter(assetName: string) {
+        const adapterName = 'Machine_Data_Simulator';
+        ConnectUtils.addMachineDataSimulator(adapterName);
+
+        // Create new asset from adapters
+        AssetUtils.goToAssets();
+
+        AssetUtils.addNewAsset(assetName);
+
+        AssetBtns.assetLinksTab().click();
+        AssetUtils.openManageAssetLinks();
+
+        AssetUtils.selectAdapterAssetLink(adapterName);
+        AssetUtils.selectDataStreamAssetLink(adapterName);
+        AssetBtns.updateAssetLinksBtn().click();
+
+        AssetUtils.checkAmountOfLinkedResources(2);
+        AssetBtns.saveAssetBtn().click();
+        AssetUtils.goBackToOverview();
+    }
+
+    public static deleteAsset(assetName: string) {
+        AssetBtns.deleteAssetBtn(assetName).click();
+        cy.dataCy('confirm-delete').click();
+    }
 }
diff --git a/ui/cypress/tests/assetManagement/generalAssetTest.smoke.spec.ts 
b/ui/cypress/tests/assetManagement/generalAssetTest.smoke.spec.ts
index eef277ea2f..f19bb1d79a 100644
--- a/ui/cypress/tests/assetManagement/generalAssetTest.smoke.spec.ts
+++ b/ui/cypress/tests/assetManagement/generalAssetTest.smoke.spec.ts
@@ -16,39 +16,34 @@
  *
  */
 
-import { ConnectUtils } from '../../support/utils/connect/ConnectUtils';
 import { AssetUtils } from '../../support/utils/asset/AssetUtils';
 import { DashboardUtils } from '../../support/utils/DashboardUtils';
 import { AssetBtns } from '../../support/utils/asset/AssetBtns';
 
 describe('Creates a new adapter, add to assets', () => {
-    const adapterName = 'Machine_Data_Simulator';
-
     beforeEach('Setup Test', () => {
         cy.initStreamPipesTest();
-        ConnectUtils.addMachineDataSimulator(adapterName);
     });
 
     it('Perform Test', () => {
-        // Create new asset from adapters
-        AssetUtils.goToAssets();
-
-        AssetUtils.addNewAsset('Test Asset');
+        const assetName = 'TestAsset';
 
-        AssetBtns.assetLinksTab().click();
-        AssetUtils.openManageAssetLinks();
+        AssetUtils.addAssetWithOneAdapter(assetName);
 
-        AssetUtils.selectAdapterAssetLink(adapterName);
-        AssetUtils.selectDataStreamAssetLink(adapterName);
-        AssetBtns.updateAssetLinksBtn().click();
+        // // Leave and navigate back to Assets
+        DashboardUtils.goToDashboard();
+        AssetUtils.goToAssets();
+        AssetUtils.checkAmountOfAssets(1);
 
+        // Check that everything was stored correctly
+        AssetUtils.editAsset(assetName);
+        AssetBtns.assetLinksTab().click();
         AssetUtils.checkAmountOfLinkedResources(2);
-        AssetBtns.saveAssetBtn().click();
-        AssetUtils.goBackToOverview();
 
-        // // Leave and navigate back to Assets
-        DashboardUtils.goToDashboard();
+        // Check that deletion of asset works
         AssetUtils.goToAssets();
         AssetUtils.checkAmountOfAssets(1);
+        AssetUtils.deleteAsset(assetName);
+        AssetUtils.checkAmountOfAssets(0);
     });
 });
diff --git 
a/ui/src/app/assets/components/asset-overview/asset-overview.component.html 
b/ui/src/app/assets/components/asset-overview/asset-overview.component.html
index 6c6b0fb2db..61d1d3ea04 100644
--- a/ui/src/app/assets/components/asset-overview/asset-overview.component.html
+++ b/ui/src/app/assets/components/asset-overview/asset-overview.component.html
@@ -107,6 +107,9 @@
                                     matTooltip="Edit asset"
                                     matTooltipPosition="above"
                                     data-cy="edit-asset-button"
+                                    [attr.data-cy]="
+                                        'edit-asset-' + asset.assetName
+                                    "
                                     (click)="goToDetailsView(asset, true)"
                                 >
                                     <i class="material-icons">edit</i>
@@ -119,6 +122,9 @@
                                     matTooltip="Delete asset"
                                     data-cy="delete"
                                     matTooltipPosition="above"
+                                    [attr.data-cy]="
+                                        'delete-asset-' + asset.assetName
+                                    "
                                     (click)="deleteAsset(asset)"
                                 >
                                     <i class="material-icons">delete</i>

Reply via email to