@eclipse-che/che-e2e 7.64.0-dev-6e179e6 → 7.64.0-dev-01207b1
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/constants/TimeoutConstants.ts +1 -1
- package/dist/constants/TimeoutConstants.js +1 -1
- package/dist/specs/dashboard-samples/RecomendedExtentions.spec.js +122 -0
- package/dist/specs/dashboard-samples/RecomendedExtentions.spec.js.map +1 -0
- package/dist/tests-library/WorkspaceHandlingTests.js +1 -0
- package/dist/tests-library/WorkspaceHandlingTests.js.map +1 -1
- package/package.json +1 -1
- package/specs/dashboard-samples/RecomendedExtentions.spec.ts +148 -0
- package/tests-library/WorkspaceHandlingTests.ts +1 -0
|
@@ -226,6 +226,6 @@ export const TimeoutConstants: any = {
|
|
|
226
226
|
/**
|
|
227
227
|
* Common timeout for plugins.
|
|
228
228
|
*/
|
|
229
|
-
TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) ||
|
|
229
|
+
TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) || 15_000
|
|
230
230
|
|
|
231
231
|
};
|
|
@@ -179,6 +179,6 @@ exports.TimeoutConstants = {
|
|
|
179
179
|
/**
|
|
180
180
|
* Common timeout for plugins.
|
|
181
181
|
*/
|
|
182
|
-
TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) ||
|
|
182
|
+
TS_COMMON_PLUGIN_TEST_TIMEOUT: Number(process.env.TS_COMMON_PLUGIN_TEST_TIMEOUT) || 15000
|
|
183
183
|
};
|
|
184
184
|
//# sourceMappingURL=TimeoutConstants.js.map
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************
|
|
3
|
+
* Copyright (c) 2019-2023 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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
13
|
+
const MochaHooks_1 = require("../MochaHooks");
|
|
14
|
+
const inversify_config_1 = require("../../configs/inversify.config");
|
|
15
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
16
|
+
const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
|
|
17
|
+
const Logger_1 = require("../../utils/Logger");
|
|
18
|
+
const CheCodeLocatorLoader_1 = require("../../pageobjects/ide/CheCodeLocatorLoader");
|
|
19
|
+
const chai_1 = require("chai");
|
|
20
|
+
const TimeoutConstants_1 = require("../../constants/TimeoutConstants");
|
|
21
|
+
const TestConstants_1 = require("../../constants/TestConstants");
|
|
22
|
+
const projectAndFileTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.ProjectAndFileTests);
|
|
23
|
+
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
24
|
+
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
25
|
+
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
26
|
+
const webCheCodeLocators = new CheCodeLocatorLoader_1.CheCodeLocatorLoader().webCheCodeLocators;
|
|
27
|
+
const samples = ['Node.js MongoDB', 'Node.js Express'];
|
|
28
|
+
suite(`Check if recommended extensions installed for ${samples}`, async function () {
|
|
29
|
+
let projectSection;
|
|
30
|
+
let extensionsView;
|
|
31
|
+
let extensionSection;
|
|
32
|
+
const extensionsListFileName = 'extensions.json';
|
|
33
|
+
let recommendedExtensions = {
|
|
34
|
+
recommendations: []
|
|
35
|
+
};
|
|
36
|
+
loginTests.loginIntoChe();
|
|
37
|
+
for (const sample of samples) {
|
|
38
|
+
workspaceHandlingTests.createAndOpenWorkspace(sample);
|
|
39
|
+
workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
40
|
+
test('Registering the running workspace', async function () {
|
|
41
|
+
MochaHooks_1.registerRunningWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
42
|
+
});
|
|
43
|
+
test('Wait workspace readiness', async function () {
|
|
44
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
45
|
+
});
|
|
46
|
+
test('Wait until the project will be imported and accept it as trusted one', async function () {
|
|
47
|
+
[projectSection] = await new monaco_page_objects_1.SideBarView().getContent().getSections();
|
|
48
|
+
const label = TestConstants_1.TestConstants.TS_SELENIUM_PROJECT_ROOT_FILE_NAME;
|
|
49
|
+
Logger_1.Logger.debug(`projectSection.findItem: find ${label}`);
|
|
50
|
+
const isFileImported = await projectSection.findItem(label);
|
|
51
|
+
chai_1.expect(isFileImported).not.eqls(undefined);
|
|
52
|
+
try {
|
|
53
|
+
const buttonYesITrustTheAuthors = `Yes, I trust the authors`;
|
|
54
|
+
await driverHelper.waitVisibility(webCheCodeLocators.WelcomeContent.button, TimeoutConstants_1.TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
55
|
+
const trustedProjectDialog = new monaco_page_objects_1.ModalDialog();
|
|
56
|
+
Logger_1.Logger.debug(`trustedProjectDialog.pushButton: "${buttonYesITrustTheAuthors}"`);
|
|
57
|
+
await trustedProjectDialog.pushButton(buttonYesITrustTheAuthors);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
Logger_1.Logger.warn(`Welcome modal dialog was not shown: ${e}`);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
test(`Get recommended extensions list from ${extensionsListFileName}`, async function () {
|
|
64
|
+
var _a, _b;
|
|
65
|
+
Logger_1.Logger.debug(`projectSection.findItem(item))?.select(): expand .vscode folder and open extensions.json.`);
|
|
66
|
+
await ((_a = (await projectSection.findItem('.vscode'))) === null || _a === void 0 ? void 0 : _a.select());
|
|
67
|
+
// time to expand project tree
|
|
68
|
+
await driverHelper.wait(TimeoutConstants_1.TimeoutConstants.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
69
|
+
await ((_b = (await projectSection.findItem(extensionsListFileName))) === null || _b === void 0 ? void 0 : _b.select());
|
|
70
|
+
Logger_1.Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
|
|
71
|
+
const editor = await new monaco_page_objects_1.EditorView().openEditor(extensionsListFileName);
|
|
72
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
73
|
+
Logger_1.Logger.debug(`editor.getText(): get recommended extensions as text from editor, delete comments and parse to object.`);
|
|
74
|
+
recommendedExtensions = JSON.parse((await editor.getText()).replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
|
|
75
|
+
Logger_1.Logger.debug(`recommendedExtensions.recommendations: Get recommendations clear names using map().`);
|
|
76
|
+
recommendedExtensions.recommendations = recommendedExtensions.recommendations.map((r) => r.substring(r.indexOf('.') + 1, r.length));
|
|
77
|
+
});
|
|
78
|
+
test(`Open "Extensions" view section`, async function () {
|
|
79
|
+
var _a;
|
|
80
|
+
Logger_1.Logger.debug(`ActivityBar().getViewControl('Extensions'))?.openView(): open Extensions view.`);
|
|
81
|
+
extensionsView = await ((_a = (await new monaco_page_objects_1.ActivityBar().getViewControl('Extensions'))) === null || _a === void 0 ? void 0 : _a.openView());
|
|
82
|
+
Logger_1.Logger.debug(`extensionsView?.getContent().getSections(): get current section.`);
|
|
83
|
+
[extensionSection] = await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections());
|
|
84
|
+
});
|
|
85
|
+
test(`Wait until extensions starts installation`, async function () {
|
|
86
|
+
Logger_1.Logger.info(`Time for extensions installation TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT=${TimeoutConstants_1.TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT}`);
|
|
87
|
+
await driverHelper.wait(TimeoutConstants_1.TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
88
|
+
});
|
|
89
|
+
test(`Check if extensions is installed and enabled`, async function () {
|
|
90
|
+
Logger_1.Logger.info(`Check if recommendedExtensions.recommendations are installed: ${recommendedExtensions.recommendations}.`);
|
|
91
|
+
for (const extension of recommendedExtensions.recommendations) {
|
|
92
|
+
Logger_1.Logger.debug(`extensionSection.findItem(${extension}).`);
|
|
93
|
+
await extensionSection.findItem(extension);
|
|
94
|
+
Logger_1.Logger.debug(`extensionsView?.getContent().getSections(): switch to marketplace section.`);
|
|
95
|
+
const [marketplaceSection] = await (extensionsView === null || extensionsView === void 0 ? void 0 : extensionsView.getContent().getSections());
|
|
96
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.items, TimeoutConstants_1.TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
97
|
+
Logger_1.Logger.debug(`marketplaceSection.getVisibleItems(): get first item.`);
|
|
98
|
+
const [firstFoundItem] = await marketplaceSection.getVisibleItems();
|
|
99
|
+
Logger_1.Logger.debug(`firstFoundItem?.isInstalled()`);
|
|
100
|
+
const isInstalled = await (firstFoundItem === null || firstFoundItem === void 0 ? void 0 : firstFoundItem.isInstalled());
|
|
101
|
+
Logger_1.Logger.debug(`firstFoundItem?.isInstalled(): ${isInstalled}.`);
|
|
102
|
+
chai_1.expect(isInstalled).eqls(true);
|
|
103
|
+
Logger_1.Logger.debug(`firstFoundItem.manage(): get context menu.`);
|
|
104
|
+
const extensionManageMenu = await firstFoundItem.manage();
|
|
105
|
+
Logger_1.Logger.debug(`extensionManageMenu.getItems(): get menu items.`);
|
|
106
|
+
const extensionMenuItems = await extensionManageMenu.getItems();
|
|
107
|
+
let extensionMenuItemLabels = '';
|
|
108
|
+
for (const item of extensionMenuItems) {
|
|
109
|
+
Logger_1.Logger.trace(`extensionMenuItems -> item.getLabel(): get menu items names.`);
|
|
110
|
+
extensionMenuItemLabels += (await item.getLabel()) + ' ';
|
|
111
|
+
}
|
|
112
|
+
Logger_1.Logger.debug(`extensionMenuItemLabels: ${extensionMenuItemLabels}.`);
|
|
113
|
+
chai_1.expect(extensionMenuItemLabels).contains('Disable').and.not.contains('Enable');
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
test('Stopping and deleting the workspace', async function () {
|
|
117
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
loginTests.logoutFromChe();
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=RecomendedExtentions.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecomendedExtentions.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/RecomendedExtentions.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ let WorkspaceHandlingTests = WorkspaceHandlingTests_1 = class WorkspaceHandlingT
|
|
|
56
56
|
}
|
|
57
57
|
createAndOpenWorkspace(stack) {
|
|
58
58
|
test(`Create and open new workspace, stack:${stack}`, async () => {
|
|
59
|
+
await this.dashboard.clickWorkspacesButton();
|
|
59
60
|
await this.dashboard.waitPage();
|
|
60
61
|
Logger_1.Logger.debug(`Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.`);
|
|
61
62
|
await this.apiUrlResolver.getWorkspacesApiUrl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../tests-library/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WorkspaceHandlingTests.js","sourceRoot":"","sources":["../../tests-library/WorkspaceHandlingTests.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/*********************************************************************
|
|
2
|
+
* Copyright (c) 2019-2023 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
|
+
|
|
11
|
+
import {
|
|
12
|
+
ActivityBar,
|
|
13
|
+
ContextMenu,
|
|
14
|
+
ContextMenuItem,
|
|
15
|
+
EditorView,
|
|
16
|
+
ExtensionsViewItem,
|
|
17
|
+
ExtensionsViewSection,
|
|
18
|
+
Locators,
|
|
19
|
+
ModalDialog,
|
|
20
|
+
SideBarView,
|
|
21
|
+
TextEditor,
|
|
22
|
+
ViewItem,
|
|
23
|
+
ViewSection
|
|
24
|
+
} from 'monaco-page-objects';
|
|
25
|
+
import { registerRunningWorkspace } from '../MochaHooks';
|
|
26
|
+
import { LoginTests } from '../../tests-library/LoginTests';
|
|
27
|
+
import { e2eContainer } from '../../configs/inversify.config';
|
|
28
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
29
|
+
import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTests';
|
|
30
|
+
import { ProjectAndFileTests } from '../../tests-library/ProjectAndFileTests';
|
|
31
|
+
import { Logger } from '../../utils/Logger';
|
|
32
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
33
|
+
import { CheCodeLocatorLoader } from '../../pageobjects/ide/CheCodeLocatorLoader';
|
|
34
|
+
import { expect } from 'chai';
|
|
35
|
+
import { TimeoutConstants } from '../../constants/TimeoutConstants';
|
|
36
|
+
import { TestConstants } from '../../constants/TestConstants';
|
|
37
|
+
|
|
38
|
+
const projectAndFileTests: ProjectAndFileTests = e2eContainer.get(CLASSES.ProjectAndFileTests);
|
|
39
|
+
const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
|
|
40
|
+
const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
|
|
41
|
+
const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
|
|
42
|
+
|
|
43
|
+
const webCheCodeLocators: Locators = new CheCodeLocatorLoader().webCheCodeLocators;
|
|
44
|
+
const samples: any = ['Node.js MongoDB', 'Node.js Express'];
|
|
45
|
+
|
|
46
|
+
suite(`Check if recommended extensions installed for ${samples}`, async function (): Promise<void> {
|
|
47
|
+
let projectSection: ViewSection;
|
|
48
|
+
let extensionsView: SideBarView | undefined;
|
|
49
|
+
let extensionSection: ExtensionsViewSection;
|
|
50
|
+
|
|
51
|
+
const extensionsListFileName: string = 'extensions.json';
|
|
52
|
+
let recommendedExtensions: any = {
|
|
53
|
+
recommendations: []
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
loginTests.loginIntoChe();
|
|
57
|
+
|
|
58
|
+
for (const sample of samples) {
|
|
59
|
+
workspaceHandlingTests.createAndOpenWorkspace(sample);
|
|
60
|
+
workspaceHandlingTests.obtainWorkspaceNameFromStartingPage();
|
|
61
|
+
|
|
62
|
+
test('Registering the running workspace', async function (): Promise<void> {
|
|
63
|
+
registerRunningWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
test('Wait workspace readiness', async function (): Promise<void> {
|
|
67
|
+
await projectAndFileTests.waitWorkspaceReadinessForCheCodeEditor();
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
test('Wait until the project will be imported and accept it as trusted one', async function (): Promise<void> {
|
|
71
|
+
[projectSection] = await new SideBarView().getContent().getSections();
|
|
72
|
+
const label: string = TestConstants.TS_SELENIUM_PROJECT_ROOT_FILE_NAME;
|
|
73
|
+
Logger.debug(`projectSection.findItem: find ${label}`);
|
|
74
|
+
const isFileImported: ViewItem | undefined = await projectSection.findItem(label);
|
|
75
|
+
expect(isFileImported).not.eqls(undefined);
|
|
76
|
+
try {
|
|
77
|
+
const buttonYesITrustTheAuthors: string = `Yes, I trust the authors`;
|
|
78
|
+
await driverHelper.waitVisibility(webCheCodeLocators.WelcomeContent.button, TimeoutConstants.TS_DIALOG_WINDOW_DEFAULT_TIMEOUT);
|
|
79
|
+
const trustedProjectDialog: ModalDialog = new ModalDialog();
|
|
80
|
+
Logger.debug(`trustedProjectDialog.pushButton: "${buttonYesITrustTheAuthors}"`);
|
|
81
|
+
await trustedProjectDialog.pushButton(buttonYesITrustTheAuthors);
|
|
82
|
+
} catch (e) {
|
|
83
|
+
Logger.warn(`Welcome modal dialog was not shown: ${e}`);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
test(`Get recommended extensions list from ${extensionsListFileName}`, async function (): Promise<void> {
|
|
88
|
+
Logger.debug(`projectSection.findItem(item))?.select(): expand .vscode folder and open extensions.json.`);
|
|
89
|
+
await (await projectSection.findItem('.vscode'))?.select();
|
|
90
|
+
// time to expand project tree
|
|
91
|
+
await driverHelper.wait(TimeoutConstants.TS_EXPAND_PROJECT_TREE_ITEM_TIMEOUT);
|
|
92
|
+
await (await projectSection.findItem(extensionsListFileName))?.select();
|
|
93
|
+
Logger.debug(`EditorView().openEditor(${extensionsListFileName})`);
|
|
94
|
+
const editor: TextEditor = await new EditorView().openEditor(extensionsListFileName) as TextEditor;
|
|
95
|
+
await driverHelper.waitVisibility(webCheCodeLocators.Editor.inputArea);
|
|
96
|
+
Logger.debug(`editor.getText(): get recommended extensions as text from editor, delete comments and parse to object.`);
|
|
97
|
+
recommendedExtensions = JSON.parse((await editor.getText()).replace(/\/\*[\s\S]*?\*\/|(?<=[^:])\/\/.*|^\/\/.*/g, '').trim());
|
|
98
|
+
Logger.debug(`recommendedExtensions.recommendations: Get recommendations clear names using map().`);
|
|
99
|
+
recommendedExtensions.recommendations = recommendedExtensions.recommendations.map((r: string) => r.substring(r.indexOf('.') + 1, r.length));
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test(`Open "Extensions" view section`, async function (): Promise<void> {
|
|
103
|
+
Logger.debug(`ActivityBar().getViewControl('Extensions'))?.openView(): open Extensions view.`);
|
|
104
|
+
extensionsView = await (await new ActivityBar().getViewControl('Extensions'))?.openView();
|
|
105
|
+
Logger.debug(`extensionsView?.getContent().getSections(): get current section.`);
|
|
106
|
+
[extensionSection] = await extensionsView?.getContent().getSections() as ExtensionsViewSection[];
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
test(`Wait until extensions starts installation`, async function (): Promise<void> {
|
|
110
|
+
Logger.info(`Time for extensions installation TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT=${TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT}`);
|
|
111
|
+
await driverHelper.wait(TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
test(`Check if extensions is installed and enabled`, async function (): Promise<void> {
|
|
115
|
+
Logger.info(`Check if recommendedExtensions.recommendations are installed: ${recommendedExtensions.recommendations}.`);
|
|
116
|
+
for (const extension of recommendedExtensions.recommendations) {
|
|
117
|
+
Logger.debug(`extensionSection.findItem(${extension}).`);
|
|
118
|
+
await extensionSection.findItem(extension);
|
|
119
|
+
Logger.debug(`extensionsView?.getContent().getSections(): switch to marketplace section.`);
|
|
120
|
+
const [marketplaceSection]: ExtensionsViewSection[] = await extensionsView?.getContent().getSections() as ExtensionsViewSection[];
|
|
121
|
+
await driverHelper.waitVisibility(webCheCodeLocators.ExtensionsViewSection.items, TimeoutConstants.TS_COMMON_PLUGIN_TEST_TIMEOUT);
|
|
122
|
+
Logger.debug(`marketplaceSection.getVisibleItems(): get first item.`);
|
|
123
|
+
const [firstFoundItem]: ExtensionsViewItem[] = await marketplaceSection.getVisibleItems();
|
|
124
|
+
Logger.debug(`firstFoundItem?.isInstalled()`);
|
|
125
|
+
const isInstalled: boolean = await firstFoundItem?.isInstalled() as boolean;
|
|
126
|
+
Logger.debug(`firstFoundItem?.isInstalled(): ${isInstalled}.`);
|
|
127
|
+
expect(isInstalled).eqls(true);
|
|
128
|
+
Logger.debug(`firstFoundItem.manage(): get context menu.`);
|
|
129
|
+
const extensionManageMenu: ContextMenu = await firstFoundItem.manage();
|
|
130
|
+
Logger.debug(`extensionManageMenu.getItems(): get menu items.`);
|
|
131
|
+
const extensionMenuItems: ContextMenuItem[] = await extensionManageMenu.getItems();
|
|
132
|
+
let extensionMenuItemLabels: string = '';
|
|
133
|
+
for (const item of extensionMenuItems) {
|
|
134
|
+
Logger.trace(`extensionMenuItems -> item.getLabel(): get menu items names.`);
|
|
135
|
+
extensionMenuItemLabels += (await item.getLabel()) + ' ';
|
|
136
|
+
}
|
|
137
|
+
Logger.debug(`extensionMenuItemLabels: ${extensionMenuItemLabels}.`);
|
|
138
|
+
expect(extensionMenuItemLabels).contains('Disable').and.not.contains('Enable');
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
test('Stopping and deleting the workspace', async function (): Promise<void> {
|
|
143
|
+
await workspaceHandlingTests.stopAndRemoveWorkspace(WorkspaceHandlingTests.getWorkspaceName());
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
loginTests.logoutFromChe();
|
|
148
|
+
});
|
|
@@ -51,6 +51,7 @@ export class WorkspaceHandlingTests {
|
|
|
51
51
|
|
|
52
52
|
public createAndOpenWorkspace(stack: string): void {
|
|
53
53
|
test(`Create and open new workspace, stack:${stack}`, async () => {
|
|
54
|
+
await this.dashboard.clickWorkspacesButton();
|
|
54
55
|
await this.dashboard.waitPage();
|
|
55
56
|
Logger.debug(`Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.`);
|
|
56
57
|
await this.apiUrlResolver.getWorkspacesApiUrl();
|