diff options
Diffstat (limited to 'integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java')
-rw-r--r-- | integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java index 99fbc46ea2..a3fdc9884b 100644 --- a/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java +++ b/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/flow/composition/CreateRelationshipFlow.java @@ -20,6 +20,7 @@ package org.onap.sdc.frontend.ci.tests.flow.composition; import com.aventstack.extentreports.Status; +import java.util.Objects; import java.util.Optional; import org.onap.sdc.frontend.ci.tests.datatypes.composition.RelationshipInformation; import org.onap.sdc.frontend.ci.tests.execute.setup.ExtentTestActions; @@ -27,6 +28,8 @@ import org.onap.sdc.frontend.ci.tests.flow.AbstractUiTestFlow; import org.onap.sdc.frontend.ci.tests.pages.PageObject; import org.onap.sdc.frontend.ci.tests.pages.component.workspace.CompositionPage; import org.onap.sdc.frontend.ci.tests.pages.component.workspace.RelationshipWizardComponent; +import org.onap.sdc.frontend.ci.tests.pages.component.workspace.RelationshipWizardInterfaceOperation; +import org.onap.sdc.frontend.ci.tests.pages.component.workspace.RelationshipWizardInterfaceOperation.InterfaceOperationsData; import org.onap.sdc.frontend.ci.tests.pages.component.workspace.RelationshipWizardRequirementCapabilityComponent; import org.openqa.selenium.WebDriver; @@ -37,12 +40,20 @@ public class CreateRelationshipFlow extends AbstractUiTestFlow { private final RelationshipInformation relationshipInformation; private CompositionPage compositionPage; + private InterfaceOperationsData interfaceOperationsData; public CreateRelationshipFlow(final WebDriver webDriver, final RelationshipInformation relationshipInformation) { super(webDriver); this.relationshipInformation = relationshipInformation; } + public CreateRelationshipFlow(final WebDriver webDriver, final RelationshipInformation relationshipInformation, + final InterfaceOperationsData interfaceOperationsData) { + super(webDriver); + this.relationshipInformation = relationshipInformation; + this.interfaceOperationsData = interfaceOperationsData; + } + @Override public Optional<? extends PageObject> run(final PageObject... pageObjects) { compositionPage = findParameter(pageObjects, CompositionPage.class); @@ -62,6 +73,10 @@ public class CreateRelationshipFlow extends AbstractUiTestFlow { String.format("Selected requirement '%s'", relationshipInformation.getToRequirement())); relationshipWizardComponent.clickOnNext(); relationshipWizardComponent.clickOnNext(); + relationshipWizardComponent.clickOnAddOperation(); + if (Objects.nonNull(interfaceOperationsData)) { + addInterfaceOperationAndInput(interfaceOperationsData); + } relationshipWizardComponent.clickOnFinish(); compositionPage.isLoaded(); ExtentTestActions.takeScreenshot(Status.INFO, "relationship-created", @@ -69,6 +84,20 @@ public class CreateRelationshipFlow extends AbstractUiTestFlow { return Optional.of(compositionPage); } + /** + * Adds an Interface Operation and Input to the relationship template + * @param interfaceOperationsData the Interface Operation data + */ + private void addInterfaceOperationAndInput(final InterfaceOperationsData interfaceOperationsData) { + ExtentTestActions.takeScreenshot(Status.INFO, "add-interface-operation", + String.format("Adding Interface Operation on node '%s'", relationshipInformation.getFromNode())); + final RelationshipWizardInterfaceOperation relationshipWizardInterfaceOperation = new RelationshipWizardInterfaceOperation(webDriver); + relationshipWizardInterfaceOperation.isLoaded(); + relationshipWizardInterfaceOperation.addInterfaceOperation(interfaceOperationsData); + ExtentTestActions.takeScreenshot(Status.INFO, "added-interface-operation", + String.format("Interface Operation added on node '%s'", relationshipInformation.getFromNode())); + } + @Override public Optional<CompositionPage> getLandedPage() { return Optional.of(compositionPage); |