@eclipse-che/che-e2e 7.58.1-dev-43d35ee → 7.58.1-dev-ffb0b4b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/TestConstants.js +244 -0
  2. package/dist/TestConstants.js.map +1 -0
  3. package/dist/TimeoutConstants.js +184 -0
  4. package/dist/TimeoutConstants.js.map +1 -0
  5. package/dist/driver/CheReporter.js +171 -0
  6. package/dist/driver/CheReporter.js.map +1 -0
  7. package/dist/driver/ChromeDriver.js +77 -0
  8. package/dist/driver/ChromeDriver.js.map +1 -0
  9. package/dist/driver/IDriver.js +3 -0
  10. package/dist/driver/IDriver.js.map +1 -0
  11. package/dist/index.js +94 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/inversify.config.js +132 -0
  14. package/dist/inversify.config.js.map +1 -0
  15. package/dist/inversify.types.js +75 -0
  16. package/dist/inversify.types.js.map +1 -0
  17. package/dist/pageobjects/dashboard/CreateWorkspace.js +106 -0
  18. package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
  19. package/dist/pageobjects/dashboard/Dashboard.js +115 -0
  20. package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
  21. package/dist/pageobjects/dashboard/Workspaces.js +165 -0
  22. package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
  23. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
  24. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
  25. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
  26. package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
  27. package/dist/pageobjects/ide/theia/ContextMenu.js +66 -0
  28. package/dist/pageobjects/ide/theia/ContextMenu.js.map +1 -0
  29. package/dist/pageobjects/ide/theia/DebugView.js +98 -0
  30. package/dist/pageobjects/ide/theia/DebugView.js.map +1 -0
  31. package/dist/pageobjects/ide/theia/DialogWindow.js +102 -0
  32. package/dist/pageobjects/ide/theia/DialogWindow.js.map +1 -0
  33. package/dist/pageobjects/ide/theia/Editor.js +463 -0
  34. package/dist/pageobjects/ide/theia/Editor.js.map +1 -0
  35. package/dist/pageobjects/ide/theia/Ide.js +336 -0
  36. package/dist/pageobjects/ide/theia/Ide.js.map +1 -0
  37. package/dist/pageobjects/ide/theia/LeftToolBar.js +81 -0
  38. package/dist/pageobjects/ide/theia/LeftToolBar.js.map +1 -0
  39. package/dist/pageobjects/ide/theia/NavigationBar.js +57 -0
  40. package/dist/pageobjects/ide/theia/NavigationBar.js.map +1 -0
  41. package/dist/pageobjects/ide/theia/NotificationCenter.js +76 -0
  42. package/dist/pageobjects/ide/theia/NotificationCenter.js.map +1 -0
  43. package/dist/pageobjects/ide/theia/OpenDialogWidget.js +100 -0
  44. package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +1 -0
  45. package/dist/pageobjects/ide/theia/OpenEditors.js +73 -0
  46. package/dist/pageobjects/ide/theia/OpenEditors.js.map +1 -0
  47. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +62 -0
  48. package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +1 -0
  49. package/dist/pageobjects/ide/theia/PreviewWidget.js +134 -0
  50. package/dist/pageobjects/ide/theia/PreviewWidget.js.map +1 -0
  51. package/dist/pageobjects/ide/theia/ProjectTree.js +282 -0
  52. package/dist/pageobjects/ide/theia/ProjectTree.js.map +1 -0
  53. package/dist/pageobjects/ide/theia/QuickOpenContainer.js +70 -0
  54. package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +1 -0
  55. package/dist/pageobjects/ide/theia/RightToolBar.js +51 -0
  56. package/dist/pageobjects/ide/theia/RightToolBar.js.map +1 -0
  57. package/dist/pageobjects/ide/theia/Terminal.js +184 -0
  58. package/dist/pageobjects/ide/theia/Terminal.js.map +1 -0
  59. package/dist/pageobjects/ide/theia/TopMenu.js +109 -0
  60. package/dist/pageobjects/ide/theia/TopMenu.js.map +1 -0
  61. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +128 -0
  62. package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +1 -0
  63. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +120 -0
  64. package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +1 -0
  65. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +107 -0
  66. package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +1 -0
  67. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +99 -0
  68. package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +1 -0
  69. package/dist/pageobjects/ide/theia/plugins/PluginsView.js +166 -0
  70. package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +1 -0
  71. package/dist/pageobjects/login/ICheLoginPage.js +12 -0
  72. package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
  73. package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
  74. package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
  75. package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
  76. package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
  77. package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
  78. package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
  79. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
  80. package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
  81. package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
  82. package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
  83. package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
  84. package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
  85. package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
  86. package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
  87. package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
  88. package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
  89. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
  90. package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
  91. package/dist/tests/MochaHooks.js +65 -0
  92. package/dist/tests/MochaHooks.js.map +1 -0
  93. package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js +48 -0
  94. package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +1 -0
  95. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +73 -0
  96. package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +1 -0
  97. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +47 -0
  98. package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +1 -0
  99. package/dist/tests/devfiles/theia/DotNetCore.spec.js +81 -0
  100. package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +1 -0
  101. package/dist/tests/devfiles/theia/Go.spec.js +72 -0
  102. package/dist/tests/devfiles/theia/Go.spec.js.map +1 -0
  103. package/dist/tests/devfiles/theia/JavaMaven.spec.js +60 -0
  104. package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +1 -0
  105. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +66 -0
  106. package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +1 -0
  107. package/dist/tests/devfiles/theia/JavaVertx.spec.js +60 -0
  108. package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +1 -0
  109. package/dist/tests/devfiles/theia/NodeJS.spec.js +64 -0
  110. package/dist/tests/devfiles/theia/NodeJS.spec.js.map +1 -0
  111. package/dist/tests/devfiles/theia/PHPSimple.spec.js +74 -0
  112. package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +1 -0
  113. package/dist/tests/devfiles/theia/Python.spec.js +58 -0
  114. package/dist/tests/devfiles/theia/Python.spec.js.map +1 -0
  115. package/dist/tests/devfiles/theia/PythonDjango.spec.js +61 -0
  116. package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +1 -0
  117. package/dist/tests/devfiles/theia/Quarkus.spec.js +69 -0
  118. package/dist/tests/devfiles/theia/Quarkus.spec.js.map +1 -0
  119. package/dist/tests/devfiles/theia/Scala.spec.js +66 -0
  120. package/dist/tests/devfiles/theia/Scala.spec.js.map +1 -0
  121. package/dist/tests/e2e/theia/FactoryUrl.spec.js +40 -0
  122. package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +1 -0
  123. package/dist/tests/e2e/theia/GitPublishBranch.spec.js +90 -0
  124. package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +1 -0
  125. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +90 -0
  126. package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +1 -0
  127. package/dist/tests/e2e/theia/GitSsh.spec.js +120 -0
  128. package/dist/tests/e2e/theia/GitSsh.spec.js.map +1 -0
  129. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +124 -0
  130. package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +1 -0
  131. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +50 -0
  132. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
  133. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +48 -0
  134. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
  135. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +48 -0
  136. package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
  137. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +277 -0
  138. package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +1 -0
  139. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +314 -0
  140. package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +1 -0
  141. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +39 -0
  142. package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
  143. package/dist/tests/load_test/theia/LoadTest.spec.js +41 -0
  144. package/dist/tests/load_test/theia/LoadTest.spec.js.map +1 -0
  145. package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
  146. package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
  147. package/dist/tests/login/Login.spec.js +28 -0
  148. package/dist/tests/login/Login.spec.js.map +1 -0
  149. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +117 -0
  150. package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +1 -0
  151. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +62 -0
  152. package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +1 -0
  153. package/dist/tests/plugins/theia/JavaPlugin.spec.js +82 -0
  154. package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +1 -0
  155. package/dist/tests/plugins/theia/PhpPlugin.spec.js +96 -0
  156. package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +1 -0
  157. package/dist/tests/plugins/theia/PythonPlugin.spec.js +72 -0
  158. package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +1 -0
  159. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +135 -0
  160. package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +1 -0
  161. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +69 -0
  162. package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +1 -0
  163. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +82 -0
  164. package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +1 -0
  165. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +70 -0
  166. package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +1 -0
  167. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +81 -0
  168. package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +1 -0
  169. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +78 -0
  170. package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +1 -0
  171. package/dist/testsLibrary/WorkspaceHandlingTests.js +140 -0
  172. package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
  173. package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js +54 -0
  174. package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +1 -0
  175. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +248 -0
  176. package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +1 -0
  177. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +230 -0
  178. package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +1 -0
  179. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +133 -0
  180. package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +1 -0
  181. package/dist/utils/AnimationChecker.js +45 -0
  182. package/dist/utils/AnimationChecker.js.map +1 -0
  183. package/dist/utils/BrowserTabsUtil.js +115 -0
  184. package/dist/utils/BrowserTabsUtil.js.map +1 -0
  185. package/dist/utils/DriverHelper.js +616 -0
  186. package/dist/utils/DriverHelper.js.map +1 -0
  187. package/dist/utils/Logger.js +84 -0
  188. package/dist/utils/Logger.js.map +1 -0
  189. package/dist/utils/Sanitizer.js +29 -0
  190. package/dist/utils/Sanitizer.js.map +1 -0
  191. package/dist/utils/ScreenCatcher.js +107 -0
  192. package/dist/utils/ScreenCatcher.js.map +1 -0
  193. package/dist/utils/VCS/CheGitApi.js +42 -0
  194. package/dist/utils/VCS/CheGitApi.js.map +1 -0
  195. package/dist/utils/VCS/github/GitHubUtil.js +126 -0
  196. package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
  197. package/dist/utils/WorkspaceNameHandler.js +60 -0
  198. package/dist/utils/WorkspaceNameHandler.js.map +1 -0
  199. package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
  200. package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
  201. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +49 -0
  202. package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
  203. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
  204. package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
  205. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
  206. package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
  207. package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
  208. package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
  209. package/dist/utils/theia/PreferencesHandlerTheia.js +142 -0
  210. package/dist/utils/theia/PreferencesHandlerTheia.js.map +1 -0
  211. package/dist/utils/workspace/ApiUrlResolver.js +67 -0
  212. package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
  213. package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
  214. package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
  215. package/dist/utils/workspace/TestWorkspaceUtil.js +357 -0
  216. package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
  217. package/dist/utils/workspace/WorkspaceStatus.js +19 -0
  218. package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
  219. package/package.json +2 -2
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var Dashboard_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.Dashboard = void 0;
17
+ /*********************************************************************
18
+ * Copyright (c) 2019 Red Hat, Inc.
19
+ *
20
+ * This program and the accompanying materials are made
21
+ * available under the terms of the Eclipse Public License 2.0
22
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
23
+ *
24
+ * SPDX-License-Identifier: EPL-2.0
25
+ **********************************************************************/
26
+ const inversify_1 = require("inversify");
27
+ require("reflect-metadata");
28
+ const inversify_types_1 = require("../../inversify.types");
29
+ const selenium_webdriver_1 = require("selenium-webdriver");
30
+ const DriverHelper_1 = require("../../utils/DriverHelper");
31
+ const TestConstants_1 = require("../../TestConstants");
32
+ const TimeoutConstants_1 = require("../../TimeoutConstants");
33
+ const Workspaces_1 = require("./Workspaces");
34
+ const Logger_1 = require("../../utils/Logger");
35
+ let Dashboard = Dashboard_1 = class Dashboard {
36
+ constructor(driverHelper, workspaces) {
37
+ this.driverHelper = driverHelper;
38
+ this.workspaces = workspaces;
39
+ }
40
+ async stopWorkspaceByUI(workspaceName) {
41
+ Logger_1.Logger.debug(`Dashboard.stopWorkspaceByUI "${workspaceName}"`);
42
+ await this.clickWorkspacesButton();
43
+ await this.workspaces.waitPage();
44
+ await this.workspaces.waitWorkspaceListItem(workspaceName);
45
+ await this.workspaces.waitWorkspaceWithRunningStatus(workspaceName);
46
+ await this.workspaces.stopWorkspaceByActionsButton(workspaceName);
47
+ await this.workspaces.waitWorkspaceWithStoppedStatus(workspaceName);
48
+ }
49
+ async deleteStoppedWorkspaceByUI(workspaceName) {
50
+ Logger_1.Logger.debug(`Dashboard.deleteStoppedWorkspaceByUI "${workspaceName}"`);
51
+ await this.clickWorkspacesButton();
52
+ await this.workspaces.waitPage();
53
+ await this.workspaces.waitWorkspaceListItem(workspaceName);
54
+ await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
55
+ await this.workspaces.waitPage();
56
+ await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
57
+ }
58
+ async stopAndRemoveWorkspaceByUI(workspaceName) {
59
+ Logger_1.Logger.debug(`Dashboard.stopAndRemoveWorkspaceByUI "${workspaceName}"`);
60
+ await this.stopWorkspaceByUI(workspaceName);
61
+ await this.workspaces.deleteWorkspaceByActionsButton(workspaceName);
62
+ await this.workspaces.waitWorkspaceListItemAbcence(workspaceName);
63
+ }
64
+ async openDashboard() {
65
+ Logger_1.Logger.debug('Dashboard.openDashboard');
66
+ await this.driverHelper.getDriver().navigate().to(TestConstants_1.TestConstants.TS_SELENIUM_BASE_URL);
67
+ await this.waitPage();
68
+ }
69
+ async waitPage(timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
70
+ Logger_1.Logger.debug('Dashboard.waitPage');
71
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(Dashboard_1.WORKSPACES_BUTTON_XPATH), timeout);
72
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(Dashboard_1.CREATE_WORKSPACE_BUTTON_XPATH), timeout);
73
+ }
74
+ async clickWorkspacesButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
75
+ Logger_1.Logger.debug('Dashboard.clickWorkspacesButton');
76
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(Dashboard_1.WORKSPACES_BUTTON_XPATH), timeout);
77
+ }
78
+ async clickCreateWorkspaceButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
79
+ Logger_1.Logger.debug('Dashboard.clickCreateWorkspaceButton');
80
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(Dashboard_1.CREATE_WORKSPACE_BUTTON_XPATH), timeout);
81
+ }
82
+ async waitLoader(timeout = TimeoutConstants_1.TimeoutConstants.TS_WAIT_LOADER_PRESENCE_TIMEOUT) {
83
+ Logger_1.Logger.debug('Dashboard.waitLoader');
84
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(Dashboard_1.LOADER_PAGE_CSS), timeout);
85
+ }
86
+ async waitLoaderDisappearance(timeout = TimeoutConstants_1.TimeoutConstants.TS_WAIT_LOADER_ABSENCE_TIMEOUT) {
87
+ Logger_1.Logger.debug('Dashboard.waitLoaderDisappearance');
88
+ await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.css(Dashboard_1.LOADER_PAGE_CSS), timeout);
89
+ }
90
+ async waitDisappearanceNavigationMenu(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
91
+ Logger_1.Logger.debug('Dashboard.waitDisappearanceNavigationMenu');
92
+ await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.id('chenavmenu'), timeout);
93
+ }
94
+ async waitWorkspaceStartingPage(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
95
+ Logger_1.Logger.debug(`Dashboard.waitWorkspaceStartingPage`);
96
+ await this.driverHelper.waitPresence(selenium_webdriver_1.By.css(Dashboard_1.WORKSPACE_STARTING_PAGE_CSS), timeout);
97
+ }
98
+ async getRecentWorkspaceName(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
99
+ Logger_1.Logger.debug(`Dashboard.recentWorkspaceName`);
100
+ return await this.driverHelper.waitAndGetText(selenium_webdriver_1.By.css('[data-testid="recent-workspace-item"]'), timeout);
101
+ }
102
+ };
103
+ Dashboard.WORKSPACES_BUTTON_XPATH = `//div[@id='page-sidebar']//a[contains(text(), 'Workspaces (')]`;
104
+ Dashboard.CREATE_WORKSPACE_BUTTON_XPATH = `//div[@id='page-sidebar']//a[text()='Create Workspace']`;
105
+ Dashboard.LOADER_PAGE_CSS = '.main-page-loader';
106
+ Dashboard.WORKSPACE_STARTING_PAGE_CSS = '.ide-loader-page';
107
+ Dashboard = Dashboard_1 = __decorate([
108
+ inversify_1.injectable(),
109
+ __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
110
+ __param(1, inversify_1.inject(inversify_types_1.CLASSES.Workspaces)),
111
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
112
+ Workspaces_1.Workspaces])
113
+ ], Dashboard);
114
+ exports.Dashboard = Dashboard;
115
+ //# sourceMappingURL=Dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /*********************************************************************
3
+ * Copyright (c) 2019 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ **********************************************************************/
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ var __metadata = (this && this.__metadata) || function (k, v) {
18
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
19
+ };
20
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
21
+ return function (target, key) { decorator(target, key, paramIndex); }
22
+ };
23
+ var Workspaces_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.Workspaces = exports.WorkspaceStatusUI = void 0;
26
+ const inversify_1 = require("inversify");
27
+ const DriverHelper_1 = require("../../utils/DriverHelper");
28
+ const inversify_types_1 = require("../../inversify.types");
29
+ const selenium_webdriver_1 = require("selenium-webdriver");
30
+ const Logger_1 = require("../../utils/Logger");
31
+ const TimeoutConstants_1 = require("../../TimeoutConstants");
32
+ var WorkspaceStatusUI;
33
+ (function (WorkspaceStatusUI) {
34
+ WorkspaceStatusUI["Running"] = "green";
35
+ WorkspaceStatusUI["Stopped"] = "grey";
36
+ })(WorkspaceStatusUI = exports.WorkspaceStatusUI || (exports.WorkspaceStatusUI = {}));
37
+ let Workspaces = Workspaces_1 = class Workspaces {
38
+ constructor(driverHelper) {
39
+ this.driverHelper = driverHelper;
40
+ }
41
+ async waitPage(timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
42
+ Logger_1.Logger.debug('Workspaces.waitPage');
43
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.xpath(Workspaces_1.ADD_WORKSPACE_BUTTON_XPATH), timeout);
44
+ }
45
+ async clickAddWorkspaceButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
46
+ Logger_1.Logger.debug('Workspaces.clickAddWorkspaceButton');
47
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(Workspaces_1.ADD_WORKSPACE_BUTTON_XPATH), timeout);
48
+ }
49
+ async clickOpenButton(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
50
+ Logger_1.Logger.debug('Workspaces.clickOpenButton');
51
+ await this.driverHelper.waitAndClick(this.getOpenButtonLocator(workspaceName), timeout);
52
+ }
53
+ async waitWorkspaceListItem(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
54
+ Logger_1.Logger.debug(`Workspaces.waitWorkspaceListItem "${workspaceName}"`);
55
+ const workspaceListItemLocator = selenium_webdriver_1.By.xpath(this.getWorkspaceListItemLocator(workspaceName));
56
+ await this.driverHelper.waitVisibility(workspaceListItemLocator, timeout);
57
+ }
58
+ async waitWorkspaceWithRunningStatus(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
59
+ Logger_1.Logger.debug(`Workspaces.waitWorkspaceWithRunningStatus "${workspaceName}"`);
60
+ const runningStatusLocator = this.getWorkspaceStatusLocator(workspaceName, WorkspaceStatusUI.Running);
61
+ await this.driverHelper.waitVisibility(runningStatusLocator, timeout);
62
+ }
63
+ async waitWorkspaceWithStoppedStatus(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
64
+ Logger_1.Logger.debug(`Workspaces.waitWorkspaceWithStoppedStatus "${workspaceName}"`);
65
+ const stoppedStatusLocator = this.getWorkspaceStatusLocator(workspaceName, WorkspaceStatusUI.Stopped);
66
+ await this.driverHelper.waitVisibility(stoppedStatusLocator, timeout);
67
+ }
68
+ async clickWorkspaceListItem(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
69
+ Logger_1.Logger.debug(`Workspaces.clickWorkspaceListItem "${workspaceName}"`);
70
+ const workspaceListItemLocator = selenium_webdriver_1.By.xpath(this.getWorkspaceListItemLocator(workspaceName));
71
+ await this.driverHelper.waitAndClick(workspaceListItemLocator, timeout);
72
+ }
73
+ async clickActionsButton(workspaceName) {
74
+ Logger_1.Logger.debug(`Workspaces.clickActionsButton of the '${workspaceName}' list item`);
75
+ await this.driverHelper.waitAndClick(this.getActionsLocator(workspaceName));
76
+ }
77
+ async waitActionsPopup(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT) {
78
+ Logger_1.Logger.debug(`Workspaces.waitActionsPopup of the '${workspaceName}' list item`);
79
+ await this.driverHelper.waitVisibility(this.getExpandedActionsLocator(workspaceName), timeout);
80
+ await this.driverHelper.wait(2000);
81
+ }
82
+ async openActionsPopup(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT) {
83
+ Logger_1.Logger.debug(`Workspaces.openActionsPopup for the '${workspaceName}' list item`);
84
+ await this.clickActionsButton(workspaceName);
85
+ await this.waitActionsPopup(workspaceName, timeout);
86
+ }
87
+ async clickActionsDeleteButton(workspaceName) {
88
+ Logger_1.Logger.debug(`Workspaces.clickActionsDeleteButton for the '${workspaceName}' list item`);
89
+ await this.driverHelper.waitAndClick(this.getActionsPopupButtonLocator(workspaceName, 'Delete Workspace'));
90
+ }
91
+ async clickActionsStopWorkspaceButton(workspaceName) {
92
+ Logger_1.Logger.debug(`Workspaces.clickActionsStopWorkspaceButton for the '${workspaceName}' list item`);
93
+ // workaround because of issue CRW-3649
94
+ try {
95
+ await this.driverHelper.waitAndClick(this.getActionsPopupButtonLocator(workspaceName, 'Stop Workspace'));
96
+ }
97
+ catch (e) {
98
+ Logger_1.Logger.warn(`Workspaces.clickActionsStopWorkspaceButton for the '${workspaceName}' list item - popup was missed, try to click one more time (issue CRW-3649).`);
99
+ await this.driverHelper.waitAndClick(this.getActionsLocator(workspaceName));
100
+ await this.driverHelper.waitAndClick(this.getActionsPopupButtonLocator(workspaceName, 'Stop Workspace'));
101
+ }
102
+ }
103
+ async waitDeleteWorkspaceConfirmationWindow(timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
104
+ Logger_1.Logger.debug(`Workspaces.waitDeleteWorkspaceConfirmationWindow`);
105
+ const confirmationWindowLocator = selenium_webdriver_1.By.xpath(`//div[@aria-label='Delete workspaces confirmation window']`);
106
+ await this.driverHelper.waitVisibility(confirmationWindowLocator, timeout);
107
+ await this.driverHelper.wait(5000);
108
+ }
109
+ async clickToDeleteConfirmationCheckbox(timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
110
+ Logger_1.Logger.debug(`Workspaces.clickToDeleteConfirmationCheckbox`);
111
+ const deleteConfirmationCheckboxLocator = selenium_webdriver_1.By.xpath(`//input[@data-testid='confirmation-checkbox']`);
112
+ await this.driverHelper.waitAndClick(deleteConfirmationCheckboxLocator, timeout);
113
+ }
114
+ async waitAndClickEnabledConfirmationWindowDeleteButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
115
+ Logger_1.Logger.debug(`Workspaces.waitEnabledConfirmationWindowDeleteButton`);
116
+ const enabledConfirmationWindowDeleteButton = selenium_webdriver_1.By.xpath(`//button[@data-testid='delete-workspace-button' and not(@disabled)]`);
117
+ await this.driverHelper.waitAndClick(enabledConfirmationWindowDeleteButton, timeout);
118
+ }
119
+ async deleteWorkspaceByActionsButton(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
120
+ Logger_1.Logger.debug('Workspaces.deleteWorkspaceByActionsButton');
121
+ await this.waitWorkspaceListItem(workspaceName, timeout);
122
+ await this.openActionsPopup(workspaceName, timeout);
123
+ await this.clickActionsDeleteButton(workspaceName);
124
+ await this.waitDeleteWorkspaceConfirmationWindow(timeout);
125
+ await this.clickToDeleteConfirmationCheckbox(timeout);
126
+ await this.waitAndClickEnabledConfirmationWindowDeleteButton(timeout);
127
+ }
128
+ async stopWorkspaceByActionsButton(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_DASHBOARD_WORKSPACE_STOP_TIMEOUT) {
129
+ Logger_1.Logger.debug('Workspaces.stopWorkspaceByActionsButton');
130
+ await this.waitWorkspaceListItem(workspaceName, timeout);
131
+ await this.openActionsPopup(workspaceName, timeout);
132
+ await this.clickActionsStopWorkspaceButton(workspaceName);
133
+ }
134
+ async waitWorkspaceListItemAbcence(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
135
+ Logger_1.Logger.debug(`Workspaces.waitWorkspaceListItemAbcence "${workspaceName}"`);
136
+ const workspaceListItemLocator = selenium_webdriver_1.By.xpath(this.getWorkspaceListItemLocator(workspaceName));
137
+ await this.driverHelper.waitDisappearance(workspaceListItemLocator, timeout);
138
+ }
139
+ getWorkspaceListItemLocator(workspaceName) {
140
+ return `//tr[td/span/a[text()='${workspaceName}']]`;
141
+ }
142
+ getWorkspaceStatusLocator(workspaceName, workspaceStatus) {
143
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName)}//span[@data-testid='workspace-status-indicator']//*[local-name()='svg' and @fill='${workspaceStatus}']`);
144
+ }
145
+ getActionsLocator(workspaceName) {
146
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName)}/td/div/button[@aria-label='Actions']`);
147
+ }
148
+ getExpandedActionsLocator(workspaceName) {
149
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName)}//button[@aria-label='Actions' and @aria-expanded='true']`);
150
+ }
151
+ getActionsPopupButtonLocator(workspaceName, buttonText) {
152
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName)}//li[@role='menuitem']//button[text()='${buttonText}']`);
153
+ }
154
+ getOpenButtonLocator(workspaceName) {
155
+ return selenium_webdriver_1.By.xpath(`${this.getWorkspaceListItemLocator(workspaceName)}//td[@data-key=5]//a[text()='Open']`);
156
+ }
157
+ };
158
+ Workspaces.ADD_WORKSPACE_BUTTON_XPATH = `//button[text()='Add Workspace']`;
159
+ Workspaces = Workspaces_1 = __decorate([
160
+ inversify_1.injectable(),
161
+ __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
162
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
163
+ ], Workspaces);
164
+ exports.Workspaces = Workspaces;
165
+ //# sourceMappingURL=Workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workspaces.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Workspaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var WorkspaceDetails_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.WorkspaceDetails = void 0;
17
+ /*********************************************************************
18
+ * Copyright (c) 2019 Red Hat, Inc.
19
+ *
20
+ * This program and the accompanying materials are made
21
+ * available under the terms of the Eclipse Public License 2.0
22
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
23
+ *
24
+ * SPDX-License-Identifier: EPL-2.0
25
+ **********************************************************************/
26
+ const DriverHelper_1 = require("../../../utils/DriverHelper");
27
+ const inversify_1 = require("inversify");
28
+ const inversify_types_1 = require("../../../inversify.types");
29
+ require("reflect-metadata");
30
+ const TestConstants_1 = require("../../../TestConstants");
31
+ const selenium_webdriver_1 = require("selenium-webdriver");
32
+ const Ide_1 = require("../../ide/theia/Ide");
33
+ const WorkspaceStatus_1 = require("../../../utils/workspace/WorkspaceStatus");
34
+ const Logger_1 = require("../../../utils/Logger");
35
+ const TimeoutConstants_1 = require("../../../TimeoutConstants");
36
+ let WorkspaceDetails = WorkspaceDetails_1 = class WorkspaceDetails {
37
+ constructor(driverHelper, testWorkspaceUtil) {
38
+ this.driverHelper = driverHelper;
39
+ this.testWorkspaceUtil = testWorkspaceUtil;
40
+ }
41
+ async waitLoaderDisappearance(attempts = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS, polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
42
+ Logger_1.Logger.debug('WorkspaceDetails.waitLoaderDisappearance');
43
+ await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.css(WorkspaceDetails_1.WORKSPACE_DETAILS_LOADER_CSS), attempts, polling);
44
+ }
45
+ async saveChanges() {
46
+ Logger_1.Logger.debug('WorkspaceDetails.saveChanges');
47
+ await this.waitSaveButton();
48
+ await this.clickOnSaveButton();
49
+ await this.waitSaveButtonDisappearance();
50
+ }
51
+ async waitPage(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
52
+ Logger_1.Logger.debug(`WorkspaceDetails.saveChanges workspace: "${workspaceName}"`);
53
+ await this.waitWorkspaceTitle(workspaceName, timeout);
54
+ await this.waitOpenButton(timeout);
55
+ await this.waitRunButton(timeout);
56
+ await this.waitTabsPresence(timeout);
57
+ await this.waitLoaderDisappearance(timeout);
58
+ }
59
+ async waitWorkspaceTitle(workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
60
+ Logger_1.Logger.debug(`WorkspaceDetails.waitWorkspaceTitle title: "${workspaceName}"`);
61
+ const workspaceTitleLocator = selenium_webdriver_1.By.css(this.getWorkspaceTitleCssLocator(workspaceName));
62
+ await this.driverHelper.waitVisibility(workspaceTitleLocator, timeout);
63
+ }
64
+ async waitRunButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
65
+ Logger_1.Logger.debug('WorkspaceDetails.waitRunButton');
66
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(WorkspaceDetails_1.RUN_BUTTON_CSS), timeout);
67
+ }
68
+ async clickOnRunButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
69
+ Logger_1.Logger.debug('WorkspaceDetails.clickOnRunButton');
70
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.css(WorkspaceDetails_1.RUN_BUTTON_CSS), timeout);
71
+ }
72
+ async waitOpenButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
73
+ Logger_1.Logger.debug('WorkspaceDetails.waitOpenButton');
74
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(WorkspaceDetails_1.OPEN_BUTTON_CSS), timeout);
75
+ }
76
+ async openWorkspace(namespace, workspaceName, timeout = TimeoutConstants_1.TimeoutConstants.TS_SELENIUM_LOAD_PAGE_TIMEOUT) {
77
+ Logger_1.Logger.debug(`WorkspaceDetails.openWorkspace "${namespace}/${workspaceName}"`);
78
+ await this.clickOnOpenButton(timeout);
79
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(Ide_1.Ide.THEIA_EDITOR_CSS), TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
80
+ await this.testWorkspaceUtil.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus_1.WorkspaceStatus.STARTING);
81
+ }
82
+ async waitTabsPresence(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
83
+ Logger_1.Logger.debug('WorkspaceDetails.waitTabsPresence');
84
+ const workspaceDetailsTabs = ['Overview', 'Projects', 'Containers', 'Servers',
85
+ 'Env Variables', 'Volumes', 'Config', 'SSH', 'Plugins', 'Editors'];
86
+ for (const tabTitle of workspaceDetailsTabs) {
87
+ const workspaceDetailsTabLocator = selenium_webdriver_1.By.xpath(this.getTabXpathLocator(tabTitle));
88
+ await this.driverHelper.waitVisibility(workspaceDetailsTabLocator, timeout);
89
+ }
90
+ }
91
+ async selectTab(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
92
+ Logger_1.Logger.debug(`WorkspaceDetails.selectTab ${tabTitle}`);
93
+ await this.clickOnTab(tabTitle, timeout);
94
+ await this.waitTabSelected(tabTitle, timeout);
95
+ }
96
+ getWorkspaceTitleCssLocator(workspaceName) {
97
+ return `che-row-toolbar[che-title='${workspaceName}']`;
98
+ }
99
+ getTabXpathLocator(tabTitle) {
100
+ return `//md-tabs-canvas//md-tab-item//span[text()='${tabTitle}']`;
101
+ }
102
+ getSelectedTabXpathLocator(tabTitle) {
103
+ return `//md-tabs-canvas[@role='tablist']//md-tab-item[@aria-selected='true']//span[text()='${tabTitle}']`;
104
+ }
105
+ async waitSaveButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
106
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(WorkspaceDetails_1.ENABLED_SAVE_BUTTON_CSS), timeout);
107
+ }
108
+ async waitSaveButtonDisappearance(attempts = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_ATTEMPTS, polling = TestConstants_1.TestConstants.TS_SELENIUM_DEFAULT_POLLING) {
109
+ await this.driverHelper.waitDisappearance(selenium_webdriver_1.By.css(WorkspaceDetails_1.SAVE_BUTTON_CSS), attempts, polling);
110
+ }
111
+ async clickOnSaveButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
112
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.css(WorkspaceDetails_1.ENABLED_SAVE_BUTTON_CSS), timeout);
113
+ }
114
+ async clickOnOpenButton(timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
115
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.css(WorkspaceDetails_1.OPEN_BUTTON_CSS), timeout);
116
+ }
117
+ async clickOnTab(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
118
+ const workspaceDetailsTabLocator = selenium_webdriver_1.By.xpath(this.getTabXpathLocator(tabTitle));
119
+ await this.driverHelper.waitAndClick(workspaceDetailsTabLocator, timeout);
120
+ }
121
+ async waitTabSelected(tabTitle, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
122
+ const selectedTabLocator = selenium_webdriver_1.By.xpath(this.getSelectedTabXpathLocator(tabTitle));
123
+ await this.driverHelper.waitVisibility(selectedTabLocator, timeout);
124
+ }
125
+ };
126
+ WorkspaceDetails.RUN_BUTTON_CSS = '#run-workspace-button[che-button-title=\'Run\']';
127
+ WorkspaceDetails.OPEN_BUTTON_CSS = '#open-in-ide-button[che-button-title=\'Open\']';
128
+ WorkspaceDetails.SAVE_BUTTON_CSS = 'button[name=\'save-button\']';
129
+ WorkspaceDetails.ENABLED_SAVE_BUTTON_CSS = 'button[name=\'save-button\'][aria-disabled=\'false\']';
130
+ WorkspaceDetails.WORKSPACE_DETAILS_LOADER_CSS = 'workspace-details-overview md-progress-linear';
131
+ WorkspaceDetails = WorkspaceDetails_1 = __decorate([
132
+ inversify_1.injectable(),
133
+ __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
134
+ __param(1, inversify_1.inject(inversify_types_1.TYPES.WorkspaceUtil)),
135
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper, Object])
136
+ ], WorkspaceDetails);
137
+ exports.WorkspaceDetails = WorkspaceDetails;
138
+ //# sourceMappingURL=WorkspaceDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceDetails.js","sourceRoot":"","sources":["../../../../pageobjects/dashboard/workspace-details/WorkspaceDetails.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.WorkspaceDetailsPlugins = void 0;
16
+ /*********************************************************************
17
+ * Copyright (c) 2019 Red Hat, Inc.
18
+ *
19
+ * This program and the accompanying materials are made
20
+ * available under the terms of the Eclipse Public License 2.0
21
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
22
+ *
23
+ * SPDX-License-Identifier: EPL-2.0
24
+ **********************************************************************/
25
+ const DriverHelper_1 = require("../../../utils/DriverHelper");
26
+ const inversify_1 = require("inversify");
27
+ require("reflect-metadata");
28
+ const inversify_types_1 = require("../../../inversify.types");
29
+ const selenium_webdriver_1 = require("selenium-webdriver");
30
+ const WorkspaceDetails_1 = require("./WorkspaceDetails");
31
+ const WorkspaceStatus_1 = require("../../../utils/workspace/WorkspaceStatus");
32
+ const Logger_1 = require("../../../utils/Logger");
33
+ const TimeoutConstants_1 = require("../../../TimeoutConstants");
34
+ let WorkspaceDetailsPlugins = class WorkspaceDetailsPlugins {
35
+ constructor(driverHelper, workspaceDetails, testWorkspaceUtil) {
36
+ this.driverHelper = driverHelper;
37
+ this.workspaceDetails = workspaceDetails;
38
+ this.testWorkspaceUtil = testWorkspaceUtil;
39
+ }
40
+ async waitPluginListItem(pluginName) {
41
+ Logger_1.Logger.debug(`WorkspaceDetailsPlugins.waitPluginListItem ${pluginName}`);
42
+ const pluginListItemLocator = selenium_webdriver_1.By.css(this.getPluginListItemCssLocator(pluginName));
43
+ await this.driverHelper.waitVisibility(pluginListItemLocator, TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT);
44
+ }
45
+ async enablePlugin(pluginName, pluginVersion) {
46
+ Logger_1.Logger.debug(`WorkspaceDetailsPlugins.enablePlugin ${pluginName}:${pluginVersion}`);
47
+ await this.waitPluginDisabling(pluginName, pluginVersion);
48
+ await this.clickOnPluginListItemSwitcher(pluginName, pluginVersion);
49
+ await this.waitPluginEnabling(pluginName, pluginVersion);
50
+ }
51
+ async disablePlugin(pluginName, pluginVersion) {
52
+ Logger_1.Logger.debug(`WorkspaceDetailsPlugins.disablePlugin ${pluginName}:${pluginVersion}`);
53
+ await this.waitPluginEnabling(pluginName, pluginVersion);
54
+ await this.clickOnPluginListItemSwitcher(pluginName, pluginVersion);
55
+ await this.waitPluginDisabling(pluginName, pluginVersion);
56
+ }
57
+ async addPluginAndOpenWorkspace(namespace, workspaceName, pluginName, pluginId, pluginVersion) {
58
+ Logger_1.Logger.debug(`WorkspaceDetailsPlugins.addPluginAndOpenWorkspace ${namespace}/${workspaceName} plugin: ${pluginName}:${pluginVersion}`);
59
+ await this.workspaceDetails.selectTab('Plugins');
60
+ await this.enablePlugin(pluginName, pluginVersion);
61
+ await this.workspaceDetails.saveChanges();
62
+ await this.workspaceDetails.openWorkspace(namespace, workspaceName);
63
+ await this.testWorkspaceUtil.waitWorkspaceStatus(namespace, workspaceName, WorkspaceStatus_1.WorkspaceStatus.RUNNING);
64
+ await this.testWorkspaceUtil.waitPluginAdding(namespace, workspaceName, pluginId);
65
+ }
66
+ getPluginListItemCssLocator(pluginName, pluginVersion) {
67
+ if (pluginVersion) {
68
+ return `.plugin-item div[plugin-item-name*='${pluginName}'][plugin-item-version='${pluginVersion}']`;
69
+ }
70
+ return `.plugin-item div[plugin-item-name*='${pluginName}']`;
71
+ }
72
+ getPluginListItemSwitcherCssLocator(pluginName, pluginVersion) {
73
+ return `${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch`;
74
+ }
75
+ async clickOnPluginListItemSwitcher(pluginName, pluginVersion, timeout = TimeoutConstants_1.TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
76
+ const pluginListItemSwitcherLocator = selenium_webdriver_1.By.css(this.getPluginListItemSwitcherCssLocator(pluginName, pluginVersion));
77
+ await this.driverHelper.waitAndClick(pluginListItemSwitcherLocator, timeout);
78
+ }
79
+ async waitPluginEnabling(pluginName, pluginVersion, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
80
+ const enabledPluginSwitcherLocator = selenium_webdriver_1.By.css(`${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch[aria-checked='true']`);
81
+ await this.driverHelper.waitVisibility(enabledPluginSwitcherLocator, timeout);
82
+ }
83
+ async waitPluginDisabling(pluginName, pluginVersion, timeout = TimeoutConstants_1.TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT) {
84
+ const disabledPluginSwitcherLocator = selenium_webdriver_1.By.css(`${this.getPluginListItemCssLocator(pluginName, pluginVersion)} md-switch[aria-checked='false']`);
85
+ await this.driverHelper.waitVisibility(disabledPluginSwitcherLocator, timeout);
86
+ }
87
+ };
88
+ WorkspaceDetailsPlugins = __decorate([
89
+ inversify_1.injectable(),
90
+ __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
91
+ __param(1, inversify_1.inject(inversify_types_1.CLASSES.WorkspaceDetails)),
92
+ __param(2, inversify_1.inject(inversify_types_1.TYPES.WorkspaceUtil)),
93
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
94
+ WorkspaceDetails_1.WorkspaceDetails, Object])
95
+ ], WorkspaceDetailsPlugins);
96
+ exports.WorkspaceDetailsPlugins = WorkspaceDetailsPlugins;
97
+ //# sourceMappingURL=WorkspaceDetailsPlugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceDetailsPlugins.js","sourceRoot":"","sources":["../../../../pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /*********************************************************************
3
+ * Copyright (c) 2019 Red Hat, Inc.
4
+ *
5
+ * This program and the accompanying materials are made
6
+ * available under the terms of the Eclipse Public License 2.0
7
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
8
+ *
9
+ * SPDX-License-Identifier: EPL-2.0
10
+ **********************************************************************/
11
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
12
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
13
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
16
+ };
17
+ var __metadata = (this && this.__metadata) || function (k, v) {
18
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
19
+ };
20
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
21
+ return function (target, key) { decorator(target, key, paramIndex); }
22
+ };
23
+ var ContextMenu_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ContextMenu = void 0;
26
+ require("reflect-metadata");
27
+ const inversify_1 = require("inversify");
28
+ const DriverHelper_1 = require("../../../utils/DriverHelper");
29
+ const inversify_types_1 = require("../../../inversify.types");
30
+ const selenium_webdriver_1 = require("selenium-webdriver");
31
+ const Logger_1 = require("../../../utils/Logger");
32
+ const TimeoutConstants_1 = require("../../../TimeoutConstants");
33
+ let ContextMenu = ContextMenu_1 = class ContextMenu {
34
+ constructor(driverHelper) {
35
+ this.driverHelper = driverHelper;
36
+ }
37
+ async invokeContextMenuOnTheElementWithMouse(elementLocator) {
38
+ Logger_1.Logger.debug(`ContextMenu.invokeContextMenuOnTheElementWithMouse ${elementLocator}`);
39
+ const webElement = await this.driverHelper.waitVisibility(elementLocator, TimeoutConstants_1.TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT);
40
+ await this.driverHelper.getAction().contextClick(webElement).perform();
41
+ this.waitContextMenu();
42
+ }
43
+ async invokeContextMenuOnActiveElementWithKeys() {
44
+ Logger_1.Logger.debug('ContextMenu.invokeContextMenuOnActiveElementWithKeys');
45
+ this.driverHelper.getDriver().switchTo().activeElement().sendKeys(selenium_webdriver_1.Key.SHIFT + selenium_webdriver_1.Key.F10);
46
+ this.waitContextMenu();
47
+ }
48
+ async waitContextMenuAndClickOnItem(nameOfItem) {
49
+ Logger_1.Logger.debug(`ContextMenu.waitContextMenuAndClickOnItem "${nameOfItem}"`);
50
+ const itemLocator = `//div[@class='p-Menu-itemLabel' and text()='${nameOfItem}']`;
51
+ await this.waitContextMenu();
52
+ await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(itemLocator), TimeoutConstants_1.TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT);
53
+ }
54
+ async waitContextMenu() {
55
+ Logger_1.Logger.debug(`ContextMenu.waitContextMenu`);
56
+ await this.driverHelper.waitVisibility(selenium_webdriver_1.By.css(ContextMenu_1.SUGGESTION_WIDGET_BODY_CSS), TimeoutConstants_1.TimeoutConstants.TS_CONTEXT_MENU_TIMEOUT);
57
+ }
58
+ };
59
+ ContextMenu.SUGGESTION_WIDGET_BODY_CSS = 'ul.p-Menu-content';
60
+ ContextMenu = ContextMenu_1 = __decorate([
61
+ inversify_1.injectable(),
62
+ __param(0, inversify_1.inject(inversify_types_1.CLASSES.DriverHelper)),
63
+ __metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
64
+ ], ContextMenu);
65
+ exports.ContextMenu = ContextMenu;
66
+ //# sourceMappingURL=ContextMenu.js.map