@eclipse-che/che-e2e 7.113.0-next-5808533 → 7.113.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/constants/FACTORY_TEST_CONSTANTS.ts +8 -2
- package/dist/constants/FACTORY_TEST_CONSTANTS.js +6 -2
- package/dist/constants/FACTORY_TEST_CONSTANTS.js.map +1 -1
- package/dist/pageobjects/dashboard/UserPreferences.js +7 -1
- package/dist/pageobjects/dashboard/UserPreferences.js.map +1 -1
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js +105 -3
- package/dist/specs/factory/SshUrlNoOauthPatFactory.spec.js.map +1 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js +2 -1
- package/dist/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.js.map +1 -1
- package/package.json +3 -2
- package/pageobjects/dashboard/UserPreferences.ts +8 -1
- package/specs/factory/SshUrlNoOauthPatFactory.spec.ts +126 -4
- package/specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.ts +2 -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
|
|
|
@@ -32,6 +32,7 @@ export const FACTORY_TEST_CONSTANTS: {
|
|
|
32
32
|
TS_GIT_PERSONAL_ACCESS_TOKEN: string;
|
|
33
33
|
TS_SELENIUM_SSH_PRIVATE_KEY: string;
|
|
34
34
|
TS_SELENIUM_SSH_PUBLIC_KEY: string;
|
|
35
|
+
TS_SELENIUM_SSH_KEY_PASSPHRASE: string;
|
|
35
36
|
TS_SELENIUM_FACTORY_URL(): string;
|
|
36
37
|
} = {
|
|
37
38
|
/**
|
|
@@ -90,15 +91,20 @@ export const FACTORY_TEST_CONSTANTS: {
|
|
|
90
91
|
TS_GIT_PERSONAL_ACCESS_TOKEN: process.env.TS_GIT_PERSONAL_ACCESS_TOKEN || '',
|
|
91
92
|
|
|
92
93
|
/**
|
|
93
|
-
*
|
|
94
|
+
* ssh private key as string (from environment variable)
|
|
94
95
|
*/
|
|
95
96
|
TS_SELENIUM_SSH_PRIVATE_KEY: process.env.TS_SELENIUM_SSH_PRIVATE_KEY || '',
|
|
96
97
|
|
|
97
98
|
/**
|
|
98
|
-
*
|
|
99
|
+
* ssh public key as string (from environment variable)
|
|
99
100
|
*/
|
|
100
101
|
TS_SELENIUM_SSH_PUBLIC_KEY: process.env.TS_SELENIUM_SSH_PUBLIC_KEY || '',
|
|
101
102
|
|
|
103
|
+
/**
|
|
104
|
+
* ssh key passphrase as string (from environment variable)
|
|
105
|
+
*/
|
|
106
|
+
TS_SELENIUM_SSH_KEY_PASSPHRASE: process.env.TS_SELENIUM_SSH_KEY_PASSPHRASE || '',
|
|
107
|
+
|
|
102
108
|
/**
|
|
103
109
|
* full factory URL
|
|
104
110
|
*/
|
|
@@ -66,13 +66,17 @@ exports.FACTORY_TEST_CONSTANTS = {
|
|
|
66
66
|
*/
|
|
67
67
|
TS_GIT_PERSONAL_ACCESS_TOKEN: process.env.TS_GIT_PERSONAL_ACCESS_TOKEN || '',
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* ssh private key as string (from environment variable)
|
|
70
70
|
*/
|
|
71
71
|
TS_SELENIUM_SSH_PRIVATE_KEY: process.env.TS_SELENIUM_SSH_PRIVATE_KEY || '',
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
73
|
+
* ssh public key as string (from environment variable)
|
|
74
74
|
*/
|
|
75
75
|
TS_SELENIUM_SSH_PUBLIC_KEY: process.env.TS_SELENIUM_SSH_PUBLIC_KEY || '',
|
|
76
|
+
/**
|
|
77
|
+
* ssh key passphrase as string (from environment variable)
|
|
78
|
+
*/
|
|
79
|
+
TS_SELENIUM_SSH_KEY_PASSPHRASE: process.env.TS_SELENIUM_SSH_KEY_PASSPHRASE || '',
|
|
76
80
|
/**
|
|
77
81
|
* full factory URL
|
|
78
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FACTORY_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/FACTORY_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,+DAA4D;AAE5D,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,sEAAmD,CAAA;IACnD,sEAAmD,CAAA;IACnD,2DAAwC,CAAA;IACxC,gDAA6B,CAAA;AAC9B,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAEY,QAAA,sBAAsB,
|
|
1
|
+
{"version":3,"file":"FACTORY_TEST_CONSTANTS.js","sourceRoot":"","sources":["../../constants/FACTORY_TEST_CONSTANTS.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;wEAQwE;AACxE,+DAA4D;AAE5D,IAAY,eAOX;AAPD,WAAY,eAAe;IAC1B,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;IACjB,sEAAmD,CAAA;IACnD,sEAAmD,CAAA;IACnD,2DAAwC,CAAA;IACxC,gDAA6B,CAAA;AAC9B,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAEY,QAAA,sBAAsB,GAgB/B;IACH;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,eAAe,CAAC,MAAM;IAExG;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE;IAEpF;;OAEG;IACH,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,EAAE;IAElG;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE;IAEpE;;OAEG;IACH,uCAAuC,EAAE,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,MAAM;IAEvG;;OAEG;IACH,mCAAmC,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,QAAQ;IAEhG;;OAEG;IACH,gCAAgC,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,4BAA4B;IAE9G;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,6BAA6B;IAE7G;;OAEG;IACH,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM;IAExE;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,eAAe;IAEnF;;OAEG;IACH,4BAA4B,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE;IAE5E;;OAEG;IACH,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE;IAE1E;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE;IAExE;;OAEG;IACH,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE;IAEhF;;OAEG;IACH,uBAAuB;QACtB,OAAO,CACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,yCAAmB,CAAC,oBAAoB,GAAG,KAAK,GAAG,IAAI,CAAC,gCAAgC,CAC/H,CAAC;IACH,CAAC;CACD,CAAC"}
|
|
@@ -144,7 +144,7 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
|
|
|
144
144
|
await this.driverHelper.waitVisibility(UserPreferences_1.GIT_SSH_KEY_NAME);
|
|
145
145
|
Logger_1.Logger.info('SSH keys have been added');
|
|
146
146
|
}
|
|
147
|
-
async addSshKeysFromStrings(privateSshKey, publicSshKey) {
|
|
147
|
+
async addSshKeysFromStrings(privateSshKey, publicSshKey, passphrase) {
|
|
148
148
|
Logger_1.Logger.debug();
|
|
149
149
|
if (!privateSshKey || privateSshKey === '') {
|
|
150
150
|
throw new Error('Private SSH key is empty or not provided');
|
|
@@ -161,6 +161,11 @@ let UserPreferences = UserPreferences_1 = class UserPreferences {
|
|
|
161
161
|
Logger_1.Logger.info('Pasting public SSH key');
|
|
162
162
|
await this.driverHelper.waitAndClick(UserPreferences_1.PASTE_PUBLIC_SSH_KEY_FIELD);
|
|
163
163
|
await this.driverHelper.getAction().sendKeys(publicSshKey).perform();
|
|
164
|
+
if (passphrase) {
|
|
165
|
+
Logger_1.Logger.info('Pasting SSH key passphrase');
|
|
166
|
+
await this.driverHelper.waitAndClick(UserPreferences_1.PASTE_SSH_KEY_PASSPHRASE_FIELD);
|
|
167
|
+
await this.driverHelper.getAction().sendKeys(passphrase).perform();
|
|
168
|
+
}
|
|
164
169
|
await this.driverHelper.waitAndClick(UserPreferences_1.ADD_SSH_KEYS_BUTTON);
|
|
165
170
|
await this.driverHelper.waitVisibility(UserPreferences_1.GIT_SSH_KEY_NAME);
|
|
166
171
|
Logger_1.Logger.info('SSH keys have been added');
|
|
@@ -224,6 +229,7 @@ UserPreferences.ADD_NEW_SSH_KEY_BUTTON = selenium_webdriver_1.By.xpath('//button
|
|
|
224
229
|
UserPreferences.ADD_SSH_KEYS_POPUP = selenium_webdriver_1.By.xpath('//span[text()="Add SSH Keys"]');
|
|
225
230
|
UserPreferences.PASTE_PRIVATE_SSH_KEY_FIELD = selenium_webdriver_1.By.css('textarea[name="ssh-private-key"]');
|
|
226
231
|
UserPreferences.PASTE_PUBLIC_SSH_KEY_FIELD = selenium_webdriver_1.By.css('textarea[name="ssh-public-key"]');
|
|
232
|
+
UserPreferences.PASTE_SSH_KEY_PASSPHRASE_FIELD = selenium_webdriver_1.By.xpath('//input[@placeholder="Enter passphrase (optional)"]');
|
|
227
233
|
UserPreferences.ADD_SSH_KEYS_BUTTON = selenium_webdriver_1.By.css('.pf-c-button.pf-m-primary');
|
|
228
234
|
UserPreferences.GIT_SSH_KEY_NAME = selenium_webdriver_1.By.css('[data-testid="title"]');
|
|
229
235
|
UserPreferences.GIT_SSH_KEY_ACTIONS_BUTTON = selenium_webdriver_1.By.css('section[id*="SshKeys-user-preferences"] button[aria-label="Actions"]');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAC7B,mEAAwD;AACxD,2DAAwC;AACxC,2DAAwD;AACxD,+CAA4C;AAC5C,mFAAyE;AACzE,yEAAsE;AAG/D,IAAM,eAAe,uBAArB,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../pageobjects/dashboard/UserPreferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* SPDX-License-Identifier: EPL-2.0
|
|
10
10
|
**********************************************************************/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
12
13
|
const inversify_types_1 = require("../../configs/inversify.types");
|
|
13
14
|
const inversify_config_1 = require("../../configs/inversify.config");
|
|
14
15
|
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
@@ -24,15 +25,31 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_C
|
|
|
24
25
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
25
26
|
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
26
27
|
const userPreferences = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.UserPreferences);
|
|
28
|
+
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
27
29
|
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
28
30
|
const testWorkspaceUtil = inversify_config_1.e2eContainer.get(inversify_types_1.TYPES.WorkspaceUtil);
|
|
31
|
+
const cheCodeLocatorLoader = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.CheCodeLocatorLoader);
|
|
32
|
+
const viewsMoreActionsButton = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ViewsMoreActionsButton);
|
|
33
|
+
const sourceControlView = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.SourceControlView);
|
|
34
|
+
const webCheCodeLocators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
29
35
|
const factoryUrl = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL ||
|
|
30
36
|
'ssh://git@bitbucket-ssh.apps.ds-airgap2-v15.crw-qe.com/~admin/private-bb-repo.git';
|
|
31
37
|
const privateSshKey = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PRIVATE_KEY;
|
|
32
38
|
const publicSshKey = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PUBLIC_KEY;
|
|
39
|
+
const sshPassphrase = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_KEY_PASSPHRASE;
|
|
33
40
|
const privateSshKeyPath = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PRIVATE_KEY_PATH;
|
|
34
41
|
const publicSshKeyPath = FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PUBLIC_KEY_PATH;
|
|
35
42
|
let projectSection;
|
|
43
|
+
let scmProvider;
|
|
44
|
+
let scmContextMenu;
|
|
45
|
+
let viewsActionsButton;
|
|
46
|
+
// test specific data
|
|
47
|
+
const timeToRefresh = 1500;
|
|
48
|
+
const changesToCommit = 'Commit ' + new Date().getTime().toString();
|
|
49
|
+
const fileToChange = 'Date.txt';
|
|
50
|
+
const refreshButtonLabel = 'Refresh';
|
|
51
|
+
const pushItemLabel = 'Push';
|
|
52
|
+
let testRepoProjectName;
|
|
36
53
|
async function deleteSshKeys() {
|
|
37
54
|
Logger_1.Logger.debug('Deleting SSH keys if they are present');
|
|
38
55
|
await userPreferences.openUserPreferencesPage();
|
|
@@ -44,6 +61,7 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_C
|
|
|
44
61
|
suite(`Create workspace from factory:${factoryUrl}`, function () {
|
|
45
62
|
suiteSetup('Login', async function () {
|
|
46
63
|
await loginTests.loginIntoChe();
|
|
64
|
+
await userPreferences.setupGitConfig(FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_GIT_COMMIT_AUTHOR_NAME, FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_GIT_COMMIT_AUTHOR_EMAIL);
|
|
47
65
|
await deleteSshKeys();
|
|
48
66
|
});
|
|
49
67
|
test('Add SSH keys', async function () {
|
|
@@ -52,7 +70,7 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_C
|
|
|
52
70
|
// use environment variables if available, otherwise fall back to file paths
|
|
53
71
|
if (privateSshKey && publicSshKey) {
|
|
54
72
|
Logger_1.Logger.info('Using SSH keys from environment variables');
|
|
55
|
-
await userPreferences.addSshKeysFromStrings(privateSshKey, publicSshKey);
|
|
73
|
+
await userPreferences.addSshKeysFromStrings(privateSshKey, publicSshKey, sshPassphrase);
|
|
56
74
|
}
|
|
57
75
|
else {
|
|
58
76
|
Logger_1.Logger.info('Using SSH keys from file paths');
|
|
@@ -78,16 +96,100 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS_1.BASE_TEST_C
|
|
|
78
96
|
.undefined;
|
|
79
97
|
});
|
|
80
98
|
test('Accept the project as a trusted one', async function () {
|
|
81
|
-
await projectAndFileTests.
|
|
99
|
+
await projectAndFileTests.performTrustDialogs();
|
|
100
|
+
// it needs to wait here for the Trust dialogs to be closed and the Editor to be ready
|
|
101
|
+
await driverHelper.wait(5000);
|
|
82
102
|
});
|
|
83
103
|
test('Check the project files was imported', async function () {
|
|
84
104
|
(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;
|
|
105
|
+
testRepoProjectName = StringUtil_1.StringUtil.getProjectNameFromGitUrl(factoryUrl);
|
|
106
|
+
});
|
|
107
|
+
test('Make changes to the file', async function () {
|
|
108
|
+
Logger_1.Logger.debug(`projectSection.openItem: "${fileToChange}"`);
|
|
109
|
+
await projectSection.openItem(testRepoProjectName, fileToChange);
|
|
110
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
111
|
+
await driverHelper.getDriver().findElement(webCheCodeLocators.Editor.inputArea).click();
|
|
112
|
+
await driverHelper.wait(1000);
|
|
113
|
+
Logger_1.Logger.debug('Clearing the editor with Ctrl+A');
|
|
114
|
+
await driverHelper.getDriver().actions().keyDown(monaco_page_objects_1.Key.CONTROL).sendKeys('a').keyUp(monaco_page_objects_1.Key.CONTROL).perform();
|
|
115
|
+
await driverHelper.wait(1000);
|
|
116
|
+
Logger_1.Logger.debug('Deleting selected text');
|
|
117
|
+
await driverHelper.getDriver().actions().sendKeys(monaco_page_objects_1.Key.DELETE).perform();
|
|
118
|
+
await driverHelper.wait(1000);
|
|
119
|
+
Logger_1.Logger.debug(`Entering text: "${changesToCommit}"`);
|
|
120
|
+
await driverHelper.getDriver().actions().sendKeys(changesToCommit).perform();
|
|
121
|
+
});
|
|
122
|
+
test('Open a source control manager', async function () {
|
|
123
|
+
const viewSourceControl = 'Source Control';
|
|
124
|
+
const sourceControl = (await new monaco_page_objects_1.ActivityBar().getViewControl(viewSourceControl));
|
|
125
|
+
Logger_1.Logger.debug(`sourceControl.openView: "${viewSourceControl}"`);
|
|
126
|
+
await sourceControl.openView();
|
|
127
|
+
const scmView = new monaco_page_objects_1.NewScmView();
|
|
128
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.inputField);
|
|
129
|
+
let rest;
|
|
130
|
+
[scmProvider, ...rest] = await scmView.getProviders();
|
|
131
|
+
Logger_1.Logger.debug(`scmView.getProviders: "${JSON.stringify(scmProvider)}, ${rest}"`);
|
|
132
|
+
});
|
|
133
|
+
test('Check if the changes are displayed in the source control manager', async function () {
|
|
134
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
135
|
+
await driverHelper.wait(timeToRefresh);
|
|
136
|
+
Logger_1.Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
137
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
138
|
+
// wait while changes counter will be refreshed
|
|
139
|
+
await driverHelper.wait(timeToRefresh);
|
|
140
|
+
const changes = await scmProvider.getChangeCount();
|
|
141
|
+
Logger_1.Logger.debug(`scmProvider.getChangeCount: number of changes is "${changes}"`);
|
|
142
|
+
(0, chai_1.expect)(changes).eql(1);
|
|
143
|
+
});
|
|
144
|
+
test('Stage the changes', async function () {
|
|
145
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
146
|
+
viewsActionsButton = await viewsMoreActionsButton.viewsAndMoreActionsButtonIsVisible();
|
|
147
|
+
if (viewsActionsButton) {
|
|
148
|
+
await viewsMoreActionsButton.closeSourceControlGraph();
|
|
149
|
+
}
|
|
150
|
+
scmContextMenu = await scmProvider.openMoreActions();
|
|
151
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ContextMenu.contextView);
|
|
152
|
+
Logger_1.Logger.debug('scmContextMenu.select: "Changes" -> "Stage All Changes"');
|
|
153
|
+
await scmContextMenu.select('Changes', 'Stage All Changes');
|
|
154
|
+
});
|
|
155
|
+
test('Commit the changes', async function () {
|
|
156
|
+
Logger_1.Logger.info(`ScmView inputField locator: "${webCheCodeLocators.ScmView.scmEditor}"`);
|
|
157
|
+
Logger_1.Logger.debug('Click on the Scm Editor');
|
|
158
|
+
await driverHelper
|
|
159
|
+
.getDriver()
|
|
160
|
+
.findElement(webCheCodeLocators.ScmView.scmEditor)
|
|
161
|
+
.click();
|
|
162
|
+
await sourceControlView.typeCommitMessage(changesToCommit);
|
|
163
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
164
|
+
await driverHelper.wait(timeToRefresh);
|
|
165
|
+
Logger_1.Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
166
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
167
|
+
// wait while changes counter will be refreshed
|
|
168
|
+
await driverHelper.wait(timeToRefresh);
|
|
169
|
+
const changes = await scmProvider.getChangeCount();
|
|
170
|
+
Logger_1.Logger.debug(`scmProvider.getChangeCount: number of changes is "${changes}"`);
|
|
171
|
+
(0, chai_1.expect)(changes).eql(0);
|
|
172
|
+
});
|
|
173
|
+
test('Push the changes and check if the changes were pushed', async function () {
|
|
174
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Notification.action);
|
|
175
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
176
|
+
Logger_1.Logger.debug('scmProvider.openMoreActions');
|
|
177
|
+
scmContextMenu = await scmProvider.openMoreActions();
|
|
178
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ContextMenu.itemConstructor(pushItemLabel));
|
|
179
|
+
Logger_1.Logger.debug(`scmContextMenu.select: "${pushItemLabel}"`);
|
|
180
|
+
await scmContextMenu.select(pushItemLabel);
|
|
181
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
182
|
+
await driverHelper.wait(timeToRefresh);
|
|
183
|
+
Logger_1.Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
184
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
185
|
+
const isCommitButtonDisabled = await driverHelper.waitAndGetElementAttribute(webCheCodeLocators.Notification.action, 'aria-disabled');
|
|
186
|
+
(0, chai_1.expect)(isCommitButtonDisabled).to.equal('true');
|
|
85
187
|
});
|
|
86
188
|
suiteTeardown('Delete SSH keys', async function () {
|
|
87
189
|
await dashboard.openDashboard();
|
|
88
190
|
await deleteSshKeys();
|
|
89
191
|
});
|
|
90
|
-
suiteTeardown('Stop and delete the workspace by
|
|
192
|
+
suiteTeardown('Stop and delete the workspace by API', async function () {
|
|
91
193
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
92
194
|
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
93
195
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SshUrlNoOauthPatFactory.spec.js","sourceRoot":"","sources":["../../../specs/factory/SshUrlNoOauthPatFactory.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;
|
|
1
|
+
{"version":3,"file":"SshUrlNoOauthPatFactory.spec.js","sourceRoot":"","sources":["../../../specs/factory/SshUrlNoOauthPatFactory.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,8 @@ suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS_
|
|
|
29
29
|
let firstWorkspaceName;
|
|
30
30
|
let secondWorkspaceName;
|
|
31
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 ||
|
|
32
|
+
? FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
33
|
+
'https://gh.crw-qe.com/test-automation-only/python-hello-world/tree/test'
|
|
33
34
|
: FACTORY_TEST_CONSTANTS_1.FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/python-hello-world';
|
|
34
35
|
suiteSetup('Login', async function () {
|
|
35
36
|
await loginTests.loginIntoChe();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkspaceWithExistingNameFromGitUrl.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.ts"],"names":[],"mappings":";;AAAA;;;;;;;;wEAQwE;AACxE,qEAA8D;AAE9D,mEAAwD;AACxD,+BAA8B;AAC9B,uFAAoF;AAGpF,8CAAyD;AAEzD,6EAA0E;AAE1E,mFAAgF;AAEhF,yEAAsE;AAEtE,MAAM,WAAW,GAAW,+CAAsB,CAAC,wBAAwB,IAAI,oBAAoB,CAAC;AAEpG,KAAK,CAAC,sDAAsD,yCAAmB,CAAC,gBAAgB,EAAE,EAAE;IACnG,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,mBAAmB,GAAwB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/F,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IACnF,MAAM,SAAS,GAAc,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,eAAe,GAAoB,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,eAAe,CAAC,CAAC;IAEnF,IAAI,cAA2B,CAAC;IAChC,IAAI,kBAA0B,CAAC;IAC/B,IAAI,mBAA2B,CAAC;IAChC,MAAM,UAAU,GAAW,yCAAmB,CAAC,uBAAuB,EAAE;QACvE,CAAC,CAAC,+CAAsB,CAAC,uCAAuC,
|
|
1
|
+
{"version":3,"file":"CreateWorkspaceWithExistingNameFromGitUrl.spec.js","sourceRoot":"","sources":["../../../specs/miscellaneous/CreateWorkspaceWithExistingNameFromGitUrl.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-che/che-e2e",
|
|
3
|
-
"version": "7.113.0
|
|
3
|
+
"version": "7.113.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.113.0"
|
|
70
71
|
},
|
|
71
72
|
"resolutions": {
|
|
72
73
|
"minimist": "^1.2.5"
|
|
@@ -42,6 +42,7 @@ export class UserPreferences {
|
|
|
42
42
|
private static readonly ADD_SSH_KEYS_POPUP: By = By.xpath('//span[text()="Add SSH Keys"]');
|
|
43
43
|
private static readonly PASTE_PRIVATE_SSH_KEY_FIELD: By = By.css('textarea[name="ssh-private-key"]');
|
|
44
44
|
private static readonly PASTE_PUBLIC_SSH_KEY_FIELD: By = By.css('textarea[name="ssh-public-key"]');
|
|
45
|
+
private static readonly PASTE_SSH_KEY_PASSPHRASE_FIELD: By = By.xpath('//input[@placeholder="Enter passphrase (optional)"]');
|
|
45
46
|
private static readonly ADD_SSH_KEYS_BUTTON: By = By.css('.pf-c-button.pf-m-primary');
|
|
46
47
|
private static readonly GIT_SSH_KEY_NAME: By = By.css('[data-testid="title"]');
|
|
47
48
|
private static readonly GIT_SSH_KEY_ACTIONS_BUTTON: By = By.css('section[id*="SshKeys-user-preferences"] button[aria-label="Actions"]');
|
|
@@ -184,7 +185,7 @@ export class UserPreferences {
|
|
|
184
185
|
Logger.info('SSH keys have been added');
|
|
185
186
|
}
|
|
186
187
|
|
|
187
|
-
async addSshKeysFromStrings(privateSshKey: string, publicSshKey: string): Promise<void> {
|
|
188
|
+
async addSshKeysFromStrings(privateSshKey: string, publicSshKey: string, passphrase?: string): Promise<void> {
|
|
188
189
|
Logger.debug();
|
|
189
190
|
|
|
190
191
|
if (!privateSshKey || privateSshKey === '') {
|
|
@@ -206,6 +207,12 @@ export class UserPreferences {
|
|
|
206
207
|
await this.driverHelper.waitAndClick(UserPreferences.PASTE_PUBLIC_SSH_KEY_FIELD);
|
|
207
208
|
await this.driverHelper.getAction().sendKeys(publicSshKey).perform();
|
|
208
209
|
|
|
210
|
+
if (passphrase) {
|
|
211
|
+
Logger.info('Pasting SSH key passphrase');
|
|
212
|
+
await this.driverHelper.waitAndClick(UserPreferences.PASTE_SSH_KEY_PASSPHRASE_FIELD);
|
|
213
|
+
await this.driverHelper.getAction().sendKeys(passphrase).perform();
|
|
214
|
+
}
|
|
215
|
+
|
|
209
216
|
await this.driverHelper.waitAndClick(UserPreferences.ADD_SSH_KEYS_BUTTON);
|
|
210
217
|
await this.driverHelper.waitVisibility(UserPreferences.GIT_SSH_KEY_NAME);
|
|
211
218
|
Logger.info('SSH keys have been added');
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
**********************************************************************/
|
|
10
10
|
|
|
11
|
-
import { ViewSection } from 'monaco-page-objects';
|
|
11
|
+
import { ActivityBar, ContextMenu, Key, Locators, NewScmView, SingleScmProvider, ViewControl, ViewSection } from 'monaco-page-objects';
|
|
12
12
|
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
13
13
|
import { CLASSES, TYPES } from '../../configs/inversify.types';
|
|
14
14
|
import { e2eContainer } from '../../configs/inversify.config';
|
|
@@ -24,6 +24,10 @@ import { UserPreferences } from '../../pageobjects/dashboard/UserPreferences';
|
|
|
24
24
|
import { Dashboard } from '../../pageobjects/dashboard/Dashboard';
|
|
25
25
|
import { ITestWorkspaceUtil } from '../../utils/workspace/ITestWorkspaceUtil';
|
|
26
26
|
import { Logger } from '../../utils/Logger';
|
|
27
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
28
|
+
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
29
|
+
import { ViewsMoreActionsButton } from '../../pageobjects/ide/ViewsMoreActionsButton';
|
|
30
|
+
import { SourceControlView } from '../../pageobjects/ide/SourceControlView';
|
|
27
31
|
|
|
28
32
|
suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONMENT}`, function (): void {
|
|
29
33
|
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
@@ -31,16 +35,34 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONM
|
|
|
31
35
|
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
32
36
|
const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
|
|
33
37
|
const userPreferences: UserPreferences = e2eContainer.get(CLASSES.UserPreferences);
|
|
38
|
+
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
34
39
|
const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
|
|
35
40
|
const testWorkspaceUtil: ITestWorkspaceUtil = e2eContainer.get(TYPES.WorkspaceUtil);
|
|
41
|
+
const cheCodeLocatorLoader: CheCodeLocatorLoader = e2eContainer.get(CLASSES.CheCodeLocatorLoader);
|
|
42
|
+
const viewsMoreActionsButton: ViewsMoreActionsButton = e2eContainer.get(CLASSES.ViewsMoreActionsButton);
|
|
43
|
+
const sourceControlView: SourceControlView = e2eContainer.get(CLASSES.SourceControlView);
|
|
44
|
+
const webCheCodeLocators: Locators = cheCodeLocatorLoader.webCheCodeLocators;
|
|
45
|
+
|
|
36
46
|
const factoryUrl: string =
|
|
37
47
|
FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL ||
|
|
38
48
|
'ssh://git@bitbucket-ssh.apps.ds-airgap2-v15.crw-qe.com/~admin/private-bb-repo.git';
|
|
39
49
|
const privateSshKey: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PRIVATE_KEY;
|
|
40
50
|
const publicSshKey: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PUBLIC_KEY;
|
|
51
|
+
const sshPassphrase: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_KEY_PASSPHRASE;
|
|
41
52
|
const privateSshKeyPath: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PRIVATE_KEY_PATH;
|
|
42
53
|
const publicSshKeyPath: string = FACTORY_TEST_CONSTANTS.TS_SELENIUM_SSH_PUBLIC_KEY_PATH;
|
|
54
|
+
|
|
43
55
|
let projectSection: ViewSection;
|
|
56
|
+
let scmProvider: SingleScmProvider;
|
|
57
|
+
let scmContextMenu: ContextMenu;
|
|
58
|
+
let viewsActionsButton: boolean;
|
|
59
|
+
// test specific data
|
|
60
|
+
const timeToRefresh: number = 1500;
|
|
61
|
+
const changesToCommit: string = 'Commit ' + new Date().getTime().toString();
|
|
62
|
+
const fileToChange: string = 'Date.txt';
|
|
63
|
+
const refreshButtonLabel: string = 'Refresh';
|
|
64
|
+
const pushItemLabel: string = 'Push';
|
|
65
|
+
let testRepoProjectName: string;
|
|
44
66
|
|
|
45
67
|
async function deleteSshKeys(): Promise<void> {
|
|
46
68
|
Logger.debug('Deleting SSH keys if they are present');
|
|
@@ -54,6 +76,10 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONM
|
|
|
54
76
|
suite(`Create workspace from factory:${factoryUrl}`, function (): void {
|
|
55
77
|
suiteSetup('Login', async function (): Promise<void> {
|
|
56
78
|
await loginTests.loginIntoChe();
|
|
79
|
+
await userPreferences.setupGitConfig(
|
|
80
|
+
FACTORY_TEST_CONSTANTS.TS_GIT_COMMIT_AUTHOR_NAME,
|
|
81
|
+
FACTORY_TEST_CONSTANTS.TS_GIT_COMMIT_AUTHOR_EMAIL
|
|
82
|
+
);
|
|
57
83
|
await deleteSshKeys();
|
|
58
84
|
});
|
|
59
85
|
test('Add SSH keys', async function (): Promise<void> {
|
|
@@ -62,7 +88,7 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONM
|
|
|
62
88
|
// use environment variables if available, otherwise fall back to file paths
|
|
63
89
|
if (privateSshKey && publicSshKey) {
|
|
64
90
|
Logger.info('Using SSH keys from environment variables');
|
|
65
|
-
await userPreferences.addSshKeysFromStrings(privateSshKey, publicSshKey);
|
|
91
|
+
await userPreferences.addSshKeysFromStrings(privateSshKey, publicSshKey, sshPassphrase);
|
|
66
92
|
} else {
|
|
67
93
|
Logger.info('Using SSH keys from file paths');
|
|
68
94
|
await userPreferences.addSshKeysFromFiles(privateSshKeyPath, publicSshKeyPath);
|
|
@@ -87,19 +113,115 @@ suite(`The SshUrlNoOauthPatFactory userstory ${BASE_TEST_CONSTANTS.TEST_ENVIRONM
|
|
|
87
113
|
.undefined;
|
|
88
114
|
});
|
|
89
115
|
test('Accept the project as a trusted one', async function (): Promise<void> {
|
|
90
|
-
await projectAndFileTests.
|
|
116
|
+
await projectAndFileTests.performTrustDialogs();
|
|
117
|
+
// it needs to wait here for the Trust dialogs to be closed and the Editor to be ready
|
|
118
|
+
await driverHelper.wait(5000);
|
|
91
119
|
});
|
|
92
120
|
test('Check the project files was imported', async function (): Promise<void> {
|
|
93
121
|
expect(
|
|
94
122
|
await projectAndFileTests.getProjectTreeItem(projectSection, BASE_TEST_CONSTANTS.TS_SELENIUM_PROJECT_ROOT_FILE_NAME),
|
|
95
123
|
'Project files were not imported'
|
|
96
124
|
).not.undefined;
|
|
125
|
+
testRepoProjectName = StringUtil.getProjectNameFromGitUrl(factoryUrl);
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
test('Make changes to the file', async function (): Promise<void> {
|
|
129
|
+
Logger.debug(`projectSection.openItem: "${fileToChange}"`);
|
|
130
|
+
await projectSection.openItem(testRepoProjectName, fileToChange);
|
|
131
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
132
|
+
await driverHelper.getDriver().findElement(webCheCodeLocators.Editor.inputArea).click();
|
|
133
|
+
await driverHelper.wait(1000);
|
|
134
|
+
|
|
135
|
+
Logger.debug('Clearing the editor with Ctrl+A');
|
|
136
|
+
await driverHelper.getDriver().actions().keyDown(Key.CONTROL).sendKeys('a').keyUp(Key.CONTROL).perform();
|
|
137
|
+
await driverHelper.wait(1000);
|
|
138
|
+
Logger.debug('Deleting selected text');
|
|
139
|
+
await driverHelper.getDriver().actions().sendKeys(Key.DELETE).perform();
|
|
140
|
+
await driverHelper.wait(1000);
|
|
141
|
+
Logger.debug(`Entering text: "${changesToCommit}"`);
|
|
142
|
+
await driverHelper.getDriver().actions().sendKeys(changesToCommit).perform();
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
test('Open a source control manager', async function (): Promise<void> {
|
|
146
|
+
const viewSourceControl: string = 'Source Control';
|
|
147
|
+
const sourceControl: ViewControl = (await new ActivityBar().getViewControl(viewSourceControl)) as ViewControl;
|
|
148
|
+
Logger.debug(`sourceControl.openView: "${viewSourceControl}"`);
|
|
149
|
+
await sourceControl.openView();
|
|
150
|
+
const scmView: NewScmView = new NewScmView();
|
|
151
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.inputField);
|
|
152
|
+
let rest: SingleScmProvider[];
|
|
153
|
+
[scmProvider, ...rest] = await scmView.getProviders();
|
|
154
|
+
Logger.debug(`scmView.getProviders: "${JSON.stringify(scmProvider)}, ${rest}"`);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
test('Check if the changes are displayed in the source control manager', async function (): Promise<void> {
|
|
158
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
159
|
+
await driverHelper.wait(timeToRefresh);
|
|
160
|
+
Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
161
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
162
|
+
// wait while changes counter will be refreshed
|
|
163
|
+
await driverHelper.wait(timeToRefresh);
|
|
164
|
+
const changes: number = await scmProvider.getChangeCount();
|
|
165
|
+
Logger.debug(`scmProvider.getChangeCount: number of changes is "${changes}"`);
|
|
166
|
+
expect(changes).eql(1);
|
|
97
167
|
});
|
|
168
|
+
|
|
169
|
+
test('Stage the changes', async function (): Promise<void> {
|
|
170
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
171
|
+
viewsActionsButton = await viewsMoreActionsButton.viewsAndMoreActionsButtonIsVisible();
|
|
172
|
+
if (viewsActionsButton) {
|
|
173
|
+
await viewsMoreActionsButton.closeSourceControlGraph();
|
|
174
|
+
}
|
|
175
|
+
scmContextMenu = await scmProvider.openMoreActions();
|
|
176
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ContextMenu.contextView);
|
|
177
|
+
Logger.debug('scmContextMenu.select: "Changes" -> "Stage All Changes"');
|
|
178
|
+
await scmContextMenu.select('Changes', 'Stage All Changes');
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
test('Commit the changes', async function (): Promise<void> {
|
|
182
|
+
Logger.info(`ScmView inputField locator: "${(webCheCodeLocators.ScmView as any).scmEditor}"`);
|
|
183
|
+
Logger.debug('Click on the Scm Editor');
|
|
184
|
+
await driverHelper
|
|
185
|
+
.getDriver()
|
|
186
|
+
.findElement((webCheCodeLocators.ScmView as any).scmEditor)
|
|
187
|
+
.click();
|
|
188
|
+
await sourceControlView.typeCommitMessage(changesToCommit);
|
|
189
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
190
|
+
await driverHelper.wait(timeToRefresh);
|
|
191
|
+
Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
192
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
193
|
+
// wait while changes counter will be refreshed
|
|
194
|
+
await driverHelper.wait(timeToRefresh);
|
|
195
|
+
const changes: number = await scmProvider.getChangeCount();
|
|
196
|
+
Logger.debug(`scmProvider.getChangeCount: number of changes is "${changes}"`);
|
|
197
|
+
expect(changes).eql(0);
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
test('Push the changes and check if the changes were pushed', async function (): Promise<void> {
|
|
201
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Notification.action);
|
|
202
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
203
|
+
Logger.debug('scmProvider.openMoreActions');
|
|
204
|
+
scmContextMenu = await scmProvider.openMoreActions();
|
|
205
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ContextMenu.itemConstructor(pushItemLabel));
|
|
206
|
+
Logger.debug(`scmContextMenu.select: "${pushItemLabel}"`);
|
|
207
|
+
await scmContextMenu.select(pushItemLabel);
|
|
208
|
+
|
|
209
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more);
|
|
210
|
+
await driverHelper.wait(timeToRefresh);
|
|
211
|
+
Logger.debug(`wait and click on: "${refreshButtonLabel}"`);
|
|
212
|
+
await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel));
|
|
213
|
+
const isCommitButtonDisabled: string = await driverHelper.waitAndGetElementAttribute(
|
|
214
|
+
webCheCodeLocators.Notification.action,
|
|
215
|
+
'aria-disabled'
|
|
216
|
+
);
|
|
217
|
+
expect(isCommitButtonDisabled).to.equal('true');
|
|
218
|
+
});
|
|
219
|
+
|
|
98
220
|
suiteTeardown('Delete SSH keys', async function (): Promise<void> {
|
|
99
221
|
await dashboard.openDashboard();
|
|
100
222
|
await deleteSshKeys();
|
|
101
223
|
});
|
|
102
|
-
suiteTeardown('Stop and delete the workspace by
|
|
224
|
+
suiteTeardown('Stop and delete the workspace by API', async function (): Promise<void> {
|
|
103
225
|
await browserTabsUtil.closeAllTabsExceptCurrent();
|
|
104
226
|
await testWorkspaceUtil.stopAndDeleteWorkspaceByName(WorkspaceHandlingTests.getWorkspaceName());
|
|
105
227
|
});
|
|
@@ -36,7 +36,8 @@ suite(`"Start workspace with existed workspace name" test ${BASE_TEST_CONSTANTS.
|
|
|
36
36
|
let firstWorkspaceName: string;
|
|
37
37
|
let secondWorkspaceName: string;
|
|
38
38
|
const factoryUrl: string = BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()
|
|
39
|
-
? FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
39
|
+
? FACTORY_TEST_CONSTANTS.TS_SELENIUM_AIRGAP_FACTORY_GIT_REPO_URL ||
|
|
40
|
+
'https://gh.crw-qe.com/test-automation-only/python-hello-world/tree/test'
|
|
40
41
|
: FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_URL || 'https://github.com/crw-qe/python-hello-world';
|
|
41
42
|
|
|
42
43
|
suiteSetup('Login', async function (): Promise<void> {
|