@eclipse-che/che-e2e 7.120.0-next-176265c → 7.120.0-next-2d52216
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/.claude/settings.local.json +5 -2
- package/.claude/skills/explore-and-generate-tests/SKILL.md +361 -0
- package/.mcp.json +10 -0
- package/configs/inversify.config.ts +2 -0
- package/configs/inversify.types.ts +2 -1
- package/constants/EDITOR_CONSTANTS.ts +120 -0
- package/dist/configs/inversify.config.js +2 -0
- package/dist/configs/inversify.config.js.map +1 -1
- package/dist/configs/inversify.types.js +2 -1
- package/dist/configs/inversify.types.js.map +1 -1
- package/dist/constants/EDITOR_CONSTANTS.js +114 -0
- package/dist/constants/EDITOR_CONSTANTS.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/pageobjects/ide/AiCodeSignInDialog.js +55 -0
- package/dist/pageobjects/ide/AiCodeSignInDialog.js.map +1 -0
- package/dist/specs/dashboard-samples/{StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js → StartWorkspaceUsingDesktopEditors.spec.js} +82 -45
- package/dist/specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.js.map +1 -0
- package/dist/tests-library/ProjectAndFileTests.js +21 -2
- package/dist/tests-library/ProjectAndFileTests.js.map +1 -1
- package/index.ts +2 -0
- package/package.json +1 -1
- package/pageobjects/ide/AiCodeSignInDialog.ts +40 -0
- package/specs/dashboard-samples/{StartWorkspaceUsingVSCodeDesktopSshEditor.spec.ts → StartWorkspaceUsingDesktopEditors.spec.ts} +102 -56
- package/tests-library/ProjectAndFileTests.ts +20 -1
- package/dist/specs/dashboard-samples/StartWorkspaceUsingIntellijIdeaEditor.spec.js +0 -127
- package/dist/specs/dashboard-samples/StartWorkspaceUsingIntellijIdeaEditor.spec.js.map +0 -1
- package/dist/specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js.map +0 -1
- package/specs/dashboard-samples/StartWorkspaceUsingIntellijIdeaEditor.spec.ts +0 -154
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** *******************************************************************
|
|
3
|
+
* copyright (c) 2026 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
|
+
exports.ALL_EDITORS = void 0;
|
|
13
|
+
exports.ALL_EDITORS = new Map([
|
|
14
|
+
[
|
|
15
|
+
'VSCODE_DESKTOP_SSH_EDITOR',
|
|
16
|
+
{
|
|
17
|
+
environmentId: 'VSCODE_DESKTOP_SSH_EDITOR',
|
|
18
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]',
|
|
19
|
+
name: 'VSCode Desktop SSH',
|
|
20
|
+
type: 'vscode'
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
'CLION_EDITOR',
|
|
25
|
+
{
|
|
26
|
+
environmentId: 'CLION_EDITOR',
|
|
27
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-clion-server/latest"]',
|
|
28
|
+
name: 'CLion',
|
|
29
|
+
type: 'intellij'
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
'GOLAND_EDITOR',
|
|
34
|
+
{
|
|
35
|
+
environmentId: 'GOLAND_EDITOR',
|
|
36
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-goland-server/latest"]',
|
|
37
|
+
name: 'GoLand',
|
|
38
|
+
type: 'intellij'
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
'INTELLIJ_IDEA_EDITOR',
|
|
43
|
+
{
|
|
44
|
+
environmentId: 'INTELLIJ_IDEA_EDITOR',
|
|
45
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-idea-server/latest"]',
|
|
46
|
+
name: 'IntelliJ IDEA',
|
|
47
|
+
type: 'intellij'
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
'PHPSTORM_EDITOR',
|
|
52
|
+
{
|
|
53
|
+
environmentId: 'PHPSTORM_EDITOR',
|
|
54
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-phpstorm-server/latest"]',
|
|
55
|
+
name: 'PhpStorm',
|
|
56
|
+
type: 'intellij'
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
'PYCHARM_EDITOR',
|
|
61
|
+
{
|
|
62
|
+
environmentId: 'PYCHARM_EDITOR',
|
|
63
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-pycharm-server/latest"]',
|
|
64
|
+
name: 'PyCharm',
|
|
65
|
+
type: 'intellij'
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
[
|
|
69
|
+
'RIDER_EDITOR',
|
|
70
|
+
{
|
|
71
|
+
environmentId: 'RIDER_EDITOR',
|
|
72
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-rider-server/latest"]',
|
|
73
|
+
name: 'Rider',
|
|
74
|
+
type: 'intellij'
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
[
|
|
78
|
+
'RUBYMINE_EDITOR',
|
|
79
|
+
{
|
|
80
|
+
environmentId: 'RUBYMINE_EDITOR',
|
|
81
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-rubymine-server/latest"]',
|
|
82
|
+
name: 'RubyMine',
|
|
83
|
+
type: 'intellij'
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
'WEBSTORM_EDITOR',
|
|
88
|
+
{
|
|
89
|
+
environmentId: 'WEBSTORM_EDITOR',
|
|
90
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-webstorm-server/latest"]',
|
|
91
|
+
name: 'WebStorm',
|
|
92
|
+
type: 'intellij'
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
[
|
|
96
|
+
'KIRO_EDITOR',
|
|
97
|
+
{
|
|
98
|
+
environmentId: 'KIRO_EDITOR',
|
|
99
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/che-code-sshd-kiro/latest"]',
|
|
100
|
+
name: 'Kiro',
|
|
101
|
+
type: 'vscode'
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
[
|
|
105
|
+
'JETBRAINS_SSH_EDITOR',
|
|
106
|
+
{
|
|
107
|
+
environmentId: 'JETBRAINS_SSH_EDITOR',
|
|
108
|
+
xpath: '//*[@id="editor-selector-card-che-incubator/jetbrains-sshd/latest"]',
|
|
109
|
+
name: 'JetBrains Toolbox App',
|
|
110
|
+
type: 'intellij'
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
]);
|
|
114
|
+
//# sourceMappingURL=EDITOR_CONSTANTS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EDITOR_CONSTANTS.js","sourceRoot":"","sources":["../../constants/EDITOR_CONSTANTS.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;AAW3D,QAAA,WAAW,GAA8B,IAAI,GAAG,CAAC;IAC7D;QACC,2BAA2B;QAC3B;YACC,aAAa,EAAE,2BAA2B;YAC1C,KAAK,EAAE,oEAAoE;YAC3E,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,QAAQ;SACd;KACD;IACD;QACC,cAAc;QACd;YACC,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE,uEAAuE;YAC9E,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,eAAe;QACf;YACC,aAAa,EAAE,eAAe;YAC9B,KAAK,EAAE,wEAAwE;YAC/E,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,sBAAsB;QACtB;YACC,aAAa,EAAE,sBAAsB;YACrC,KAAK,EAAE,sEAAsE;YAC7E,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,iBAAiB;QACjB;YACC,aAAa,EAAE,iBAAiB;YAChC,KAAK,EAAE,0EAA0E;YACjF,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,gBAAgB;QAChB;YACC,aAAa,EAAE,gBAAgB;YAC/B,KAAK,EAAE,yEAAyE;YAChF,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,cAAc;QACd;YACC,aAAa,EAAE,cAAc;YAC7B,KAAK,EAAE,uEAAuE;YAC9E,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,iBAAiB;QACjB;YACC,aAAa,EAAE,iBAAiB;YAChC,KAAK,EAAE,0EAA0E;YACjF,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,iBAAiB;QACjB;YACC,aAAa,EAAE,iBAAiB;YAChC,KAAK,EAAE,0EAA0E;YACjF,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SAChB;KACD;IACD;QACC,aAAa;QACb;YACC,aAAa,EAAE,aAAa;YAC5B,KAAK,EAAE,yEAAyE;YAChF,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;SACd;KACD;IACD;QACC,sBAAsB;QACtB;YACC,aAAa,EAAE,sBAAsB;YACrC,KAAK,EAAE,qEAAqE;YAC5E,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,UAAU;SAChB;KACD;CACD,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -58,6 +58,7 @@ __exportStar(require("./pageobjects/dashboard/UserPreferences"), exports);
|
|
|
58
58
|
__exportStar(require("./pageobjects/dashboard/Workspaces"), exports);
|
|
59
59
|
__exportStar(require("./pageobjects/dashboard/workspace-details/WorkspaceDetails"), exports);
|
|
60
60
|
__exportStar(require("./pageobjects/git-providers/OauthPage"), exports);
|
|
61
|
+
__exportStar(require("./pageobjects/ide/AiCodeSignInDialog"), exports);
|
|
61
62
|
__exportStar(require("./pageobjects/ide/CheCodeLocatorLoader"), exports);
|
|
62
63
|
__exportStar(require("./pageobjects/ide/CommandPalette"), exports);
|
|
63
64
|
__exportStar(require("./pageobjects/ide/ExplorerView"), exports);
|
|
@@ -86,6 +87,7 @@ __exportStar(require("./tests-library/WorkspaceHandlingTests"), exports);
|
|
|
86
87
|
__exportStar(require("./constants/API_TEST_CONSTANTS"), exports);
|
|
87
88
|
__exportStar(require("./constants/BASE_TEST_CONSTANTS"), exports);
|
|
88
89
|
__exportStar(require("./constants/CHROME_DRIVER_CONSTANTS"), exports);
|
|
90
|
+
__exportStar(require("./constants/EDITOR_CONSTANTS"), exports);
|
|
89
91
|
__exportStar(require("./constants/FACTORY_TEST_CONSTANTS"), exports);
|
|
90
92
|
__exportStar(require("./constants/MOCHA_CONSTANTS"), exports);
|
|
91
93
|
__exportStar(require("./constants/MONACO_CONSTANTS"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,8EAA4D;AAC5D,6EAA2D;AAC3D,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,gFAA8D;AAC9D,0GAAwF;AACxF,+FAA6E;AAC7E,mEAAiD;AACjD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,2EAAyD;AACzD,0EAAwD;AACxD,qEAAmD;AACnD,6FAA2E;AAC3E,wEAAsD;AACtD,yEAAuD;AACvD,mEAAiD;AACjD,iEAA+C;AAC/C,mEAAiD;AACjD,0EAAwD;AACxD,wEAAsD;AACtD,yEAAuD;AACvD,sEAAoD;AACpD,2EAAyD;AACzD,+EAA6D;AAC7D,+EAA6D;AAC7D,8EAA4D;AAC5D,qFAAmE;AACnE,6EAA2D;AAC3D,mFAAiE;AACjE,iFAA+D;AAC/D,gFAA8D;AAC9D,2FAAyE;AACzE,6EAA2D;AAC3D,+EAA6D;AAC7D,sEAAoD;AACpD,4EAA0D;AAC1D,6DAA2C;AAC3C,sEAAoD;AACpD,yEAAuD;AACvD,iEAA+C;AAC/C,kEAAgD;AAChD,sEAAoD;AACpD,qEAAmD;AACnD,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA8D;AACrD,0CAAe;AACxB,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,mDAAiC;AACjC,0DAAwC;AACxC,0EAAwD;AACxD,yDAAuC;AACvC,uDAAqC;AACrC,yDAAuC;AACvC,8EAA4D;AAC5D,6EAA2D;AAC3D,iDAA+B;AAC/B,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,gFAA8D;AAC9D,0GAAwF;AACxF,+FAA6E;AAC7E,mEAAiD;AACjD,uEAAqD;AACrD,sEAAoD;AACpD,oEAAkD;AAClD,0EAAwD;AACxD,oEAAkD;AAClD,2EAAyD;AACzD,0EAAwD;AACxD,qEAAmD;AACnD,6FAA2E;AAC3E,wEAAsD;AACtD,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD;AACjD,iEAA+C;AAC/C,mEAAiD;AACjD,0EAAwD;AACxD,wEAAsD;AACtD,yEAAuD;AACvD,sEAAoD;AACpD,2EAAyD;AACzD,+EAA6D;AAC7D,+EAA6D;AAC7D,8EAA4D;AAC5D,qFAAmE;AACnE,6EAA2D;AAC3D,mFAAiE;AACjE,iFAA+D;AAC/D,gFAA8D;AAC9D,2FAAyE;AACzE,6EAA2D;AAC3D,+EAA6D;AAC7D,sEAAoD;AACpD,4EAA0D;AAC1D,6DAA2C;AAC3C,sEAAoD;AACpD,yEAAuD;AACvD,iEAA+C;AAC/C,kEAAgD;AAChD,sEAAoD;AACpD,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,+DAA6C;AAC7C,8DAA4C;AAC5C,oEAAkD;AAClD,iEAA+C;AAC/C,gEAA8C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var AiCodeSignInDialog_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AiCodeSignInDialog = void 0;
|
|
17
|
+
/** *******************************************************************
|
|
18
|
+
* copyright (c) 2025 Red Hat, Inc.
|
|
19
|
+
*
|
|
20
|
+
* This program and the accompanying materials are made
|
|
21
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
22
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
23
|
+
*
|
|
24
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
25
|
+
**********************************************************************/
|
|
26
|
+
const inversify_1 = require("inversify");
|
|
27
|
+
require("reflect-metadata");
|
|
28
|
+
const inversify_types_1 = require("../../configs/inversify.types");
|
|
29
|
+
const DriverHelper_1 = require("../../utils/DriverHelper");
|
|
30
|
+
const Logger_1 = require("../../utils/Logger");
|
|
31
|
+
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
32
|
+
let AiCodeSignInDialog = AiCodeSignInDialog_1 = class AiCodeSignInDialog {
|
|
33
|
+
constructor(driverHelper) {
|
|
34
|
+
this.driverHelper = driverHelper;
|
|
35
|
+
}
|
|
36
|
+
async isDialogVisible() {
|
|
37
|
+
Logger_1.Logger.debug();
|
|
38
|
+
return await this.driverHelper.waitVisibilityBoolean(AiCodeSignInDialog_1.OVERLAY_LOCATOR);
|
|
39
|
+
}
|
|
40
|
+
async closeDialog() {
|
|
41
|
+
Logger_1.Logger.debug();
|
|
42
|
+
await this.driverHelper.waitAndClick(AiCodeSignInDialog_1.SKIP_BUTTON_LOCATOR);
|
|
43
|
+
await this.driverHelper.waitDisappearance(AiCodeSignInDialog_1.OVERLAY_LOCATOR);
|
|
44
|
+
Logger_1.Logger.debug('AI-powered development sign in dialog skipped');
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
AiCodeSignInDialog.OVERLAY_LOCATOR = monaco_page_objects_1.By.css('div.onboarding-a-overlay.visible');
|
|
48
|
+
AiCodeSignInDialog.SKIP_BUTTON_LOCATOR = monaco_page_objects_1.By.css('div.onboarding-a-overlay button.onboarding-a-btn-ghost');
|
|
49
|
+
AiCodeSignInDialog = AiCodeSignInDialog_1 = __decorate([
|
|
50
|
+
(0, inversify_1.injectable)(),
|
|
51
|
+
__param(0, (0, inversify_1.inject)(inversify_types_1.CLASSES.DriverHelper)),
|
|
52
|
+
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper])
|
|
53
|
+
], AiCodeSignInDialog);
|
|
54
|
+
exports.AiCodeSignInDialog = AiCodeSignInDialog;
|
|
55
|
+
//# sourceMappingURL=AiCodeSignInDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiCodeSignInDialog.js","sourceRoot":"","sources":["../../../pageobjects/ide/AiCodeSignInDialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;wEAQwE;AACxE,yCAA+C;AAC/C,4BAA0B;AAC1B,mEAAwD;AACxD,2DAAwD;AACxD,+CAA4C;AAC5C,6DAAyC;AAGlC,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAI9B,YAEkB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAEJ,KAAK,CAAC,eAAe;QACpB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,oBAAkB,CAAC,eAAe,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,eAAM,CAAC,KAAK,EAAE,CAAC;QAEf,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,oBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,oBAAkB,CAAC,eAAe,CAAC,CAAC;QAC9E,eAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;;AApBuB,kCAAe,GAAO,wBAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACjE,sCAAmB,GAAO,wBAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;AAFvG,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;IAMV,WAAA,IAAA,kBAAM,EAAC,yBAAO,CAAC,YAAY,CAAC,CAAA;qCACE,2BAAY;GANhC,kBAAkB,CAsB9B;AAtBY,gDAAkB"}
|
|
@@ -15,18 +15,37 @@ const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingT
|
|
|
15
15
|
const chai_1 = require("chai");
|
|
16
16
|
const Logger_1 = require("../../utils/Logger");
|
|
17
17
|
const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const EDITOR_CONSTANTS_1 = require("../../constants/EDITOR_CONSTANTS");
|
|
19
|
+
suite('Check all editors with all samples', function () {
|
|
20
|
+
this.timeout(24000000);
|
|
20
21
|
const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
|
|
21
22
|
const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
|
|
22
23
|
const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
|
|
23
24
|
const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
|
|
24
25
|
const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
|
|
25
|
-
const vsCodeDesktopSshEditor = '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]';
|
|
26
26
|
const useExtensionSwitcher = '//label[@class="switch"]';
|
|
27
|
-
const
|
|
27
|
+
const intellijTitleXpath = '/html/body/h1';
|
|
28
|
+
const vsCodeTitleXpath = '//div[@class="header-title"]';
|
|
28
29
|
let currentTabHandle = 'undefined';
|
|
29
|
-
const
|
|
30
|
+
const pollingForCheckTitleVSCode = 100;
|
|
31
|
+
const pollingForCheckTitleIntelliJ = 500;
|
|
32
|
+
// filter editors based on environment variables
|
|
33
|
+
const selectAllEditors = process.env.SELECT_ALL_EDITORS === 'true';
|
|
34
|
+
let editorsForCheck;
|
|
35
|
+
if (selectAllEditors) {
|
|
36
|
+
editorsForCheck = Array.from(EDITOR_CONSTANTS_1.ALL_EDITORS.values());
|
|
37
|
+
Logger_1.Logger.info('SELECT_ALL_EDITORS is true - running tests for all editors');
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
editorsForCheck = Array.from(EDITOR_CONSTANTS_1.ALL_EDITORS.values()).filter((editor) => {
|
|
41
|
+
const envValue = process.env[editor.environmentId];
|
|
42
|
+
return envValue === 'true';
|
|
43
|
+
});
|
|
44
|
+
Logger_1.Logger.info(`Running tests for selected editors: ${editorsForCheck.map((e) => e.name).join(', ')}`);
|
|
45
|
+
if (editorsForCheck.length === 0) {
|
|
46
|
+
chai_1.assert.fail('No editors selected via environment variables');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
30
49
|
const samplesForCheck = [
|
|
31
50
|
'Empty Workspace',
|
|
32
51
|
'JBoss EAP 8.0',
|
|
@@ -42,11 +61,13 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
|
|
|
42
61
|
];
|
|
43
62
|
const gitRepoUrlsToCheck = [
|
|
44
63
|
'https://github.com/crw-qe/quarkus-api-example-public/tree/ubi8-latest',
|
|
45
|
-
'https://github.com/crw-qe/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
64
|
+
'https://github.com/crw-qe/ubi9-based-sample-public/tree/ubi9-minimal',
|
|
65
|
+
'https://github.com/crw-qe/ubi10-based-sample-public/tree/main'
|
|
46
66
|
];
|
|
47
67
|
const gitRepoUrlsToCheckAirgap = [
|
|
48
68
|
'https://gh.crw-qe.com/test-automation-only/ubi8/tree/ubi8-latest',
|
|
49
|
-
'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal'
|
|
69
|
+
'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal',
|
|
70
|
+
'https://gh.crw-qe.com/test-automation-only/ubi10-based-sample-public/tree/main'
|
|
50
71
|
];
|
|
51
72
|
suiteSetup('Login into Che', async function () {
|
|
52
73
|
await loginTests.loginIntoChe();
|
|
@@ -60,64 +81,80 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
|
|
|
60
81
|
function clearCurrentTabHandle() {
|
|
61
82
|
currentTabHandle = 'undefined';
|
|
62
83
|
}
|
|
63
|
-
async function
|
|
64
|
-
|
|
65
|
-
currentTabHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
66
|
-
await dashboard.clickCreateWorkspaceButton();
|
|
67
|
-
if (isUrl) {
|
|
68
|
-
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath, pollingForCheckTitle);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath, pollingForCheckTitle);
|
|
72
|
-
}
|
|
73
|
-
// read page
|
|
84
|
+
async function verifyVSCodeEditor() {
|
|
85
|
+
Logger_1.Logger.debug();
|
|
74
86
|
const pageTextBeforeUseExtensionSwitcher = await driverHelper.getDriver().executeScript('return document.body.innerText;');
|
|
75
|
-
// click on "Use Extension" switcher
|
|
76
87
|
await clickOnElementByXpath(useExtensionSwitcher);
|
|
77
|
-
// read page
|
|
78
88
|
const pageTextAfterUseExtensionSwitcher = await driverHelper.getDriver().executeScript('return document.body.innerText;');
|
|
79
|
-
// checks for "Install extensions" state
|
|
80
89
|
(0, chai_1.expect)(pageTextBeforeUseExtensionSwitcher).contains('Install the following VS Code extensions');
|
|
81
|
-
Logger_1.Logger.
|
|
90
|
+
Logger_1.Logger.debug('"Install the following VS Code extensions" was found in page before "Use Extension" clicked');
|
|
82
91
|
(0, chai_1.expect)(pageTextBeforeUseExtensionSwitcher).contains('Workspace ' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running');
|
|
83
|
-
Logger_1.Logger.
|
|
84
|
-
// checks for SSH state
|
|
92
|
+
Logger_1.Logger.debug('Workspace name "' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running" was found before "Use Extension" clicked');
|
|
85
93
|
(0, chai_1.expect)(pageTextAfterUseExtensionSwitcher).contains('Workspace ' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running');
|
|
86
|
-
Logger_1.Logger.
|
|
94
|
+
Logger_1.Logger.debug('Workspace name "' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running" was found after "Use Extension" clicked');
|
|
87
95
|
(0, chai_1.expect)(pageTextAfterUseExtensionSwitcher).contains('oc port-forward -n admin-devspaces');
|
|
88
|
-
Logger_1.Logger.
|
|
96
|
+
Logger_1.Logger.debug('"oc port-forward -n admin-devspaces" was found');
|
|
89
97
|
(0, chai_1.expect)(pageTextAfterUseExtensionSwitcher)
|
|
90
98
|
.contains('-----BEGIN OPENSSH PRIVATE KEY-----')
|
|
91
99
|
.and.contains('-----END OPENSSH PRIVATE KEY-----');
|
|
92
|
-
Logger_1.Logger.
|
|
100
|
+
Logger_1.Logger.debug('SSH private key (BEGIN and END markers) was found');
|
|
93
101
|
(0, chai_1.expect)(pageTextAfterUseExtensionSwitcher)
|
|
94
102
|
.contains('HostName')
|
|
95
103
|
.and.contains('User')
|
|
96
104
|
.and.contains('Port')
|
|
97
105
|
.and.contains('IdentityFile')
|
|
98
106
|
.and.contains('UserKnownHostsFile');
|
|
99
|
-
Logger_1.Logger.
|
|
107
|
+
Logger_1.Logger.debug('SSH config parameters (HostName, User, Port, IdentityFile, UserKnownHostsFile) were found');
|
|
108
|
+
}
|
|
109
|
+
async function verifyIntelliJEditor(titleXpath) {
|
|
110
|
+
Logger_1.Logger.debug();
|
|
111
|
+
const headerText = await workspaceHandlingTests.getTextFromUIElementByXpath(titleXpath);
|
|
112
|
+
(0, chai_1.expect)('Workspace ' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running').equal(headerText);
|
|
113
|
+
Logger_1.Logger.debug('Workspace title verified for IntelliJ editor: ' + headerText);
|
|
114
|
+
}
|
|
115
|
+
async function testWorkspaceStartup(editorXpath, editorType, sampleNameOrUrl, isUrl) {
|
|
116
|
+
await dashboard.openDashboard();
|
|
117
|
+
currentTabHandle = await browserTabsUtil.getCurrentWindowHandle();
|
|
118
|
+
await dashboard.clickCreateWorkspaceButton();
|
|
119
|
+
const pollingForCheckTitle = editorType === 'vscode' ? pollingForCheckTitleVSCode : pollingForCheckTitleIntelliJ;
|
|
120
|
+
const titleXpath = editorType === 'vscode' ? vsCodeTitleXpath : intellijTitleXpath;
|
|
121
|
+
if (isUrl) {
|
|
122
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(editorXpath, sampleNameOrUrl, titleXpath, pollingForCheckTitle);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(editorXpath, sampleNameOrUrl, titleXpath, pollingForCheckTitle);
|
|
126
|
+
}
|
|
127
|
+
if (editorType === 'vscode') {
|
|
128
|
+
await verifyVSCodeEditor();
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
await verifyIntelliJEditor(titleXpath);
|
|
132
|
+
}
|
|
100
133
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
134
|
+
editorsForCheck.forEach((editor) => {
|
|
135
|
+
samplesForCheck.forEach((sampleName) => {
|
|
136
|
+
test(`Test start of ${editor.name} with sample: ${sampleName}`, async function () {
|
|
137
|
+
await testWorkspaceStartup(editor.xpath, editor.type, sampleName, false);
|
|
138
|
+
});
|
|
104
139
|
});
|
|
105
140
|
});
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
141
|
+
editorsForCheck.forEach((editor) => {
|
|
142
|
+
if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
|
|
143
|
+
Logger_1.Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
|
|
144
|
+
gitRepoUrlsToCheckAirgap.forEach((url) => {
|
|
145
|
+
test(`Test start of ${editor.name} with ubi url: ${url}`, async function () {
|
|
146
|
+
await testWorkspaceStartup(editor.xpath, editor.type, url, true);
|
|
147
|
+
});
|
|
111
148
|
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
gitRepoUrlsToCheck.forEach((url) => {
|
|
152
|
+
test(`Test start of ${editor.name} with ubi url: ${url}`, async function () {
|
|
153
|
+
await testWorkspaceStartup(editor.xpath, editor.type, url, true);
|
|
154
|
+
});
|
|
118
155
|
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
156
|
+
}
|
|
157
|
+
});
|
|
121
158
|
teardown('Delete DevWorkspace', async function () {
|
|
122
159
|
Logger_1.Logger.info('Delete DevWorkspace. After each test.');
|
|
123
160
|
if (currentTabHandle !== 'undefined') {
|
|
@@ -133,4 +170,4 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
|
|
|
133
170
|
clearCurrentTabHandle();
|
|
134
171
|
});
|
|
135
172
|
});
|
|
136
|
-
//# sourceMappingURL=
|
|
173
|
+
//# sourceMappingURL=StartWorkspaceUsingDesktopEditors.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartWorkspaceUsingDesktopEditors.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/StartWorkspaceUsingDesktopEditors.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,12 +33,14 @@ const CheCodeLocatorLoader_1 = require("../pageobjects/ide/CheCodeLocatorLoader"
|
|
|
33
33
|
const monaco_page_objects_1 = require("monaco-page-objects");
|
|
34
34
|
const WorkspaceHandlingTests_1 = require("../tests-library/WorkspaceHandlingTests");
|
|
35
35
|
const RestrictedModeButton_1 = require("../pageobjects/ide/RestrictedModeButton");
|
|
36
|
+
const AiCodeSignInDialog_1 = require("../pageobjects/ide/AiCodeSignInDialog");
|
|
36
37
|
let ProjectAndFileTests = ProjectAndFileTests_1 = class ProjectAndFileTests {
|
|
37
|
-
constructor(driverHelper, cheCodeLocatorLoader, workspaceHandlingTests, restrictedModeButton) {
|
|
38
|
+
constructor(driverHelper, cheCodeLocatorLoader, workspaceHandlingTests, restrictedModeButton, aiCodeSignInDialog) {
|
|
38
39
|
this.driverHelper = driverHelper;
|
|
39
40
|
this.cheCodeLocatorLoader = cheCodeLocatorLoader;
|
|
40
41
|
this.workspaceHandlingTests = workspaceHandlingTests;
|
|
41
42
|
this.restrictedModeButton = restrictedModeButton;
|
|
43
|
+
this.aiCodeSignInDialog = aiCodeSignInDialog;
|
|
42
44
|
}
|
|
43
45
|
async waitWorkspaceReadinessForCheCodeEditor() {
|
|
44
46
|
Logger_1.Logger.debug('waiting for editor.');
|
|
@@ -47,6 +49,7 @@ let ProjectAndFileTests = ProjectAndFileTests_1 = class ProjectAndFileTests {
|
|
|
47
49
|
await this.driverHelper.waitVisibility(this.cheCodeLocatorLoader.webCheCodeLocators.Workbench.constructor, TIMEOUT_CONSTANTS_1.TIMEOUT_CONSTANTS.TS_IDE_START_TIMEOUT);
|
|
48
50
|
const end = new Date().getTime();
|
|
49
51
|
Logger_1.Logger.debug(`editor was opened in ${end - start} seconds.`);
|
|
52
|
+
await this.dismissAiCodeSignInDialog();
|
|
50
53
|
}
|
|
51
54
|
catch (err) {
|
|
52
55
|
Logger_1.Logger.error(`waiting for workspace readiness failed: ${err}`);
|
|
@@ -97,6 +100,20 @@ let ProjectAndFileTests = ProjectAndFileTests_1 = class ProjectAndFileTests {
|
|
|
97
100
|
Logger_1.Logger.info('"Do you trust the publisher?" dialog box was not shown');
|
|
98
101
|
}
|
|
99
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* dismiss 'Sign in to continue with AI-powered development' dialog, when it appears
|
|
105
|
+
*/
|
|
106
|
+
async dismissAiCodeSignInDialog() {
|
|
107
|
+
Logger_1.Logger.debug();
|
|
108
|
+
try {
|
|
109
|
+
if (await this.aiCodeSignInDialog.isDialogVisible()) {
|
|
110
|
+
await this.aiCodeSignInDialog.closeDialog();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
Logger_1.Logger.info('"Sign in to continue with AI-powered development" dialog was not shown');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
100
117
|
/**
|
|
101
118
|
* perform to 'Trust' dialog boxes, when they appear
|
|
102
119
|
*/
|
|
@@ -192,10 +209,12 @@ ProjectAndFileTests = ProjectAndFileTests_1 = __decorate([
|
|
|
192
209
|
__param(1, (0, inversify_1.inject)(inversify_types_1.CLASSES.CheCodeLocatorLoader)),
|
|
193
210
|
__param(2, (0, inversify_1.inject)(inversify_types_1.CLASSES.WorkspaceHandlingTests)),
|
|
194
211
|
__param(3, (0, inversify_1.inject)(inversify_types_1.CLASSES.RestrictedModeButton)),
|
|
212
|
+
__param(4, (0, inversify_1.inject)(inversify_types_1.CLASSES.AiCodeSignInDialog)),
|
|
195
213
|
__metadata("design:paramtypes", [DriverHelper_1.DriverHelper,
|
|
196
214
|
CheCodeLocatorLoader_1.CheCodeLocatorLoader,
|
|
197
215
|
WorkspaceHandlingTests_1.WorkspaceHandlingTests,
|
|
198
|
-
RestrictedModeButton_1.RestrictedModeButton
|
|
216
|
+
RestrictedModeButton_1.RestrictedModeButton,
|
|
217
|
+
AiCodeSignInDialog_1.AiCodeSignInDialog])
|
|
199
218
|
], ProjectAndFileTests);
|
|
200
219
|
exports.ProjectAndFileTests = ProjectAndFileTests;
|
|
201
220
|
//# sourceMappingURL=ProjectAndFileTests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectAndFileTests.js","sourceRoot":"","sources":["../../tests-library/ProjectAndFileTests.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;;;;;;;;;;;;AAExE,4BAA0B;AAC1B,yCAA+C;AAC/C,wDAAqD;AACrD,gEAAqD;AACrD,4CAAyC;AACzC,sEAAmE;AACnE,kFAA+E;AAC/E,6DAAiH;AACjH,oFAAiF;AACjF,kFAA+E;
|
|
1
|
+
{"version":3,"file":"ProjectAndFileTests.js","sourceRoot":"","sources":["../../tests-library/ProjectAndFileTests.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -29,6 +29,7 @@ export * from './pageobjects/dashboard/UserPreferences';
|
|
|
29
29
|
export * from './pageobjects/dashboard/Workspaces';
|
|
30
30
|
export * from './pageobjects/dashboard/workspace-details/WorkspaceDetails';
|
|
31
31
|
export * from './pageobjects/git-providers/OauthPage';
|
|
32
|
+
export * from './pageobjects/ide/AiCodeSignInDialog';
|
|
32
33
|
export * from './pageobjects/ide/CheCodeLocatorLoader';
|
|
33
34
|
export * from './pageobjects/ide/CommandPalette';
|
|
34
35
|
export * from './pageobjects/ide/ExplorerView';
|
|
@@ -57,6 +58,7 @@ export * from './tests-library/WorkspaceHandlingTests';
|
|
|
57
58
|
export * from './constants/API_TEST_CONSTANTS';
|
|
58
59
|
export * from './constants/BASE_TEST_CONSTANTS';
|
|
59
60
|
export * from './constants/CHROME_DRIVER_CONSTANTS';
|
|
61
|
+
export * from './constants/EDITOR_CONSTANTS';
|
|
60
62
|
export * from './constants/FACTORY_TEST_CONSTANTS';
|
|
61
63
|
export * from './constants/MOCHA_CONSTANTS';
|
|
62
64
|
export * from './constants/MONACO_CONSTANTS';
|
package/package.json
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** *******************************************************************
|
|
2
|
+
* copyright (c) 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 { inject, injectable } from 'inversify';
|
|
11
|
+
import 'reflect-metadata';
|
|
12
|
+
import { CLASSES } from '../../configs/inversify.types';
|
|
13
|
+
import { DriverHelper } from '../../utils/DriverHelper';
|
|
14
|
+
import { Logger } from '../../utils/Logger';
|
|
15
|
+
import { By } from 'monaco-page-objects';
|
|
16
|
+
|
|
17
|
+
@injectable()
|
|
18
|
+
export class AiCodeSignInDialog {
|
|
19
|
+
private static readonly OVERLAY_LOCATOR: By = By.css('div.onboarding-a-overlay.visible');
|
|
20
|
+
private static readonly SKIP_BUTTON_LOCATOR: By = By.css('div.onboarding-a-overlay button.onboarding-a-btn-ghost');
|
|
21
|
+
|
|
22
|
+
constructor(
|
|
23
|
+
@inject(CLASSES.DriverHelper)
|
|
24
|
+
private readonly driverHelper: DriverHelper
|
|
25
|
+
) {}
|
|
26
|
+
|
|
27
|
+
async isDialogVisible(): Promise<boolean> {
|
|
28
|
+
Logger.debug();
|
|
29
|
+
|
|
30
|
+
return await this.driverHelper.waitVisibilityBoolean(AiCodeSignInDialog.OVERLAY_LOCATOR);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async closeDialog(): Promise<void> {
|
|
34
|
+
Logger.debug();
|
|
35
|
+
|
|
36
|
+
await this.driverHelper.waitAndClick(AiCodeSignInDialog.SKIP_BUTTON_LOCATOR);
|
|
37
|
+
await this.driverHelper.waitDisappearance(AiCodeSignInDialog.OVERLAY_LOCATOR);
|
|
38
|
+
Logger.debug('AI-powered development sign in dialog skipped');
|
|
39
|
+
}
|
|
40
|
+
}
|