@eclipse-che/che-e2e 7.118.0-next-017477d → 7.118.0-next-0435d2e

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.
@@ -8,31 +8,25 @@
8
8
  *
9
9
  * SPDX-License-Identifier: EPL-2.0
10
10
  **********************************************************************/
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const fs_1 = __importDefault(require("fs"));
16
- const path_1 = __importDefault(require("path"));
17
- const yaml_1 = __importDefault(require("yaml"));
18
12
  const inversify_config_1 = require("../../configs/inversify.config");
19
13
  const inversify_types_1 = require("../../configs/inversify.types");
20
14
  const WorkspaceHandlingTests_1 = require("../../tests-library/WorkspaceHandlingTests");
21
15
  const chai_1 = require("chai");
22
16
  const Logger_1 = require("../../utils/Logger");
23
17
  const BASE_TEST_CONSTANTS_1 = require("../../constants/BASE_TEST_CONSTANTS");
18
+ const selenium_webdriver_1 = require("selenium-webdriver");
24
19
  suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
25
20
  this.timeout(6000000);
26
21
  const workspaceHandlingTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.WorkspaceHandlingTests);
27
- const pathToSampleFile = path_1.default.resolve('resources/default-devfile.yaml');
28
- const workspaceName = yaml_1.default.parse(fs_1.default.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
29
- const kubernetesCommandLineToolsExecutor = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.KubernetesCommandLineToolsExecutor);
30
- kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
31
22
  const loginTests = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.LoginTests);
32
23
  const dashboard = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.Dashboard);
33
24
  const browserTabsUtil = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.BrowserTabsUtil);
25
+ const driverHelper = inversify_config_1.e2eContainer.get(inversify_types_1.CLASSES.DriverHelper);
34
26
  const vsCodeDesktopSshEditor = '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]';
35
- const titlexPath = '/html/body/h1';
27
+ const useExtensionSwitcher = '//label[@class="switch"]';
28
+ const useExtensionPageId = '//div[@id="docs-parent"]';
29
+ const titlexPath = '//div[@class="header-title"]';
36
30
  const ocPortForwardxPath = '//*[@id="port-forward"]';
37
31
  const sshKeyxPath = '//*[@id="key"]';
38
32
  const sshKonfigxPath = '//*[@id="config"]';
@@ -57,23 +51,26 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
57
51
  'https://gh.crw-qe.com/test-automation-only/ubi8/tree/ubi8-latest',
58
52
  'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal'
59
53
  ];
60
- async function deleteWorkspace() {
61
- await dashboard.openDashboard();
62
- await browserTabsUtil.closeAllTabsExceptCurrent();
63
- await dashboard.stopAndRemoveWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
64
- WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
65
- }
66
54
  suiteSetup('Login into Che', async function () {
67
55
  await loginTests.loginIntoChe();
68
56
  });
57
+ async function clickOnElementByXpath(xpath) {
58
+ Logger_1.Logger.debug();
59
+ await driverHelper.waitAndClick(selenium_webdriver_1.By.xpath(xpath));
60
+ }
69
61
  async function testWorkspaceStartup(sampleNameOrUrl, isUrl) {
70
62
  await dashboard.openDashboard();
63
+ await dashboard.clickCreateWorkspaceButton();
71
64
  if (isUrl) {
72
65
  await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath);
73
66
  }
74
67
  else {
75
68
  await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndSample(vsCodeDesktopSshEditor, sampleNameOrUrl, titlexPath);
76
69
  }
70
+ const useExtensionPageText = await workspaceHandlingTests.getTextFromUIElementByXpath(useExtensionPageId);
71
+ (0, chai_1.expect)(useExtensionPageText).contains('Install the following VS Code extensions');
72
+ // toggle UseExtension switcher
73
+ await clickOnElementByXpath(useExtensionSwitcher);
77
74
  // check title
78
75
  const headerText = await workspaceHandlingTests.getTextFromUIElementByXpath(titlexPath);
79
76
  (0, chai_1.expect)('Workspace ' + WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() + ' is running').equal(headerText);
@@ -91,33 +88,36 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function () {
91
88
  .and.contains('Port')
92
89
  .and.contains('IdentityFile')
93
90
  .and.contains('UserKnownHostsFile');
94
- await deleteWorkspace();
95
91
  }
96
- test('Test start of VSCode (desktop) (SSH) with default Samples', async function () {
97
- for (const sampleName of samplesForCheck) {
92
+ samplesForCheck.forEach((sampleName) => {
93
+ test('Test start of VSCode (desktop) (SSH) with default Samples', async function () {
98
94
  await testWorkspaceStartup(sampleName, false);
99
- }
95
+ });
100
96
  });
101
- test('Test start of VSCode (desktop) (SSH) with ubi', async function () {
102
- if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
103
- Logger_1.Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
104
- for (const url of gitRepoUrlsToCheckAirgap) {
97
+ if (BASE_TEST_CONSTANTS_1.BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
98
+ Logger_1.Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
99
+ gitRepoUrlsToCheckAirgap.forEach((url) => {
100
+ test('Test start of VSCode (desktop) (SSH) with ubi', async function () {
105
101
  await testWorkspaceStartup(url, true);
106
- }
107
- }
108
- else {
109
- for (const url of gitRepoUrlsToCheck) {
102
+ });
103
+ });
104
+ }
105
+ else {
106
+ gitRepoUrlsToCheck.forEach((url) => {
107
+ test('Test start of VSCode (desktop) (SSH) with ubi', async function () {
110
108
  await testWorkspaceStartup(url, true);
111
- }
112
- }
113
- });
114
- suiteTeardown('Delete DevWorkspace', async function () {
115
- Logger_1.Logger.info('Deleting DevWorkspace... After all.');
109
+ });
110
+ });
111
+ }
112
+ teardown('Delete DevWorkspace', async function () {
113
+ Logger_1.Logger.info('Delete DevWorkspace. After each test.');
116
114
  await dashboard.openDashboard();
117
115
  await browserTabsUtil.closeAllTabsExceptCurrent();
118
116
  if (WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
117
+ Logger_1.Logger.info('Workspace name is defined. Deleting workspace...');
119
118
  await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests_1.WorkspaceHandlingTests.getWorkspaceName());
120
119
  }
120
+ WorkspaceHandlingTests_1.WorkspaceHandlingTests.clearWorkspaceName();
121
121
  });
122
122
  });
123
123
  //# sourceMappingURL=StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;wEAQwE;;;;;AAGxE,4CAAoB;AACpB,gDAAwB;AACxB,gDAAwB;AACxB,qEAA8D;AAC9D,mEAAwD;AAIxD,uFAAoF;AACpF,+BAA8B;AAC9B,+CAA4C;AAC5C,6EAA0E;AAE1E,KAAK,CAAC,2DAA2D,EAAE;IAClE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,sBAAsB,GAA2B,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,sBAAsB,CAAC,CAAC;IACxG,MAAM,gBAAgB,GAAW,cAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAChF,MAAM,aAAa,GAAW,cAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClG,MAAM,kCAAkC,GAAuC,+BAAY,CAAC,GAAG,CAC9F,yBAAO,CAAC,kCAAkC,CAC1C,CAAC;IACF,kCAAkC,CAAC,aAAa,GAAG,aAAa,CAAC;IACjE,MAAM,UAAU,GAAe,+BAAY,CAAC,GAAG,CAAC,yBAAO,CAAC,UAAU,CAAC,CAAC;IACpE,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,MAAM,sBAAsB,GAAW,oEAAoE,CAAC;IAC5G,MAAM,UAAU,GAAW,eAAe,CAAC;IAC3C,MAAM,kBAAkB,GAAW,yBAAyB,CAAC;IAC7D,MAAM,WAAW,GAAW,gBAAgB,CAAC;IAC7C,MAAM,cAAc,GAAW,mBAAmB,CAAC;IAEnD,MAAM,eAAe,GAAa;QACjC,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,iBAAiB;QACjB,QAAQ;QACR,kBAAkB;QAClB,MAAM;QACN,SAAS;QACT,OAAO;QACP,IAAI;QACJ,KAAK;KACL,CAAC;IAEF,MAAM,kBAAkB,GAAa;QACpC,uEAAuE;QACvE,sEAAsE;KACtE,CAAC;IAEF,MAAM,wBAAwB,GAAa;QAC1C,kEAAkE;QAClE,uFAAuF;KACvF,CAAC;IAEF,KAAK,UAAU,eAAe;QAC7B,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;QAClD,MAAM,SAAS,CAAC,0BAA0B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtF,+CAAsB,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,gBAAgB,EAAE,KAAK;QACjC,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,oBAAoB,CAAC,eAAuB,EAAE,KAAc;QAC1E,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,IAAI,KAAK,EAAE;YACV,MAAM,sBAAsB,CAAC,iDAAiD,CAC7E,sBAAsB,EACtB,eAAe,EACf,UAAU,CACV,CAAC;SACF;aAAM;YACN,MAAM,sBAAsB,CAAC,iDAAiD,CAC7E,sBAAsB,EACtB,eAAe,EACf,UAAU,CACV,CAAC;SACF;QAED,cAAc;QACd,MAAM,UAAU,GAAW,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,YAAY,GAAG,+CAAsB,CAAC,gBAAgB,EAAE,GAAG,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnG,2BAA2B;QAC3B,MAAM,aAAa,GAAW,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;QAC3G,IAAA,aAAM,EAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACrE,gBAAgB;QAChB,MAAM,MAAM,GAAW,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QAC7F,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACjH,mBAAmB;QACnB,MAAM,SAAS,GAAW,MAAM,sBAAsB,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACnG,IAAA,aAAM,EAAC,SAAS,CAAC;aACf,QAAQ,CAAC,UAAU,CAAC;aACpB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;aACpB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;aACpB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;aAC5B,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAErC,MAAM,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,2DAA2D,EAAE,KAAK;QACtE,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;YACzC,MAAM,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAC9C;IACF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK;QAC1D,IAAI,yCAAmB,CAAC,uBAAuB,EAAE,EAAE;YAClD,eAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC3E,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;gBAC3C,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACtC;SACD;aAAM;YACN,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE;gBACrC,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACtC;SACD;IACF,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,qBAAqB,EAAE,KAAK;QACzC,eAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,eAAe,CAAC,yBAAyB,EAAE,CAAC;QAClD,IAAI,+CAAsB,CAAC,gBAAgB,EAAE,KAAK,WAAW,EAAE;YAC9D,MAAM,SAAS,CAAC,0BAA0B,CAAC,+CAAsB,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACtF;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"StartWorkspaceUsingVSCodeDesktopSshEditor.spec.js","sourceRoot":"","sources":["../../../specs/dashboard-samples/StartWorkspaceUsingVSCodeDesktopSshEditor.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.118.0-next-017477d",
3
+ "version": "7.118.0-next-0435d2e",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -8,10 +8,6 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  **********************************************************************/
10
10
 
11
- import { KubernetesCommandLineToolsExecutor } from '../../utils/KubernetesCommandLineToolsExecutor';
12
- import fs from 'fs';
13
- import path from 'path';
14
- import YAML from 'yaml';
15
11
  import { e2eContainer } from '../../configs/inversify.config';
16
12
  import { CLASSES } from '../../configs/inversify.types';
17
13
  import { LoginTests } from '../../tests-library/LoginTests';
@@ -21,22 +17,23 @@ import { WorkspaceHandlingTests } from '../../tests-library/WorkspaceHandlingTes
21
17
  import { expect } from 'chai';
22
18
  import { Logger } from '../../utils/Logger';
23
19
  import { BASE_TEST_CONSTANTS } from '../../constants/BASE_TEST_CONSTANTS';
20
+ import { DriverHelper } from '../../utils/DriverHelper';
21
+ import { By } from 'selenium-webdriver';
24
22
 
25
23
  suite('Check Visual Studio Code (desktop) (SSH) with all samples', function (): void {
26
24
  this.timeout(6000000);
27
25
  const workspaceHandlingTests: WorkspaceHandlingTests = e2eContainer.get(CLASSES.WorkspaceHandlingTests);
28
- const pathToSampleFile: string = path.resolve('resources/default-devfile.yaml');
29
- const workspaceName: string = YAML.parse(fs.readFileSync(pathToSampleFile, 'utf8')).metadata.name;
30
- const kubernetesCommandLineToolsExecutor: KubernetesCommandLineToolsExecutor = e2eContainer.get(
31
- CLASSES.KubernetesCommandLineToolsExecutor
32
- );
33
- kubernetesCommandLineToolsExecutor.workspaceName = workspaceName;
34
26
  const loginTests: LoginTests = e2eContainer.get(CLASSES.LoginTests);
35
27
  const dashboard: Dashboard = e2eContainer.get(CLASSES.Dashboard);
36
28
  const browserTabsUtil: BrowserTabsUtil = e2eContainer.get(CLASSES.BrowserTabsUtil);
29
+ const driverHelper: DriverHelper = e2eContainer.get(CLASSES.DriverHelper);
37
30
 
38
31
  const vsCodeDesktopSshEditor: string = '//*[@id="editor-selector-card-che-incubator/che-code-sshd/latest"]';
39
- const titlexPath: string = '/html/body/h1';
32
+
33
+ const useExtensionSwitcher: string = '//label[@class="switch"]';
34
+ const useExtensionPageId: string = '//div[@id="docs-parent"]';
35
+
36
+ const titlexPath: string = '//div[@class="header-title"]';
40
37
  const ocPortForwardxPath: string = '//*[@id="port-forward"]';
41
38
  const sshKeyxPath: string = '//*[@id="key"]';
42
39
  const sshKonfigxPath: string = '//*[@id="config"]';
@@ -65,19 +62,19 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function ():
65
62
  'https://gh.crw-qe.com/test-automation-only/ubi9-based-sample-public/tree/ubi9-minimal'
66
63
  ];
67
64
 
68
- async function deleteWorkspace(): Promise<void> {
69
- await dashboard.openDashboard();
70
- await browserTabsUtil.closeAllTabsExceptCurrent();
71
- await dashboard.stopAndRemoveWorkspaceByUI(WorkspaceHandlingTests.getWorkspaceName());
72
- WorkspaceHandlingTests.clearWorkspaceName();
73
- }
74
-
75
65
  suiteSetup('Login into Che', async function (): Promise<void> {
76
66
  await loginTests.loginIntoChe();
77
67
  });
78
68
 
69
+ async function clickOnElementByXpath(xpath: string): Promise<void> {
70
+ Logger.debug();
71
+ await driverHelper.waitAndClick(By.xpath(xpath));
72
+ }
73
+
79
74
  async function testWorkspaceStartup(sampleNameOrUrl: string, isUrl: boolean): Promise<void> {
80
75
  await dashboard.openDashboard();
76
+ await dashboard.clickCreateWorkspaceButton();
77
+
81
78
  if (isUrl) {
82
79
  await workspaceHandlingTests.createAndOpenWorkspaceWithSpecificEditorAndGitUrl(
83
80
  vsCodeDesktopSshEditor,
@@ -92,6 +89,10 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function ():
92
89
  );
93
90
  }
94
91
 
92
+ const useExtensionPageText: string = await workspaceHandlingTests.getTextFromUIElementByXpath(useExtensionPageId);
93
+ expect(useExtensionPageText).contains('Install the following VS Code extensions');
94
+ // toggle UseExtension switcher
95
+ await clickOnElementByXpath(useExtensionSwitcher);
95
96
  // check title
96
97
  const headerText: string = await workspaceHandlingTests.getTextFromUIElementByXpath(titlexPath);
97
98
  expect('Workspace ' + WorkspaceHandlingTests.getWorkspaceName() + ' is running').equal(headerText);
@@ -109,35 +110,40 @@ suite('Check Visual Studio Code (desktop) (SSH) with all samples', function ():
109
110
  .and.contains('Port')
110
111
  .and.contains('IdentityFile')
111
112
  .and.contains('UserKnownHostsFile');
112
-
113
- await deleteWorkspace();
114
113
  }
115
114
 
116
- test('Test start of VSCode (desktop) (SSH) with default Samples', async function (): Promise<void> {
117
- for (const sampleName of samplesForCheck) {
115
+ samplesForCheck.forEach((sampleName): void => {
116
+ test('Test start of VSCode (desktop) (SSH) with default Samples', async function (): Promise<void> {
118
117
  await testWorkspaceStartup(sampleName, false);
119
- }
118
+ });
120
119
  });
121
120
 
122
- test('Test start of VSCode (desktop) (SSH) with ubi', async function (): Promise<void> {
123
- if (BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
124
- Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
125
- for (const url of gitRepoUrlsToCheckAirgap) {
121
+ if (BASE_TEST_CONSTANTS.IS_CLUSTER_DISCONNECTED()) {
122
+ Logger.info('Test cluster is disconnected. Using url for airgap cluster.');
123
+ gitRepoUrlsToCheckAirgap.forEach((url): void => {
124
+ test('Test start of VSCode (desktop) (SSH) with ubi', async function (): Promise<void> {
126
125
  await testWorkspaceStartup(url, true);
127
- }
128
- } else {
129
- for (const url of gitRepoUrlsToCheck) {
126
+ });
127
+ });
128
+ } else {
129
+ gitRepoUrlsToCheck.forEach((url): void => {
130
+ test('Test start of VSCode (desktop) (SSH) with ubi', async function (): Promise<void> {
130
131
  await testWorkspaceStartup(url, true);
131
- }
132
- }
133
- });
132
+ });
133
+ });
134
+ }
135
+
136
+ teardown('Delete DevWorkspace', async function (): Promise<void> {
137
+ Logger.info('Delete DevWorkspace. After each test.');
134
138
 
135
- suiteTeardown('Delete DevWorkspace', async function (): Promise<void> {
136
- Logger.info('Deleting DevWorkspace... After all.');
137
139
  await dashboard.openDashboard();
138
140
  await browserTabsUtil.closeAllTabsExceptCurrent();
141
+
139
142
  if (WorkspaceHandlingTests.getWorkspaceName() !== 'undefined') {
143
+ Logger.info('Workspace name is defined. Deleting workspace...');
140
144
  await dashboard.deleteStoppedWorkspaceByUI(WorkspaceHandlingTests.getWorkspaceName());
141
145
  }
146
+
147
+ WorkspaceHandlingTests.clearWorkspaceName();
142
148
  });
143
149
  });