@eclipse-che/che-e2e 7.58.1-dev-43d35ee → 7.58.1-dev-156c2d9
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.
- package/dist/TestConstants.js +244 -0
- package/dist/TestConstants.js.map +1 -0
- package/dist/TimeoutConstants.js +184 -0
- package/dist/TimeoutConstants.js.map +1 -0
- package/dist/driver/CheReporter.js +170 -0
- package/dist/driver/CheReporter.js.map +1 -0
- package/dist/driver/ChromeDriver.js +77 -0
- package/dist/driver/ChromeDriver.js.map +1 -0
- package/dist/driver/IDriver.js +3 -0
- package/dist/driver/IDriver.js.map +1 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +1 -0
- package/dist/inversify.config.js +132 -0
- package/dist/inversify.config.js.map +1 -0
- package/dist/inversify.types.js +75 -0
- package/dist/inversify.types.js.map +1 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js +106 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -0
- package/dist/pageobjects/dashboard/Dashboard.js +115 -0
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -0
- package/dist/pageobjects/dashboard/Workspaces.js +165 -0
- package/dist/pageobjects/dashboard/Workspaces.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js +138 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetails.js.map +1 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js +97 -0
- package/dist/pageobjects/dashboard/workspace-details/WorkspaceDetailsPlugins.js.map +1 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js +66 -0
- package/dist/pageobjects/ide/theia/ContextMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/DebugView.js +98 -0
- package/dist/pageobjects/ide/theia/DebugView.js.map +1 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js +102 -0
- package/dist/pageobjects/ide/theia/DialogWindow.js.map +1 -0
- package/dist/pageobjects/ide/theia/Editor.js +463 -0
- package/dist/pageobjects/ide/theia/Editor.js.map +1 -0
- package/dist/pageobjects/ide/theia/Ide.js +336 -0
- package/dist/pageobjects/ide/theia/Ide.js.map +1 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js +81 -0
- package/dist/pageobjects/ide/theia/LeftToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js +57 -0
- package/dist/pageobjects/ide/theia/NavigationBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js +76 -0
- package/dist/pageobjects/ide/theia/NotificationCenter.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js +100 -0
- package/dist/pageobjects/ide/theia/OpenDialogWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js +73 -0
- package/dist/pageobjects/ide/theia/OpenEditors.js.map +1 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js +62 -0
- package/dist/pageobjects/ide/theia/OpenWorkspaceWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js +134 -0
- package/dist/pageobjects/ide/theia/PreviewWidget.js.map +1 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js +282 -0
- package/dist/pageobjects/ide/theia/ProjectTree.js.map +1 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js +70 -0
- package/dist/pageobjects/ide/theia/QuickOpenContainer.js.map +1 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js +51 -0
- package/dist/pageobjects/ide/theia/RightToolBar.js.map +1 -0
- package/dist/pageobjects/ide/theia/Terminal.js +184 -0
- package/dist/pageobjects/ide/theia/Terminal.js.map +1 -0
- package/dist/pageobjects/ide/theia/TopMenu.js +109 -0
- package/dist/pageobjects/ide/theia/TopMenu.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js +128 -0
- package/dist/pageobjects/ide/theia/plugins/GitHubPullRequestPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js +120 -0
- package/dist/pageobjects/ide/theia/plugins/GitPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js +107 -0
- package/dist/pageobjects/ide/theia/plugins/KubernetesPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js +99 -0
- package/dist/pageobjects/ide/theia/plugins/OpenshiftPlugin.js.map +1 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js +166 -0
- package/dist/pageobjects/ide/theia/plugins/PluginsView.js.map +1 -0
- package/dist/pageobjects/login/ICheLoginPage.js +12 -0
- package/dist/pageobjects/login/ICheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/IOcpLoginPage.js +12 -0
- package/dist/pageobjects/login/IOcpLoginPage.js.map +1 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js +49 -0
- package/dist/pageobjects/login/MultiUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js +53 -0
- package/dist/pageobjects/login/OcpUserLoginPage.js.map +1 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js +86 -0
- package/dist/pageobjects/login/RegularUserOcpCheLoginPage.js.map +1 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js +74 -0
- package/dist/pageobjects/login/UpdateAccountInformationPage.js.map +1 -0
- package/dist/pageobjects/openshift/CheLoginPage.js +88 -0
- package/dist/pageobjects/openshift/CheLoginPage.js.map +1 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js +106 -0
- package/dist/pageobjects/openshift/OcpLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js +85 -0
- package/dist/pageobjects/third-parties/GitLoginPage.js.map +1 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js +110 -0
- package/dist/pageobjects/third-parties/GitOauthAppsSettings.js.map +1 -0
- package/dist/tests/MochaHooks.js +65 -0
- package/dist/tests/MochaHooks.js.map +1 -0
- package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js +48 -0
- package/dist/tests/devfiles/che-code/EmptyWorkspace.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js +73 -0
- package/dist/tests/devfiles/theia/CSlashCPlusPlus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js +47 -0
- package/dist/tests/devfiles/theia/DevfileSmoke.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js +81 -0
- package/dist/tests/devfiles/theia/DotNetCore.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Go.spec.js +72 -0
- package/dist/tests/devfiles/theia/Go.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaMaven.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js +66 -0
- package/dist/tests/devfiles/theia/JavaSpringBoot.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js +60 -0
- package/dist/tests/devfiles/theia/JavaVertx.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js +64 -0
- package/dist/tests/devfiles/theia/NodeJS.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js +74 -0
- package/dist/tests/devfiles/theia/PHPSimple.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Python.spec.js +58 -0
- package/dist/tests/devfiles/theia/Python.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js +61 -0
- package/dist/tests/devfiles/theia/PythonDjango.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js +69 -0
- package/dist/tests/devfiles/theia/Quarkus.spec.js.map +1 -0
- package/dist/tests/devfiles/theia/Scala.spec.js +66 -0
- package/dist/tests/devfiles/theia/Scala.spec.js.map +1 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js +40 -0
- package/dist/tests/e2e/theia/FactoryUrl.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js +90 -0
- package/dist/tests/e2e/theia/GitPublishBranch.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js +90 -0
- package/dist/tests/e2e/theia/GitSelfSignCert.spec.js.map +1 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js +120 -0
- package/dist/tests/e2e/theia/GitSsh.spec.js.map +1 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js +124 -0
- package/dist/tests/e2e/theia/OpenshiftConnector.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js +50 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithKeepDirectoryTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithRootFolderTest.spec.js.map +1 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js +48 -0
- package/dist/tests/e2e/theia/factories/DirectUrlFactoryWithSpecificBranchTest.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js +277 -0
- package/dist/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.js.map +1 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js +314 -0
- package/dist/tests/e2e_happy_path/theia/HappyPath.spec.js.map +1 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js +39 -0
- package/dist/tests/intelij/IntelijOpenWorkspace.spec.js.map +1 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js +41 -0
- package/dist/tests/load_test/theia/LoadTest.spec.js.map +1 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js +39 -0
- package/dist/tests/login/LinkCheAndOcpUsers.spec.js.map +1 -0
- package/dist/tests/login/Login.spec.js +28 -0
- package/dist/tests/login/Login.spec.js.map +1 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js +117 -0
- package/dist/tests/plugins/theia/GitHubPullRequestPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js +62 -0
- package/dist/tests/plugins/theia/InstallPluginUsingUI.spec.js.map +1 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/JavaPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js +96 -0
- package/dist/tests/plugins/theia/PhpPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js +72 -0
- package/dist/tests/plugins/theia/PythonPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js +135 -0
- package/dist/tests/plugins/theia/TypescriptPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js +69 -0
- package/dist/tests/plugins/theia/VscodeKubernetesPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js +82 -0
- package/dist/tests/plugins/theia/VscodeShellcheckPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js +70 -0
- package/dist/tests/plugins/theia/VscodeValePlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js +81 -0
- package/dist/tests/plugins/theia/VscodeXmlPlugin.spec.js.map +1 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js +78 -0
- package/dist/tests/plugins/theia/VscodeYamlPlugin.spec.js.map +1 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js +150 -0
- package/dist/testsLibrary/WorkspaceHandlingTests.js.map +1 -0
- package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js +54 -0
- package/dist/testsLibrary/che-code/ProjectAndFileTestsCheCode.js.map +1 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js +248 -0
- package/dist/testsLibrary/theia/CodeExecutionTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js +230 -0
- package/dist/testsLibrary/theia/LanguageServerTestsTheia.js.map +1 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js +133 -0
- package/dist/testsLibrary/theia/ProjectAndFileTestsTheia.js.map +1 -0
- package/dist/utils/AnimationChecker.js +45 -0
- package/dist/utils/AnimationChecker.js.map +1 -0
- package/dist/utils/BrowserTabsUtil.js +115 -0
- package/dist/utils/BrowserTabsUtil.js.map +1 -0
- package/dist/utils/DriverHelper.js +613 -0
- package/dist/utils/DriverHelper.js.map +1 -0
- package/dist/utils/Logger.js +84 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/Sanitizer.js +29 -0
- package/dist/utils/Sanitizer.js.map +1 -0
- package/dist/utils/ScreenCatcher.js +107 -0
- package/dist/utils/ScreenCatcher.js.map +1 -0
- package/dist/utils/VCS/CheGitApi.js +42 -0
- package/dist/utils/VCS/CheGitApi.js.map +1 -0
- package/dist/utils/VCS/github/GitHubUtil.js +126 -0
- package/dist/utils/VCS/github/GitHubUtil.js.map +1 -0
- package/dist/utils/WorkspaceNameHandler.js +60 -0
- package/dist/utils/WorkspaceNameHandler.js.map +1 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js +126 -0
- package/dist/utils/requestHandlers/CheApiRequestHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js +49 -0
- package/dist/utils/requestHandlers/headers/CheMultiuserAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js +12 -0
- package/dist/utils/requestHandlers/headers/IAuthorizationHeaderHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js +50 -0
- package/dist/utils/requestHandlers/tokens/CheMultiuserTokenHandler.js.map +1 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js +12 -0
- package/dist/utils/requestHandlers/tokens/ITokenHandler.js.map +1 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js +142 -0
- package/dist/utils/theia/PreferencesHandlerTheia.js.map +1 -0
- package/dist/utils/workspace/ApiUrlResolver.js +67 -0
- package/dist/utils/workspace/ApiUrlResolver.js.map +1 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js +12 -0
- package/dist/utils/workspace/ITestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js +357 -0
- package/dist/utils/workspace/TestWorkspaceUtil.js.map +1 -0
- package/dist/utils/workspace/WorkspaceStatus.js +19 -0
- package/dist/utils/workspace/WorkspaceStatus.js.map +1 -0
- package/driver/CheReporter.ts +5 -7
- package/package.json +2 -2
- package/tests/MochaHooks.ts +4 -4
- package/tests/e2e_happy_path/theia/DevWorkspaceHappyPath.spec.ts +2 -2
- package/tests/e2e_happy_path/theia/HappyPath.spec.ts +1 -1
- package/testsLibrary/WorkspaceHandlingTests.ts +30 -23
- package/tslint.json +1 -1
- package/utils/DriverHelper.ts +0 -4
|
@@ -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
|