@eclipse-che/che-e2e 7.112.0-next-1ab00a5 → 7.112.0
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/CODE_STYLE.md +0 -5
- package/dist/pageobjects/dashboard/CreateWorkspace.js +13 -0
- package/dist/pageobjects/dashboard/CreateWorkspace.js.map +1 -1
- package/dist/pageobjects/dashboard/Dashboard.js +10 -1
- package/dist/pageobjects/dashboard/Dashboard.js.map +1 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +110 -0
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +1 -0
- package/dist/suites/disconnected-ocp/UITest.suite.js +1 -1
- package/dist/suites/disconnected-ocp/UITest.suite.js.map +1 -1
- package/dist/suites/online-ocp/UITest.suite.js +1 -1
- package/dist/suites/online-ocp/UITest.suite.js.map +1 -1
- package/package.json +3 -2
- package/pageobjects/dashboard/CreateWorkspace.ts +16 -0
- package/pageobjects/dashboard/Dashboard.ts +15 -2
- package/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.ts +150 -0
- package/suites/disconnected-ocp/UITest.suite.ts +1 -1
- package/suites/online-ocp/UITest.suite.ts +1 -1
package/CODE_STYLE.md
CHANGED
|
@@ -28,7 +28,6 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
28
28
|
### Preferable code style
|
|
29
29
|
|
|
30
30
|
1. Page-object and util classes
|
|
31
|
-
|
|
32
31
|
1. ✔ Class declaration using dependency injection (inversify library)
|
|
33
32
|
|
|
34
33
|
```
|
|
@@ -38,7 +37,6 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
38
37
|
```
|
|
39
38
|
|
|
40
39
|
2. Public methods
|
|
41
|
-
|
|
42
40
|
- ✔ Declare public methods without "public "keyword
|
|
43
41
|
- ✔ Add Logger.debug() inside method to log its name (with optional message)
|
|
44
42
|
|
|
@@ -51,7 +49,6 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
51
49
|
```
|
|
52
50
|
|
|
53
51
|
3. Locators
|
|
54
|
-
|
|
55
52
|
- ✔ For static locators - private static readonly fields type of By
|
|
56
53
|
|
|
57
54
|
```
|
|
@@ -105,7 +102,6 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
105
102
|
```
|
|
106
103
|
|
|
107
104
|
2. Mocha framework
|
|
108
|
-
|
|
109
105
|
- ✔ TDD framework (`suite()`, `test()`)
|
|
110
106
|
- ✔ Inject class instances, declare all test data inside test `suit()` function to avoid unnecessary code execution if test suit will not be run
|
|
111
107
|
|
|
@@ -122,7 +118,6 @@ Automated lint checking and code format performs with ESLint and Prettier tools
|
|
|
122
118
|
- ✔ Use test [./constants](constants) to make test flexible
|
|
123
119
|
|
|
124
120
|
3. Packages
|
|
125
|
-
|
|
126
121
|
1. Add packages as dev dependencies
|
|
127
122
|
2. If any changes re-create package-lock.json before push
|
|
128
123
|
|
|
@@ -68,6 +68,19 @@ let CreateWorkspace = CreateWorkspace_1 = class CreateWorkspace {
|
|
|
68
68
|
await this.driverHelper.waitAndClick(CreateWorkspace_1.CREATE_AND_OPEN_BUTTON, timeout);
|
|
69
69
|
await this.performTrustAuthorPopup();
|
|
70
70
|
}
|
|
71
|
+
async setGitRepositoryUrl(factoryUrl, timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
72
|
+
Logger_1.Logger.debug(`factoryUrl: "${factoryUrl}"`);
|
|
73
|
+
await this.driverHelper.waitVisibility(CreateWorkspace_1.FACTORY_URL, timeout);
|
|
74
|
+
await this.driverHelper.type(CreateWorkspace_1.FACTORY_URL, selenium_webdriver_1.Key.chord(factoryUrl), timeout);
|
|
75
|
+
}
|
|
76
|
+
async getGitRepositoryUrl(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
77
|
+
Logger_1.Logger.debug();
|
|
78
|
+
return await this.driverHelper.waitAndGetValue(CreateWorkspace_1.FACTORY_URL, timeout);
|
|
79
|
+
}
|
|
80
|
+
async clickOnCreateAndOpenButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
81
|
+
Logger_1.Logger.debug();
|
|
82
|
+
await this.driverHelper.waitAndClick(CreateWorkspace_1.CREATE_AND_OPEN_BUTTON, timeout);
|
|
83
|
+
}
|
|
71
84
|
async clickOnEditorsDropdownListButton(sampleName, timeout) {
|
|
72
85
|
Logger_1.Logger.debug(`sampleName: "${sampleName}, editor ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_EDITOR}"`);
|
|
73
86
|
const editorDropdownListLocator = this.getEditorsDropdownListLocator(sampleName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkspace.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/CreateWorkspace.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CreateWorkspace.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/CreateWorkspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,13 @@ let Dashboard = Dashboard_1 = class Dashboard {
|
|
|
132
132
|
Logger_1.Logger.debug();
|
|
133
133
|
await this.driverHelper.waitVisibility(Dashboard_1.EXISTING_WORKSPACE_FOUND_ALERT, timeout);
|
|
134
134
|
}
|
|
135
|
+
async startExistedWorkspace(workspaceName) {
|
|
136
|
+
Logger_1.Logger.debug();
|
|
137
|
+
await this.driverHelper.waitVisibility(Dashboard_1.EXISTING_WORKSPACE_FOUND_LIST);
|
|
138
|
+
const element = await this.driverHelper.waitPresence(Dashboard_1.EXISTING_WORKSPACE_FOUND_LIST);
|
|
139
|
+
await this.driverHelper.getDriver().executeScript('arguments[0].click();', element);
|
|
140
|
+
await this.driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(`//li//a[text()="${workspaceName}"]`));
|
|
141
|
+
}
|
|
135
142
|
async clickOnCreateNewWorkspaceButton(timeout = TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT) {
|
|
136
143
|
Logger_1.Logger.debug();
|
|
137
144
|
await this.driverHelper.waitAndClick(Dashboard_1.CREATE_NEW_WORKSPACE_LINK, timeout);
|
|
@@ -167,7 +174,9 @@ Dashboard.LOGOUT_BUTTON = selenium_webdriver_1.By.xpath('//button[text()="Logout
|
|
|
167
174
|
Dashboard.USER_SETTINGS_DROPDOWN = selenium_webdriver_1.By.xpath('//header//button/span[text()!=""]//parent::button');
|
|
168
175
|
Dashboard.INFO_DROPDOWN_BUTTON = selenium_webdriver_1.By.xpath('//button[@aria-label="About Menu"]');
|
|
169
176
|
Dashboard.ABOUT_DIALOG_WINDOW_CLOSE_BUTTON = selenium_webdriver_1.By.xpath('//button[@aria-label="Close Dialog"]');
|
|
170
|
-
Dashboard.EXISTING_WORKSPACE_FOUND_ALERT = selenium_webdriver_1.By.xpath('//
|
|
177
|
+
Dashboard.EXISTING_WORKSPACE_FOUND_ALERT = selenium_webdriver_1.By.xpath('//div[text()="Several workspaces created from the same repository have been found. Should you want to open one of the existing workspaces or create a new one, please choose the corresponding action."]');
|
|
178
|
+
Dashboard.EXISTING_WORKSPACE_FOUND_LIST = selenium_webdriver_1.By.xpath('//button//span[text()="Open the existing workspace"]');
|
|
179
|
+
Dashboard.EXISTING_WORKSPACE_NAME = selenium_webdriver_1.By.xpath('//li//a[text()="python-hello-world"]"]');
|
|
171
180
|
Dashboard.CREATE_NEW_WORKSPACE_LINK = selenium_webdriver_1.By.xpath('//button[text()="Create a new workspace"]');
|
|
172
181
|
Dashboard.ABOUT_DIALOG_ITEM_DATA_TEST_IDS = {
|
|
173
182
|
serverVersion: 'server-version',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/Dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/** *******************************************************************
|
|
4
|
+
* copyright (c) 2020-2025 Red Hat, Inc.
|
|
5
|
+
*
|
|
6
|
+
* This program and the accompanying materials are made
|
|
7
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
8
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
9
|
+
*
|
|
10
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
11
|
+
**********************************************************************/
|
|
12
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
13
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
14
|
+
const chai_1 = require("chai");
|
|
15
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
16
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
17
|
+
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
+
const FACTORY_TEST_CONSTANTS_1 = require("../../constants/FACTORY_TEST_CONSTANTS");
|
|
19
|
+
const TIMEOUT_CONSTANTS_1 = require("../../constants/TIMEOUT_CONSTANTS");
|
|
20
|
+
const projectName = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_PROJECT_NAME || 'python-hello-world';
|
|
21
|
+
suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function () {
|
|
22
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
23
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
24
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
25
|
+
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
26
|
+
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
27
|
+
const createWorkspace = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CreateWorkspace);
|
|
28
|
+
let projectSection;
|
|
29
|
+
let firstWorkspaceName;
|
|
30
|
+
let secondWorkspaceName;
|
|
31
|
+
const factoryUrl = BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
32
|
+
? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL || 'https://gh.crw-qe.com/test-automation-only/python-hello-world'
|
|
33
|
+
: FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/python-hello-world';
|
|
34
|
+
suiteSetup('Login', async function () {
|
|
35
|
+
await loginTests.loginIntoChe();
|
|
36
|
+
});
|
|
37
|
+
async function waitDashboardPage() {
|
|
38
|
+
await dashboard.openDashboard();
|
|
39
|
+
await dashboard.waitPage();
|
|
40
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
41
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
42
|
+
await createWorkspace.waitPage();
|
|
43
|
+
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
44
|
+
}
|
|
45
|
+
async function waitWorkspaceReadiness() {
|
|
46
|
+
const originalWindowHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
47
|
+
await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
48
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
49
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
50
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
51
|
+
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
52
|
+
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
|
|
53
|
+
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME), 'Project files were not imported').not.undefined;
|
|
54
|
+
}
|
|
55
|
+
test('Verify "Create New" is off and a new workspace is created', async function () {
|
|
56
|
+
await waitDashboardPage();
|
|
57
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
58
|
+
(0, chai_1.expect)(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.false;
|
|
59
|
+
(0, chai_1.expect)(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl);
|
|
60
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
61
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
62
|
+
await waitWorkspaceReadiness();
|
|
63
|
+
firstWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
64
|
+
});
|
|
65
|
+
test('Verify existing workspace opens instead of creating a duplicate', async function () {
|
|
66
|
+
await waitDashboardPage();
|
|
67
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
68
|
+
(0, chai_1.expect)(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl);
|
|
69
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
70
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
71
|
+
await waitWorkspaceReadiness();
|
|
72
|
+
(0, chai_1.expect)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName()).to.be.equal(firstWorkspaceName);
|
|
73
|
+
});
|
|
74
|
+
test('Ensure `new` is appended and a new workspace is created without warnings', async function () {
|
|
75
|
+
await waitDashboardPage();
|
|
76
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
77
|
+
await createWorkspace.setCreateNewWorkspaceCheckbox(true);
|
|
78
|
+
(0, chai_1.expect)(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl + '?new');
|
|
79
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
80
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
81
|
+
await waitWorkspaceReadiness();
|
|
82
|
+
secondWorkspaceName = WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName();
|
|
83
|
+
// validate workspace name follows pattern: firstWorkspaceName + "-xxxx" (4 alphanumeric chars)
|
|
84
|
+
(0, chai_1.expect)(secondWorkspaceName).to.match(new RegExp(`^${firstWorkspaceName}-[a-z0-9]{4}$`));
|
|
85
|
+
});
|
|
86
|
+
test('Verify warning appears with list of existing workspaces and open the first created workspace', async function () {
|
|
87
|
+
await waitDashboardPage();
|
|
88
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
89
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
90
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
91
|
+
const originalWindowHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
92
|
+
await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
93
|
+
await dashboard.waitExistingWorkspaceFoundAlert();
|
|
94
|
+
await dashboard.startExistedWorkspace(firstWorkspaceName);
|
|
95
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
96
|
+
(0, MochaHooks_1.registerRunningWorkspace)(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
97
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
98
|
+
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
99
|
+
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
|
|
100
|
+
(0, chai_1.expect)(await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME), 'Project files were not imported').not.undefined;
|
|
101
|
+
});
|
|
102
|
+
suiteTeardown('Stop and delete all created workspaces', async function () {
|
|
103
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(firstWorkspaceName);
|
|
104
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(secondWorkspaceName);
|
|
105
|
+
});
|
|
106
|
+
suiteTeardown('Unregister running workspace', function () {
|
|
107
|
+
(0, MochaHooks_1.registerRunningWorkspace)('');
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateWorkspaceWithExistingNameFromGitUrl.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ require("../../specs/dashboard-samples/Quarkus.spec");
|
|
|
13
13
|
require("../../specs/dashboard-samples/RecommendedExtensions.spec");
|
|
14
14
|
require("../../specs/dashboard-samples/Documentation.spec");
|
|
15
15
|
require("../../specs/devconsole-intergration/DevConsoleIntegration.spec");
|
|
16
|
-
require("../../specs/miscellaneous/
|
|
16
|
+
require("../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec");
|
|
17
17
|
require("../../specs/miscellaneous/WorkspaceWithParent.spec");
|
|
18
18
|
require("../../specs/miscellaneous/PredefinedNamespace.spec");
|
|
19
19
|
//# sourceMappingURL=UITest.suite.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UITest.suite.js","sourceRoot":"","sources":["../../../suites/disconnected-ocp/UITest.suite.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,sDAAoD;AACpD,oEAAkE;AAClE,4DAA0D;AAC1D,0EAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"UITest.suite.js","sourceRoot":"","sources":["../../../suites/disconnected-ocp/UITest.suite.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,sDAAoD;AACpD,oEAAkE;AAClE,4DAA0D;AAC1D,0EAAwE;AACxE,oFAAkF;AAClF,8DAA4D;AAC5D,8DAA4D"}
|
|
@@ -15,7 +15,7 @@ require("../../specs/dashboard-samples/Quarkus.spec");
|
|
|
15
15
|
require("../../specs/dashboard-samples/RecommendedExtensions.spec");
|
|
16
16
|
require("../../specs/dashboard-samples/Documentation.spec");
|
|
17
17
|
require("../../specs/devconsole-intergration/DevConsoleIntegration.spec");
|
|
18
|
-
require("../../specs/miscellaneous/
|
|
18
|
+
require("../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec");
|
|
19
19
|
require("../../specs/miscellaneous/KubedockPodmanTest.spec");
|
|
20
20
|
require("../../specs/miscellaneous/WorkspaceWithParent.spec");
|
|
21
21
|
require("../../specs/miscellaneous/PredefinedNamespace.spec");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UITest.suite.js","sourceRoot":"","sources":["../../../suites/online-ocp/UITest.suite.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,sCAAoC;AACpC,6DAA2D;AAC3D,sDAAoD;AACpD,oEAAkE;AAClE,4DAA0D;AAC1D,0EAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"UITest.suite.js","sourceRoot":"","sources":["../../../suites/online-ocp/UITest.suite.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,sCAAoC;AACpC,6DAA2D;AAC3D,sDAAoD;AACpD,oEAAkE;AAClE,4DAA0D;AAC1D,0EAAwE;AACxE,oFAAkF;AAClF,6DAA2D;AAC3D,8DAA4D;AAC5D,8DAA4D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.112.0
|
|
3
|
+
"version": "7.112.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -66,7 +66,8 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@eclipse-che/api": "latest",
|
|
68
68
|
"inversify": "6.0.1",
|
|
69
|
-
"reflect-metadata": "0.1.13"
|
|
69
|
+
"reflect-metadata": "0.1.13",
|
|
70
|
+
"@eclipse-che/che-devworkspace-generator": "7.112.0"
|
|
70
71
|
},
|
|
71
72
|
"resolutions": {
|
|
72
73
|
"minimist": "^1.2.5"
|
|
@@ -94,6 +94,22 @@ export class CreateWorkspace {
|
|
|
94
94
|
await this.performTrustAuthorPopup();
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
async setGitRepositoryUrl(factoryUrl: string, timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
98
|
+
Logger.debug(`factoryUrl: "${factoryUrl}"`);
|
|
99
|
+
await this.driverHelper.waitVisibility(CreateWorkspace.FACTORY_URL, timeout);
|
|
100
|
+
await this.driverHelper.type(CreateWorkspace.FACTORY_URL, Key.chord(factoryUrl), timeout);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
async getGitRepositoryUrl(timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<string> {
|
|
104
|
+
Logger.debug();
|
|
105
|
+
return await this.driverHelper.waitAndGetValue(CreateWorkspace.FACTORY_URL, timeout);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
async clickOnCreateAndOpenButton(timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
109
|
+
Logger.debug();
|
|
110
|
+
await this.driverHelper.waitAndClick(CreateWorkspace.CREATE_AND_OPEN_BUTTON, timeout);
|
|
111
|
+
}
|
|
112
|
+
|
|
97
113
|
async clickOnEditorsDropdownListButton(sampleName: string, timeout: number): Promise<void> {
|
|
98
114
|
Logger.debug(`sampleName: "${sampleName}, editor ${BASE_TEST_CONSTANTS.TS_SELENIUM_EDITOR}"`);
|
|
99
115
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { inject, injectable } from 'inversify';
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
-
import { Alert, By } from 'selenium-webdriver';
|
|
13
|
+
import { Alert, By, WebElement } from 'selenium-webdriver';
|
|
14
14
|
import { DriverHelper } from '../../utils/DriverHelper';
|
|
15
15
|
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
16
16
|
import { Workspaces } from './Workspaces';
|
|
@@ -28,7 +28,11 @@ export class Dashboard {
|
|
|
28
28
|
private static readonly USER_SETTINGS_DROPDOWN: By = By.xpath('//header//button/span[text()!=""]//parent::button');
|
|
29
29
|
private static readonly INFO_DROPDOWN_BUTTON: By = By.xpath('//button[@aria-label="About Menu"]');
|
|
30
30
|
private static readonly ABOUT_DIALOG_WINDOW_CLOSE_BUTTON: By = By.xpath('//button[@aria-label="Close Dialog"]');
|
|
31
|
-
private static readonly EXISTING_WORKSPACE_FOUND_ALERT: By = By.xpath(
|
|
31
|
+
private static readonly EXISTING_WORKSPACE_FOUND_ALERT: By = By.xpath(
|
|
32
|
+
'//div[text()="Several workspaces created from the same repository have been found. Should you want to open one of the existing workspaces or create a new one, please choose the corresponding action."]'
|
|
33
|
+
);
|
|
34
|
+
private static readonly EXISTING_WORKSPACE_FOUND_LIST: By = By.xpath('//button//span[text()="Open the existing workspace"]');
|
|
35
|
+
private static readonly EXISTING_WORKSPACE_NAME: By = By.xpath('//li//a[text()="python-hello-world"]"]');
|
|
32
36
|
private static readonly CREATE_NEW_WORKSPACE_LINK: By = By.xpath('//button[text()="Create a new workspace"]');
|
|
33
37
|
private static readonly ABOUT_DIALOG_ITEM_DATA_TEST_IDS: any = {
|
|
34
38
|
serverVersion: 'server-version',
|
|
@@ -180,6 +184,15 @@ export class Dashboard {
|
|
|
180
184
|
await this.driverHelper.waitVisibility(Dashboard.EXISTING_WORKSPACE_FOUND_ALERT, timeout);
|
|
181
185
|
}
|
|
182
186
|
|
|
187
|
+
async startExistedWorkspace(workspaceName: string): Promise<void> {
|
|
188
|
+
Logger.debug();
|
|
189
|
+
|
|
190
|
+
await this.driverHelper.waitVisibility(Dashboard.EXISTING_WORKSPACE_FOUND_LIST);
|
|
191
|
+
const element: WebElement = await this.driverHelper.waitPresence(Dashboard.EXISTING_WORKSPACE_FOUND_LIST);
|
|
192
|
+
await this.driverHelper.getDriver().executeScript('arguments[0].click();', element);
|
|
193
|
+
await this.driverHelper.waitAndClick(By.xpath(`//li//a[text()="${workspaceName}"]`));
|
|
194
|
+
}
|
|
195
|
+
|
|
183
196
|
async clickOnCreateNewWorkspaceButton(timeout: number = TIMEOUT_CONSTANTS.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
|
|
184
197
|
Logger.debug();
|
|
185
198
|
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 2020-2025 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made
|
|
5
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
+
*
|
|
8
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
+
**********************************************************************/
|
|
10
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
11
|
+
import { ViewSection } from 'monaco-page-objects';
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
+
import { expect } from 'chai';
|
|
14
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
15
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
16
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
17
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
18
|
+
import { BrowserTabsUtil } from '../../utils/BrowserTabsUtil';
|
|
19
|
+
import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
|
|
20
|
+
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
21
|
+
import { FACTORY_TEST_CONSTANTS } from '../../constants/FACTORY_TEST_CONSTANTS';
|
|
22
|
+
import { CreateWorkspace } from '../../pageobjects/dashboard/CreateWorkspace';
|
|
23
|
+
import { TIMEOUT_CONSTANTS } from '../../constants/TIMEOUT_CONSTANTS';
|
|
24
|
+
|
|
25
|
+
const projectName: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_PROJECT_NAME || 'python-hello-world';
|
|
26
|
+
|
|
27
|
+
suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
28
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
29
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
30
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
31
|
+
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
32
|
+
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
33
|
+
const createWorkspace: CreateWorkspace = e2eContainer.get(CLASSES.CreateWorkspace);
|
|
34
|
+
|
|
35
|
+
let projectSection: ViewSection;
|
|
36
|
+
let firstWorkspaceName: string;
|
|
37
|
+
let secondWorkspaceName: string;
|
|
38
|
+
const factoryUrl: string = BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
39
|
+
? FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL || 'https://gh.crw-qe.com/test-automation-only/python-hello-world'
|
|
40
|
+
: FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/python-hello-world';
|
|
41
|
+
|
|
42
|
+
suiteSetup('Login', async function (): Promise<void> {
|
|
43
|
+
await loginTests.loginIntoChe();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
async function waitDashboardPage(): Promise<void> {
|
|
47
|
+
await dashboard.openDashboard();
|
|
48
|
+
await dashboard.waitPage();
|
|
49
|
+
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
50
|
+
|
|
51
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
52
|
+
await createWorkspace.waitPage();
|
|
53
|
+
expect(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.true;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async function waitWorkspaceReadiness(): Promise<void> {
|
|
57
|
+
const originalWindowHandle: string = await browserTabsUtil.getCurrentWindowHandle();
|
|
58
|
+
await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
59
|
+
|
|
60
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
61
|
+
|
|
62
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
63
|
+
|
|
64
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
65
|
+
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
66
|
+
expect(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
|
|
67
|
+
expect(
|
|
68
|
+
await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME),
|
|
69
|
+
'Project files were not imported'
|
|
70
|
+
).not.undefined;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
test('Verify "Create New" is off and a new workspace is created', async function (): Promise<void> {
|
|
74
|
+
await waitDashboardPage();
|
|
75
|
+
|
|
76
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
77
|
+
expect(await createWorkspace.isCreateNewWorkspaceCheckboxChecked()).to.be.false;
|
|
78
|
+
expect(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl);
|
|
79
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
80
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
81
|
+
|
|
82
|
+
await waitWorkspaceReadiness();
|
|
83
|
+
|
|
84
|
+
firstWorkspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
test('Verify existing workspace opens instead of creating a duplicate', async function (): Promise<void> {
|
|
88
|
+
await waitDashboardPage();
|
|
89
|
+
|
|
90
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
91
|
+
expect(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl);
|
|
92
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
93
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
94
|
+
|
|
95
|
+
await waitWorkspaceReadiness();
|
|
96
|
+
|
|
97
|
+
expect(WorkspaceHandlingTests.getWorkspaceName()).to.be.equal(firstWorkspaceName);
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
test('Ensure `new` is appended and a new workspace is created without warnings', async function (): Promise<void> {
|
|
101
|
+
await waitDashboardPage();
|
|
102
|
+
|
|
103
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
104
|
+
await createWorkspace.setCreateNewWorkspaceCheckbox(true);
|
|
105
|
+
|
|
106
|
+
expect(await createWorkspace.getGitRepositoryUrl()).to.be.equal(factoryUrl + '?new');
|
|
107
|
+
|
|
108
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
109
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
110
|
+
|
|
111
|
+
await waitWorkspaceReadiness();
|
|
112
|
+
|
|
113
|
+
secondWorkspaceName = WorkspaceHandlingTests.getWorkspaceName();
|
|
114
|
+
// validate workspace name follows pattern: firstWorkspaceName + "-xxxx" (4 alphanumeric chars)
|
|
115
|
+
expect(secondWorkspaceName).to.match(new RegExp(`^${firstWorkspaceName}-[a-z0-9]{4}$`));
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test('Verify warning appears with list of existing workspaces and open the first created workspace', async function (): Promise<void> {
|
|
119
|
+
await waitDashboardPage();
|
|
120
|
+
|
|
121
|
+
await createWorkspace.setGitRepositoryUrl(factoryUrl);
|
|
122
|
+
await createWorkspace.clickOnCreateAndOpenButton();
|
|
123
|
+
await createWorkspace.performTrustAuthorPopup();
|
|
124
|
+
const originalWindowHandle: string = await browserTabsUtil.getCurrentWindowHandle();
|
|
125
|
+
await browserTabsUtil.waitAndSwitchToAnotherWindow(originalWindowHandle, TIMEOUT_CONSTANTS.TS_IDE_LOAD_TIMEOUT);
|
|
126
|
+
|
|
127
|
+
await dashboard.waitExistingWorkspaceFoundAlert();
|
|
128
|
+
await dashboard.startExistedWorkspace(firstWorkspaceName);
|
|
129
|
+
|
|
130
|
+
await workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
131
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
132
|
+
|
|
133
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
134
|
+
projectSection = await projectAndFileTests.getProjectViewSession();
|
|
135
|
+
expect(await projectAndFileTests.getProjectTreeItem(projectSection, projectName), 'Project folder was not imported').not.undefined;
|
|
136
|
+
expect(
|
|
137
|
+
await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME),
|
|
138
|
+
'Project files were not imported'
|
|
139
|
+
).not.undefined;
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
suiteTeardown('Stop and delete all created workspaces', async function (): Promise<void> {
|
|
143
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(firstWorkspaceName);
|
|
144
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(secondWorkspaceName);
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
suiteTeardown('Unregister running workspace', function (): void {
|
|
148
|
+
registerRunningWorkspace('');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
@@ -11,6 +11,6 @@ import '../../specs/dashboard-samples/Quarkus.spec';
|
|
|
11
11
|
import '../../specs/dashboard-samples/RecommendedExtensions.spec';
|
|
12
12
|
import '../../specs/dashboard-samples/Documentation.spec';
|
|
13
13
|
import '../../specs/devconsole-intergration/DevConsoleIntegration.spec';
|
|
14
|
-
import '../../specs/miscellaneous/
|
|
14
|
+
import '../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec';
|
|
15
15
|
import '../../specs/miscellaneous/WorkspaceWithParent.spec';
|
|
16
16
|
import '../../specs/miscellaneous/PredefinedNamespace.spec';
|
|
@@ -13,7 +13,7 @@ import '../../specs/dashboard-samples/Quarkus.spec';
|
|
|
13
13
|
import '../../specs/dashboard-samples/RecommendedExtensions.spec';
|
|
14
14
|
import '../../specs/dashboard-samples/Documentation.spec';
|
|
15
15
|
import '../../specs/devconsole-intergration/DevConsoleIntegration.spec';
|
|
16
|
-
import '../../specs/miscellaneous/
|
|
16
|
+
import '../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec';
|
|
17
17
|
import '../../specs/miscellaneous/KubedockPodmanTest.spec';
|
|
18
18
|
import '../../specs/miscellaneous/WorkspaceWithParent.spec';
|
|
19
19
|
import '../../specs/miscellaneous/PredefinedNamespace.spec';
|