*/
package org.onap.sdc.frontend.ci.tests.pages;
+import org.onap.sdc.frontend.ci.tests.datatypes.LifeCycleStateEnum;
import org.onap.sdc.frontend.ci.tests.pages.component.workspace.CompositionPage;
+import org.onap.sdc.frontend.ci.tests.pages.component.workspace.InterfaceDefinitionPage;
import org.onap.sdc.frontend.ci.tests.pages.component.workspace.ToscaArtifactsPage;
+import org.onap.sdc.frontend.ci.tests.pages.home.HomePage;
+import org.onap.sdc.frontend.ci.tests.utilities.LoaderHelper;
+import org.onap.sdc.frontend.ci.tests.utilities.NotificationComponent;
+import org.onap.sdc.frontend.ci.tests.utilities.NotificationComponent.NotificationType;
import org.openqa.selenium.WebDriver;
public class ComponentPage extends AbstractPageObject {
- private final TopNavComponent topNavComponent;
- private final ResourceLeftSideMenu resourceLeftSideMenu;
- private final ResourceWorkspaceTopBarComponent workspaceTopBarComponent;
+ protected final TopNavComponent topNavComponent;
+ protected final ResourceLeftSideMenu resourceLeftSideMenu;
+ protected final ResourceWorkspaceTopBarComponent workspaceTopBarComponent;
+ protected final LoaderHelper loaderHelper;
+ protected final NotificationComponent notificationComponent;
public ComponentPage(final WebDriver webDriver) {
super(webDriver);
- this.topNavComponent = new TopNavComponent(webDriver);
- this.resourceLeftSideMenu = new ResourceLeftSideMenu(webDriver);
- this.workspaceTopBarComponent = new ResourceWorkspaceTopBarComponent(webDriver);
+ topNavComponent = new TopNavComponent(webDriver);
+ resourceLeftSideMenu = new ResourceLeftSideMenu(webDriver);
+ workspaceTopBarComponent = new ResourceWorkspaceTopBarComponent(webDriver);
+ loaderHelper = new LoaderHelper(webDriver);
+ notificationComponent = new NotificationComponent(webDriver);
}
@Override
workspaceTopBarComponent.isLoaded();
}
+ public HomePage goToHomePage() {
+ return topNavComponent.clickOnHome();
+ }
+
public ToscaArtifactsPage goToToscaArtifacts() {
return resourceLeftSideMenu.clickOnToscaArtifactsMenuItem();
}
+ public InterfaceDefinitionPage goToInterfaceDefinition() {
+ return resourceLeftSideMenu.clickOnInterfaceDefinitionMenuItem();
+ }
+
public CompositionPage goToComposition() {
return resourceLeftSideMenu.clickOnCompositionMenuItem();
}
+
+ /**
+ * Certifies the resource and wait for success notification.
+ */
+ public void certifyComponent() {
+ workspaceTopBarComponent.certifyResource();
+ }
+
+ /**
+ * Creates the resource and wait for success notification.
+ */
+ public void clickOnCreate() {
+ workspaceTopBarComponent.clickOnCreate();
+ loaderHelper.waitForLoader(20);
+ notificationComponent.waitForNotification(NotificationType.SUCCESS, 20);
+ }
+
+ public String getLifecycleState() {
+ return workspaceTopBarComponent.getLifecycleState();
+ }
+
+ public boolean isInDesign() {
+ return LifeCycleStateEnum.IN_DESIGN.getValue().equalsIgnoreCase(getLifecycleState());
+ }
+
+ public AttributesOutputsPage goToAttributesOutputs() {
+ return resourceLeftSideMenu.clickOnAttributesOutputsMenuItem();
+ }
+
+ public AttributesPage goToAttributes() {
+ return resourceLeftSideMenu.clickOnAttributesMenuItem();
+ }
+
+ public <T extends ComponentPage> T clickOnGeneralMenuItem(Class<? extends T> clazz) {
+ return resourceLeftSideMenu.clickOnGeneralMenuItem(clazz);
+ }
+
+ public ResourcePropertiesAssignmentPage goToPropertiesAssignment() {
+ return resourceLeftSideMenu.clickOnPropertiesAssignmentMenuItem();
+ }
+
+ public ResourcePropertiesPage goToProperties() {
+ return resourceLeftSideMenu.clickOnPropertiesMenuItem();
+ }
}