re base code
[sdc.git] / ui-ci / src / main / java / org / openecomp / sdc / ci / tests / execute / sanity / Categories.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.ci.tests.execute.sanity;
22
23 import org.openecomp.sdc.be.dao.api.ActionStatus;
24 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
25 import org.openecomp.sdc.be.model.category.CategoryDefinition;
26 import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
27 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
28 import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails;
29 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
30 import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest;
31 import org.openecomp.sdc.ci.tests.pages.AdminGeneralPage;
32 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
33 import org.openecomp.sdc.ci.tests.utilities.ResourceUIUtils;
34 import org.openecomp.sdc.ci.tests.utilities.ServiceUIUtils;
35 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
36 import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
37 import org.openqa.selenium.WebElement;
38 import org.testng.Assert;
39 import org.testng.annotations.Test;
40
41 import java.util.List;
42 import java.util.stream.Collectors;
43
44 public class Categories extends SetupCDTest {
45
46         
47         @Test
48         public void createResourceCategory() throws Exception {
49                 
50                 AdminGeneralPage.selectCategoryManagmetTab();
51                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
52                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
53 //              GeneralUIUtils.clickSomewhereOnPage();
54                 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
55                 List<String> collect = resourceCategoriesList.stream().map(f -> f.getText()).collect(Collectors.toList());
56                 collect.contains(newResourceCategory);
57                 
58         
59         }
60         
61         @Test
62         public void createServiceCategory() throws Exception {
63                 
64                 AdminGeneralPage.selectCategoryManagmetTab();
65                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
66                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
67 //              GeneralUIUtils.clickSomewhereOnPage();
68                 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
69                 List<String> collect = serviceCategoriesList.stream().map(f -> f.getText()).collect(Collectors.toList());
70                 collect.contains(newserviceCategory);
71                 
72         }
73         
74         
75         @Test
76         public void createResourceSubCategory() throws Exception {
77         
78                 AdminGeneralPage.selectCategoryManagmetTab();
79                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
80                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
81                 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
82                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
83                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
84                 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
85                 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
86                 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
87                 GeneralUIUtils.waitForLoader();
88 //              GeneralUIUtils.clickSomewhereOnPage();
89         }
90         
91         
92         @Test
93         public void createExistingResourceCategory() throws Exception {
94                 
95                 AdminGeneralPage.selectCategoryManagmetTab();
96                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
97                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
98                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
99
100                 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
101                 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS.name());
102                 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
103                 
104                         
105         }
106         
107         @Test
108         public void createExistingServiceCategory() throws Exception {
109                 
110                 AdminGeneralPage.selectCategoryManagmetTab();
111                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
112                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
113                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
114 //              AdminGeneralPage.selectUserManagmetTab();
115                 
116                 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
117                 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_CATEGORY_ALREADY_EXISTS.name());
118                 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
119                 
120         }
121         
122         @Test
123         public void createExsitingResourceSubCategory() throws Exception {
124         
125                 
126                 AdminGeneralPage.selectCategoryManagmetTab();
127                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
128                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
129                 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
130                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
131                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
132                 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
133                 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
134                 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
135                 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
136                 GeneralUIUtils.waitForLoader();
137                 String errorMessage = GeneralUIUtils.getWebElementByClassName("w-sdc-modal-caption").getText();
138                 String checkUIResponseOnError = ErrorValidationUtils.checkUIResponseOnError(ActionStatus.COMPONENT_SUB_CATEGORY_EXISTS_FOR_CATEGORY.name());
139                 Assert.assertTrue(errorMessage.contains(checkUIResponseOnError));
140                 
141         }
142         
143         
144         @Test
145         public void createServiceWithNewCategory() throws Exception {
146                 
147                 AdminGeneralPage.selectCategoryManagmetTab();
148                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
149                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
150                 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
151                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
152                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
153                 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
154                 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
155                 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
156                 GeneralUIUtils.waitForLoader();
157                 AdminGeneralPage.selectUserManagmetTab();
158                 reloginWithNewRole(UserRoleEnum.DESIGNER);
159                 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
160                 
161                 ServiceReqDetails serviceMetadata = ElementFactory.getDefaultService();
162                 List<CategoryDefinition> categories = serviceMetadata.getCategories();
163                 categories.get(0).setName(newserviceCategory);
164                 
165                 ServiceUIUtils.createService(serviceMetadata, getUser());
166         
167         }
168         
169         
170         @Test
171         public void createResourceWithNewCategory() throws Exception {
172                 
173                 AdminGeneralPage.selectCategoryManagmetTab();
174                 String newResourceCategory = ElementFactory.getDefaultCategory().getName();
175                 String newserviceCategory = ElementFactory.getDefaultCategory().getName();
176                 String newSubCategory = ElementFactory.getDefaultSubCategory().getName();
177                 AdminGeneralPage.createNewResourceCategory(newResourceCategory);
178                 AdminGeneralPage.createNewServiceCategory(newserviceCategory);
179                 List<WebElement> serviceCategoriesList = AdminGeneralPage.getServiceCategoriesList();
180                 List<WebElement> resourceCategoriesList = AdminGeneralPage.getResourceCategoriesList();
181                 AdminGeneralPage.addSubCategoryToResource(resourceCategoriesList, newResourceCategory , newSubCategory);
182                 GeneralUIUtils.waitForLoader();
183                 AdminGeneralPage.selectUserManagmetTab();
184                 reloginWithNewRole(UserRoleEnum.DESIGNER);
185                 ResourceReqDetails resourceMetaData = ElementFactory.getDefaultResourceByType(ResourceTypeEnum.VF, getUser());
186                 
187                 List<CategoryDefinition> categories = resourceMetaData.getCategories();
188                 CategoryDefinition categoryDefinition = categories.get(0);
189                 categoryDefinition.setName(newResourceCategory);
190                 SubCategoryDefinition subCategoryDefinition = categoryDefinition.getSubcategories().get(0);
191                 subCategoryDefinition.setName(newSubCategory);
192                 
193                 ResourceUIUtils.createVF(resourceMetaData, getUser());
194                 
195         
196         }
197         
198         
199         
200
201         
202         
203         
204
205
206         @Override
207         protected UserRoleEnum getRole() {
208                 return UserRoleEnum.ADMIN;
209         }
210
211 }