Add UI feedback when saving a interface operation 65/128665/6
authorJvD_Ericsson <jeff.van.dam@est.tech>
Tue, 12 Apr 2022 09:01:03 +0000 (10:01 +0100)
committerMichael Morris <michael.morris@est.tech>
Wed, 27 Apr 2022 11:07:18 +0000 (11:07 +0000)
Issue-ID: SDC-3969
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
Change-Id: Ic75765473ddca16e351f9cde27a5e8d336413325

catalog-ui/src/app/ng2/pages/composition/interface-operatons/interface-operations.component.ts
integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/pages/component/workspace/InterfaceDefinitionOperationsModal.java

index c17c130..b8de7b8 100644 (file)
@@ -255,7 +255,7 @@ export class InterfaceOperationsComponent {
     }
 
     private updateInterfaceOperation() {
-        this.isLoading = true;
+        this.modalServiceNg2.currentModal.instance.dynamicContent.instance.isLoading = true;
         const interfaceOperationHandlerComponentInstance: InterfaceOperationHandlerComponent = this.modalInstance.instance.dynamicContent.instance;
         const operationUpdated: InterfaceOperationModel = interfaceOperationHandlerComponentInstance.operationToUpdate;
         const isArtifactChecked = interfaceOperationHandlerComponentInstance.enableAddArtifactImplementation;
@@ -272,9 +272,12 @@ export class InterfaceOperationsComponent {
         .subscribe((updatedComponentInstance: ComponentInstance) => {
             this.componentInstanceSelected = new ComponentInstance(updatedComponentInstance);
             this.initComponentInstanceInterfaceOperations();
+            this.modalServiceNg2.currentModal.instance.dynamicContent.instance.isLoading = false;
+            this.modalServiceNg2.closeCurrentModal();
+        }, () => {
+            this.modalServiceNg2.currentModal.instance.dynamicContent.instance.isLoading = false;
+            this.modalServiceNg2.closeCurrentModal();
         });
-        this.modalServiceNg2.closeCurrentModal();
-        this.isLoading = false;
     }
 
     loadDeployedArtifacts() {
index 5a2cb2f..78828d7 100644 (file)
@@ -32,6 +32,8 @@ import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.interactions.Actions;
 
+import static org.onap.sdc.frontend.ci.tests.utilities.GeneralUIUtils.waitForLoader;
+
 /**
  * Represents the Composition Interface Operations Modal.
  */
@@ -63,6 +65,14 @@ public class InterfaceDefinitionOperationsModal extends AbstractPageObject {
         }
     }
 
+    public void isUnloaded() {
+        waitForElementInvisibility(By.xpath(XpathSelector.TITLE_SPAN.getXPath()));
+        waitForElementInvisibility(By.xpath(XpathSelector.INTERFACE_NAME_LABEL.getXPath()));
+        waitForElementInvisibility(By.xpath(XpathSelector.OPERATION_NAME_LABEL.getXPath()));
+        waitForElementInvisibility(By.xpath(XpathSelector.SAVE_BTN.getXPath()));
+        waitForElementInvisibility(By.xpath(XpathSelector.CANCEL_BTN.getXPath()));
+    }
+
     private void clickOnSave() {
         waitToBeClickable(By.xpath(XpathSelector.SAVE_BTN.getXPath())).click();
     }
@@ -96,9 +106,7 @@ public class InterfaceDefinitionOperationsModal extends AbstractPageObject {
             addInputComponent.fillValue(inputData);
         });
         clickOnSave();
-        //there is no feedback from the UI to check if the update was successful. Forcing a wait time trying to guarantee that,
-        // although time is never a guarantee in this case.
-        new Actions(webDriver).pause(Duration.ofSeconds(5)).perform();
+        waitForLoader();
     }
 
     private void fillDescription(final String description) {