3943af0e8a0cbd1748b5ec11c3a9364489182acb
[vid.git] / vid-automation / src / main / java / vid / automation / test / sections / ViewEditPage.java
1 package vid.automation.test.sections;
2
3 import static org.hamcrest.core.Is.is;
4
5 import java.util.List;
6 import org.junit.Assert;
7 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
8 import org.openqa.selenium.By;
9 import org.openqa.selenium.WebElement;
10 import vid.automation.test.Constants;
11 import vid.automation.test.infra.Get;
12 import vid.automation.test.infra.SelectOption;
13
14
15 public class ViewEditPage extends VidBasePage {
16     public ViewEditPage selectNodeInstanceToAdd(String vnfName) {
17         selectFromDropdownByTestId(Constants.ViewEdit.VNF_OPTION_TEST_ID_PREFIX + vnfName,
18                 Constants.ViewEdit.ADD_VNF_BUTTON_TEST_ID);
19         return this;
20     }
21
22     public ViewEditPage selectVfModuleToAdd(String vfModuleName) {
23         selectFromDropdownByTestId(Constants.ViewEdit.VF_MODULE_OPTION_TEST_ID_PREFIX + vfModuleName,
24                 Constants.ViewEdit.ADD_VF_MODULE_BUTTON_TEST_ID);
25         return this;
26     }
27
28     public ViewEditPage clickResumeButton(String instanceName) {
29         //instanceName = "my_vfModule";
30         String instanceId = Constants.ViewEdit.VF_MODULE_RESUME_ID_PREFIX + instanceName;
31         checkIfExistResumeButton(instanceName,true);
32         GeneralUIUtils.clickOnElementByTestId(instanceId);
33         return this;
34     }
35
36
37     public ViewEditPage checkIfExistResumeButton(String instanceName, Boolean expected) {
38         //instanceName = "my_vfModule";
39         String instanceId = Constants.ViewEdit.VF_MODULE_RESUME_ID_PREFIX + instanceName;
40         WebElement resumeButton = GeneralUIUtils.getWebElementByTestID(instanceId, 30);
41         Assert.assertThat(resumeButton != null, is(expected));
42         return this;
43     }
44
45     public ViewEditPage selectVolumeGroupToAdd(String volumeGroupName) {
46         selectFromDropdownByTestId(Constants.ViewEdit.VOLUME_GROUP_OPTION_TEST_ID_PREFIX + volumeGroupName,
47                 Constants.ViewEdit.ADD_VOLUME_GROUP_BUTTON_TEST_ID);
48         return this;
49     }
50
51     public ViewEditPage selectFromDropdownByText(String itemText, String dropdownButtonTestId) {
52         GeneralUIUtils.clickOnElementByTestId(dropdownButtonTestId, 30);
53         GeneralUIUtils.clickOnElementByText(itemText, 30);
54         return this;
55     }
56
57     public ViewEditPage selectNetworkToAdd(String networkName) {
58         selectFromDropdownByTestId(Constants.ViewEdit.NETWORK_OPTION_TEST_ID_PREFIX + networkName,
59                 Constants.ViewEdit.ADD_NETWORK_BUTTON_TEST_ID);
60         return this;
61     }
62
63     public ViewEditPage selectProductFamily(String productFamily){
64         SelectOption.byValue(productFamily, Constants.ViewEdit.PRODUCT_FAMILY_SELECT_TESTS_ID);
65         return this;
66     }
67
68     public ViewEditPage selectLineOfBusiness(String lineOfBusiness, String cloudOwner){
69         selectLineOfBusiness(lineOfBusiness);
70         return this;
71     }
72
73     public ViewEditPage setLegacyRegion(String legacyRegionName){
74         setInputText(Constants.ViewEdit.LEGACY_REGION_INPUT_TESTS_ID, legacyRegionName);
75         return this;
76     }
77
78     public ViewEditPage selectTenant(String tenant){
79         SelectOption.byValue(tenant, Constants.ViewEdit.TENANT_SELECT_TESTS_ID);
80        // GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.TENANT_SELECT_TESTS_ID, 60);
81         return this;
82     }
83
84     public VidBasePage clickActivateButton() {
85         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ACTIVATE_BUTTON_TEST_ID, 60);
86         return this;
87     }
88
89     public VidBasePage clickActivateFabricConfigurationButton() {
90         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.ACTIVATE_FABRIC_CONFIGURATION_BUTTON_TEST_ID, 60);
91         return this;
92     }
93     public VidBasePage clickInfoButton() {
94         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.INFOSERVICEBUTTON, 30);
95         return this;
96     }
97
98     public VidBasePage clickDeleteButton() {
99         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.DELETESERVICEBUTTON, 3);
100         return this;
101     }
102
103
104     public WebElement getPnf(String pnfName) {
105         WebElement pnfElement = Get.byClassAndText("tree-node", "PNF: " + pnfName);
106         Assert.assertNotNull("Pnf "+ pnfName +" not found under service instance", pnfElement);
107         return pnfElement;
108     }
109
110     public ViewEditPage clickDissociatePnfButton(String pnfName) {
111         WebElement pnfToDissociate = getPnf(pnfName);
112         WebElement dissociateBtn = pnfToDissociate.findElement(By.className(Constants.ViewEdit.DISSOCIATE_BTN_CLASS));
113         Assert.assertNotNull("Dissociate button not found for pnf " + pnfName, dissociateBtn);
114         dissociateBtn.click();
115         return this;
116     }
117
118     public VidBasePage clickDeactivateButton() {
119         GeneralUIUtils.clickOnElementByTestId(Constants.ViewEdit.DEACTIVATE_BUTTON_TEST_ID, 30);
120         return this;
121     }
122
123 //    public ViewEditPage selectLineOfBusiness(String lineOfBusiness) {
124 //        try {
125 //            SelectOption.selectFirstTwoOptionsFromMultiselectById(Constants.ViewEdit.LINE_OF_BUSINESS_SELECT_TESTS_ID);
126 //        } catch (InterruptedException e) {
127 //            e.printStackTrace();
128 //            return this;
129 //        }
130 //        //TODO multi SelectOption.byValue(lineOfBusiness, Constants.ViewEdit.LINE_OF_BUSINESS_SELECT_TESTS_ID);
131 //        return this;
132 //    }
133
134     public ViewEditPage selectPlatform(List<String> platformList) {
135         SelectOption.selectOptionsFromMultiselectById("multi-selectPlatform", platformList);
136         return this;
137     }
138 }