c013247a28522fa1c577e3911c5c1d1e534402fb
[sdc.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2021 Nordix Foundation
4  *  ================================================================================
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  *  SPDX-License-Identifier: Apache-2.0
17  *  ============LICENSE_END=========================================================
18  */
19
20 package org.onap.sdc.frontend.ci.tests.pages.component.workspace;
21
22 import org.onap.sdc.frontend.ci.tests.pages.AbstractPageObject;
23 import org.onap.sdc.frontend.ci.tests.pages.ResourceWorkspaceTopBarComponent;
24 import org.onap.sdc.frontend.ci.tests.pages.ServiceComponentPage;
25 import org.onap.sdc.frontend.ci.tests.pages.TopNavComponent;
26 import org.openecomp.sdc.be.model.ComponentInstance;
27 import org.openqa.selenium.WebDriver;
28
29 /**
30  * Represents the Component (Service, VF, VFC, etc.) Composition Page
31  */
32 public class CompositionPage extends AbstractPageObject {
33
34     private final ResourceWorkspaceTopBarComponent resourceWorkspaceTopBarComponent;
35     private final TopNavComponent topNavComponent;
36     private final CompositionElementsComponent compositionElementsComponent;
37     private final CompositionCanvasComponent compositionCanvasComponent;
38     private final CompositionDetailSideBarComponent compositionDetailSideBarComponent;
39
40     public CompositionPage(final WebDriver webDriver) {
41         super(webDriver);
42         topNavComponent = new TopNavComponent(webDriver);
43         resourceWorkspaceTopBarComponent = new ResourceWorkspaceTopBarComponent(webDriver);
44         compositionElementsComponent = new CompositionElementsComponent(webDriver);
45         compositionCanvasComponent = new CompositionCanvasComponent(webDriver);
46         compositionDetailSideBarComponent = new CompositionDetailSideBarComponent(webDriver);
47     }
48
49     @Override
50     public void isLoaded() {
51         compositionElementsComponent.isLoaded();
52         resourceWorkspaceTopBarComponent.isLoaded();
53         topNavComponent.isLoaded();
54         compositionCanvasComponent.isLoaded();
55         compositionDetailSideBarComponent.isLoaded();
56     }
57
58     public ComponentInstance addNodeToCompositionUsingApi(final String serviceName, final String serviceVersion, final String resourceName,
59                                                           final String resourceVersion) {
60         return compositionCanvasComponent.createNodeOnServiceCanvas(serviceName, serviceVersion, resourceName, resourceVersion);
61     }
62
63     /**
64      * Select a node in the canvas
65      *
66      * @param nodeName the node name to select
67      */
68     public void selectNode(final String nodeName) {
69         compositionCanvasComponent.selectNode(nodeName);
70         compositionDetailSideBarComponent.checkComponentIsSelected(nodeName);
71     }
72
73     public ServiceComponentPage goToServiceGeneral() {
74         topNavComponent.clickOnBreadCrumb(1);
75         return new ServiceComponentPage(webDriver);
76     }
77
78     /**
79      * Get the composition page detail sidebar component
80      *
81      * @return the composition detail sideBar component
82      */
83     public CompositionDetailSideBarComponent getDetailSideBar() {
84         return compositionDetailSideBarComponent;
85     }
86
87 }