@camunda/e2e-test-suite 0.0.35 → 0.0.37
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/dist/pages/8.6/ModelerCreatePage.d.ts +4 -0
- package/dist/pages/8.6/ModelerCreatePage.js +16 -0
- package/dist/pages/8.6/ModelerHomePage.d.ts +2 -0
- package/dist/pages/8.6/ModelerHomePage.js +9 -0
- package/dist/pages/8.6/UtilitiesPage.js +3 -2
- package/dist/pages/8.8/ClusterSecretsPage.d.ts +11 -5
- package/dist/pages/8.8/ClusterSecretsPage.js +45 -32
- package/dist/tests/8.6/smoke-tests.spec.js +15 -19
- package/dist/tests/8.8/connectors-user-flows.spec.js +83 -26
- package/dist/tests/8.8/idp-user-flows.spec.js +2 -2
- package/dist/tests/8.8/test-setup.spec.js +8 -6
- package/package.json +1 -1
|
@@ -89,6 +89,8 @@ declare class ModelerCreatePage {
|
|
|
89
89
|
readonly publicAccessToggle: Locator;
|
|
90
90
|
readonly publicationTab: Locator;
|
|
91
91
|
readonly copyPublicLinkButton: Locator;
|
|
92
|
+
readonly formLinkedSuccessMessage: Locator;
|
|
93
|
+
readonly diagramNameBreadcrumb: (diagramName: string) => Locator;
|
|
92
94
|
constructor(page: Page);
|
|
93
95
|
modelJobWorkerDiagram(processName: string, embedFrom?: boolean): Promise<void>;
|
|
94
96
|
assertProcessInstanceLinkWithRetry(clusterName: string): Promise<void>;
|
|
@@ -200,5 +202,7 @@ declare class ModelerCreatePage {
|
|
|
200
202
|
clickCopyPublicLinkButton(): Promise<void>;
|
|
201
203
|
getPublicationLink(): Promise<string>;
|
|
202
204
|
embedForm(formName: string): Promise<void>;
|
|
205
|
+
assertFormEmbedded(): Promise<void>;
|
|
206
|
+
assertDiagramNameSet(diagramName: string): Promise<void>;
|
|
203
207
|
}
|
|
204
208
|
export { ModelerCreatePage };
|
|
@@ -94,6 +94,8 @@ class ModelerCreatePage {
|
|
|
94
94
|
publicAccessToggle;
|
|
95
95
|
publicationTab;
|
|
96
96
|
copyPublicLinkButton;
|
|
97
|
+
formLinkedSuccessMessage;
|
|
98
|
+
diagramNameBreadcrumb;
|
|
97
99
|
constructor(page) {
|
|
98
100
|
this.page = page;
|
|
99
101
|
this.generalPanel = page.locator('[data-group-id="group-general"]');
|
|
@@ -261,6 +263,12 @@ class ModelerCreatePage {
|
|
|
261
263
|
this.copyPublicLinkButton = page.getByRole('button', {
|
|
262
264
|
name: 'Copy to clipboard',
|
|
263
265
|
});
|
|
266
|
+
this.formLinkedSuccessMessage = page
|
|
267
|
+
.locator('.cds--toast-notification__subtitle')
|
|
268
|
+
.getByText('Form has been successfully linked.');
|
|
269
|
+
this.diagramNameBreadcrumb = (diagramName) => page.locator('button[data-test="breadcrumb-diagram"]', {
|
|
270
|
+
hasText: diagramName,
|
|
271
|
+
});
|
|
264
272
|
}
|
|
265
273
|
async modelJobWorkerDiagram(processName, embedFrom = false) {
|
|
266
274
|
await (0, test_1.expect)(this.generalPanel).toBeVisible({
|
|
@@ -1054,5 +1062,13 @@ class ModelerCreatePage {
|
|
|
1054
1062
|
await this.clickForm(formName);
|
|
1055
1063
|
await this.clickEmbedButton();
|
|
1056
1064
|
}
|
|
1065
|
+
async assertFormEmbedded() {
|
|
1066
|
+
await (0, test_1.expect)(this.formLinkedSuccessMessage).toBeVisible({ timeout: 15000 });
|
|
1067
|
+
}
|
|
1068
|
+
async assertDiagramNameSet(diagramName) {
|
|
1069
|
+
await (0, test_1.expect)(this.diagramNameBreadcrumb(diagramName)).toBeVisible({
|
|
1070
|
+
timeout: 60000,
|
|
1071
|
+
});
|
|
1072
|
+
}
|
|
1057
1073
|
}
|
|
1058
1074
|
exports.ModelerCreatePage = ModelerCreatePage;
|
|
@@ -20,6 +20,7 @@ declare class ModelerHomePage {
|
|
|
20
20
|
readonly messageBanner: Locator;
|
|
21
21
|
readonly closeButton: Locator;
|
|
22
22
|
readonly optionsButton: Locator;
|
|
23
|
+
readonly formNameBreadcrumb: (formName: string) => Locator;
|
|
23
24
|
constructor(page: Page);
|
|
24
25
|
clickCreateNewProjectButton(): Promise<void>;
|
|
25
26
|
enterNewProjectName(name: string): Promise<void>;
|
|
@@ -40,5 +41,6 @@ declare class ModelerHomePage {
|
|
|
40
41
|
clickManageButton(retries?: number): Promise<void>;
|
|
41
42
|
clickUploadFilesButton(): Promise<void>;
|
|
42
43
|
clickMessageBanner(): Promise<void>;
|
|
44
|
+
assertFormBreadcrumbVisible(formName: string): Promise<void>;
|
|
43
45
|
}
|
|
44
46
|
export { ModelerHomePage };
|
|
@@ -25,6 +25,7 @@ class ModelerHomePage {
|
|
|
25
25
|
messageBanner;
|
|
26
26
|
closeButton;
|
|
27
27
|
optionsButton;
|
|
28
|
+
formNameBreadcrumb;
|
|
28
29
|
constructor(page) {
|
|
29
30
|
this.page = page;
|
|
30
31
|
this.modelerPageBanner = page.getByRole('banner', {
|
|
@@ -59,6 +60,9 @@ class ModelerHomePage {
|
|
|
59
60
|
this.messageBanner = page.locator('[data-test="close-top-banner"]');
|
|
60
61
|
this.closeButton = page.getByRole('button', { name: 'Got it - Dismiss' });
|
|
61
62
|
this.optionsButton = page.getByRole('button', { name: 'Options' });
|
|
63
|
+
this.formNameBreadcrumb = (formName) => page.locator('button[data-test="breadcrumb-form"]', {
|
|
64
|
+
hasText: formName,
|
|
65
|
+
});
|
|
62
66
|
}
|
|
63
67
|
async clickCreateNewProjectButton() {
|
|
64
68
|
await this.createNewProjectButton.click({ timeout: 90000 });
|
|
@@ -163,5 +167,10 @@ class ModelerHomePage {
|
|
|
163
167
|
console.log('No additional banner or close button found to click');
|
|
164
168
|
}
|
|
165
169
|
}
|
|
170
|
+
async assertFormBreadcrumbVisible(formName) {
|
|
171
|
+
await (0, test_1.expect)(this.formNameBreadcrumb(formName)).toBeVisible({
|
|
172
|
+
timeout: 120000,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
166
175
|
}
|
|
167
176
|
exports.ModelerHomePage = ModelerHomePage;
|
|
@@ -133,7 +133,7 @@ async function completeTaskWithRetry(taskPanelPage, taskDetailsPage, taskName, t
|
|
|
133
133
|
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
134
134
|
try {
|
|
135
135
|
await taskPanelPage.openTask(taskName);
|
|
136
|
-
await (0,
|
|
136
|
+
await (0, test_1.expect)(taskDetailsPage.detailsInfo.getByText(taskName, { exact: true })).toBeVisible();
|
|
137
137
|
if (!(await taskDetailsPage.assignedToMeText.isVisible())) {
|
|
138
138
|
await taskDetailsPage.clickAssignToMeButton();
|
|
139
139
|
}
|
|
@@ -145,9 +145,10 @@ async function completeTaskWithRetry(taskPanelPage, taskDetailsPage, taskName, t
|
|
|
145
145
|
catch (error) {
|
|
146
146
|
if (attempt < maxRetries - 1) {
|
|
147
147
|
console.warn(`Attempt ${attempt + 1} failed for completing task ${taskName}. Retrying...`);
|
|
148
|
+
await (0, sleep_1.sleep)(2000);
|
|
148
149
|
}
|
|
149
150
|
else {
|
|
150
|
-
throw new Error(`
|
|
151
|
+
throw new Error(`Failed to complete task ${taskName} after ${maxRetries} attempts: ${error}`);
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
}
|
|
@@ -5,7 +5,7 @@ declare class ClusterSecretsPage {
|
|
|
5
5
|
readonly keyInput: Locator;
|
|
6
6
|
readonly valueInput: Locator;
|
|
7
7
|
readonly createButton: Locator;
|
|
8
|
-
readonly
|
|
8
|
+
readonly optionsButton: Locator;
|
|
9
9
|
readonly deleteConnectorSecretButton: Locator;
|
|
10
10
|
readonly deleteConnectorSecretSubButton: Locator;
|
|
11
11
|
readonly dialog: Locator;
|
|
@@ -14,20 +14,26 @@ declare class ClusterSecretsPage {
|
|
|
14
14
|
readonly bulkImportTextArea: Locator;
|
|
15
15
|
readonly dialogImportButton: Locator;
|
|
16
16
|
readonly secretsSearchBox: Locator;
|
|
17
|
+
readonly clusterBanner: Locator;
|
|
18
|
+
readonly clusterLink: (name: string) => Locator;
|
|
19
|
+
readonly clusterSecretTab: Locator;
|
|
20
|
+
readonly confirmDeleteInput: Locator;
|
|
17
21
|
constructor(page: Page);
|
|
18
22
|
deleteConnectorSecretsIfExist(): Promise<void>;
|
|
19
|
-
clickCreateNewSecretButton(): Promise<void>;
|
|
23
|
+
clickCreateNewSecretButton(cluster: string): Promise<void>;
|
|
24
|
+
clickClusterBanner(): Promise<void>;
|
|
25
|
+
clickCluster(name: string): Promise<void>;
|
|
20
26
|
clickKeyInput(): Promise<void>;
|
|
21
27
|
fillKeyInput(key: string): Promise<void>;
|
|
22
28
|
clickValueInput(): Promise<void>;
|
|
23
29
|
fillValueInput(value: string): Promise<void>;
|
|
24
30
|
clickCreateButton(): Promise<void>;
|
|
25
|
-
createNewSecret(key: string, value: string): Promise<void>;
|
|
26
|
-
createSetOfSecrets(secrets: {
|
|
31
|
+
createNewSecret(key: string, value: string, cluster: string): Promise<void>;
|
|
32
|
+
createSetOfSecrets(cluster: string, secrets: {
|
|
27
33
|
name: string;
|
|
28
34
|
value: string;
|
|
29
35
|
}[]): Promise<void>;
|
|
30
|
-
assertSecretsOrCreate(secrets: {
|
|
36
|
+
assertSecretsOrCreate(cluster: string, secrets: {
|
|
31
37
|
name: string;
|
|
32
38
|
value: string;
|
|
33
39
|
}[]): Promise<void>;
|
|
@@ -10,7 +10,7 @@ class ClusterSecretsPage {
|
|
|
10
10
|
keyInput;
|
|
11
11
|
valueInput;
|
|
12
12
|
createButton;
|
|
13
|
-
|
|
13
|
+
optionsButton;
|
|
14
14
|
deleteConnectorSecretButton;
|
|
15
15
|
deleteConnectorSecretSubButton;
|
|
16
16
|
dialog;
|
|
@@ -19,6 +19,10 @@ class ClusterSecretsPage {
|
|
|
19
19
|
bulkImportTextArea;
|
|
20
20
|
dialogImportButton;
|
|
21
21
|
secretsSearchBox;
|
|
22
|
+
clusterBanner;
|
|
23
|
+
clusterLink;
|
|
24
|
+
clusterSecretTab;
|
|
25
|
+
confirmDeleteInput;
|
|
22
26
|
constructor(page) {
|
|
23
27
|
this.page = page;
|
|
24
28
|
this.createNewSecretButton = page.getByRole('button', {
|
|
@@ -27,12 +31,12 @@ class ClusterSecretsPage {
|
|
|
27
31
|
this.keyInput = page.getByLabel('Key');
|
|
28
32
|
this.valueInput = page.getByLabel('Value', { exact: true });
|
|
29
33
|
this.createButton = page.getByRole('button', { name: 'Create', exact: true });
|
|
30
|
-
this.
|
|
31
|
-
name: '
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
+
this.optionsButton = page
|
|
35
|
+
.getByRole('cell', { name: 'Options' })
|
|
36
|
+
.getByRole('button');
|
|
34
37
|
this.deleteConnectorSecretButton = page.getByRole('menuitem', {
|
|
35
|
-
name: '
|
|
38
|
+
name: 'Delete',
|
|
39
|
+
exact: true,
|
|
36
40
|
});
|
|
37
41
|
this.deleteConnectorSecretSubButton = page.getByRole('button', {
|
|
38
42
|
name: 'danger Delete',
|
|
@@ -45,10 +49,20 @@ class ClusterSecretsPage {
|
|
|
45
49
|
.getByRole('dialog')
|
|
46
50
|
.getByRole('button', { name: 'Import', exact: true });
|
|
47
51
|
this.secretsSearchBox = page.getByRole('searchbox', { name: 'Filter table' });
|
|
52
|
+
this.clusterBanner = this.page
|
|
53
|
+
.getByRole('banner')
|
|
54
|
+
.getByRole('link', { name: 'Clusters' });
|
|
55
|
+
this.clusterLink = (name) => page.getByRole('link', { name: name });
|
|
56
|
+
this.clusterSecretTab = this.page.getByRole('tab', {
|
|
57
|
+
name: 'Connector Secrets',
|
|
58
|
+
});
|
|
59
|
+
this.confirmDeleteInput = page.getByRole('textbox', {
|
|
60
|
+
name: 'Type the word DELETE to confirm',
|
|
61
|
+
});
|
|
48
62
|
}
|
|
49
63
|
async deleteConnectorSecretsIfExist() {
|
|
50
64
|
try {
|
|
51
|
-
await (0, test_1.expect)(this.
|
|
65
|
+
await (0, test_1.expect)(this.optionsButton.first()).toBeVisible({
|
|
52
66
|
timeout: 10000,
|
|
53
67
|
});
|
|
54
68
|
}
|
|
@@ -56,9 +70,9 @@ class ClusterSecretsPage {
|
|
|
56
70
|
return; //No Connector Secrets found in the list
|
|
57
71
|
}
|
|
58
72
|
try {
|
|
59
|
-
let
|
|
60
|
-
while (
|
|
61
|
-
const operationButton =
|
|
73
|
+
let options = await this.optionsButton.all();
|
|
74
|
+
while (options.length > 0) {
|
|
75
|
+
const operationButton = options[0];
|
|
62
76
|
if (await operationButton.isVisible()) {
|
|
63
77
|
await operationButton.click({ timeout: 60000 });
|
|
64
78
|
await this.deleteConnectorSecretButton.click({ timeout: 60000 });
|
|
@@ -70,9 +84,9 @@ class ClusterSecretsPage {
|
|
|
70
84
|
}
|
|
71
85
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
72
86
|
await sleep(3000);
|
|
73
|
-
|
|
87
|
+
options = await this.optionsButton.all();
|
|
74
88
|
}
|
|
75
|
-
await (0, test_1.expect)(this.
|
|
89
|
+
await (0, test_1.expect)(this.optionsButton).not.toBeVisible({
|
|
76
90
|
timeout: 30000,
|
|
77
91
|
});
|
|
78
92
|
}
|
|
@@ -80,26 +94,25 @@ class ClusterSecretsPage {
|
|
|
80
94
|
console.error('Error during Connector Secrets deletion: ', error);
|
|
81
95
|
}
|
|
82
96
|
}
|
|
83
|
-
async clickCreateNewSecretButton() {
|
|
97
|
+
async clickCreateNewSecretButton(cluster) {
|
|
84
98
|
try {
|
|
85
99
|
await this.createNewSecretButton.click({ timeout: 60000 });
|
|
86
100
|
}
|
|
87
101
|
catch (error) {
|
|
88
|
-
await this.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
await this.page
|
|
93
|
-
.getByRole('link', { name: 'Test Cluster' })
|
|
94
|
-
.click({ timeout: 60000 });
|
|
95
|
-
await this.page
|
|
96
|
-
.getByRole('tab', {
|
|
97
|
-
name: 'Connector Secrets',
|
|
98
|
-
})
|
|
99
|
-
.click({ timeout: 60000 });
|
|
100
|
-
await this.createNewSecretButton.click({ timeout: 60000 });
|
|
102
|
+
await this.clickClusterBanner();
|
|
103
|
+
await this.clickCluster(cluster);
|
|
104
|
+
await this.clusterSecretTab.click({ timeout: 30000 });
|
|
105
|
+
await this.createNewSecretButton.click({ timeout: 30000 });
|
|
101
106
|
}
|
|
102
107
|
}
|
|
108
|
+
async clickClusterBanner() {
|
|
109
|
+
await (0, test_1.expect)(this.clusterBanner).toBeVisible({ timeout: 30000 });
|
|
110
|
+
await this.clusterBanner.click({ timeout: 60000 });
|
|
111
|
+
}
|
|
112
|
+
async clickCluster(name) {
|
|
113
|
+
await (0, test_1.expect)(this.clusterLink(name)).toBeVisible({ timeout: 30000 });
|
|
114
|
+
await this.clusterLink(name).click();
|
|
115
|
+
}
|
|
103
116
|
async clickKeyInput() {
|
|
104
117
|
await (0, test_1.expect)(this.keyInput).toBeVisible({ timeout: 60000 });
|
|
105
118
|
await this.keyInput.click({ timeout: 30000 });
|
|
@@ -137,8 +150,8 @@ class ClusterSecretsPage {
|
|
|
137
150
|
await (0, test_1.expect)(this.createButton).toBeVisible({ timeout: 60000 });
|
|
138
151
|
await this.createButton.click({ timeout: 30000 });
|
|
139
152
|
}
|
|
140
|
-
async createNewSecret(key, value) {
|
|
141
|
-
await this.clickCreateNewSecretButton();
|
|
153
|
+
async createNewSecret(key, value, cluster) {
|
|
154
|
+
await this.clickCreateNewSecretButton(cluster);
|
|
142
155
|
await this.clickKeyInput();
|
|
143
156
|
await this.fillKeyInput(key);
|
|
144
157
|
await (0, sleep_1.sleep)(1000);
|
|
@@ -153,11 +166,11 @@ class ClusterSecretsPage {
|
|
|
153
166
|
timeout: 60000,
|
|
154
167
|
});
|
|
155
168
|
}
|
|
156
|
-
async createSetOfSecrets(secrets) {
|
|
169
|
+
async createSetOfSecrets(cluster, secrets) {
|
|
157
170
|
await this.bulkImportSecrets(secrets);
|
|
158
|
-
await this.assertSecretsOrCreate(secrets);
|
|
171
|
+
await this.assertSecretsOrCreate(cluster, secrets);
|
|
159
172
|
}
|
|
160
|
-
async assertSecretsOrCreate(secrets) {
|
|
173
|
+
async assertSecretsOrCreate(cluster, secrets) {
|
|
161
174
|
for (const secret of secrets) {
|
|
162
175
|
try {
|
|
163
176
|
await (0, test_1.expect)(this.secretsSearchBox).toBeVisible();
|
|
@@ -170,7 +183,7 @@ class ClusterSecretsPage {
|
|
|
170
183
|
}
|
|
171
184
|
catch (error) {
|
|
172
185
|
console.error(`Creating secret for ${secret.name}`);
|
|
173
|
-
await this.createNewSecret(secret.name, secret.value);
|
|
186
|
+
await this.createNewSecret(secret.name, secret.value, cluster);
|
|
174
187
|
}
|
|
175
188
|
}
|
|
176
189
|
}
|
|
@@ -12,7 +12,6 @@ const OperateProcessInstancePage_1 = require("../../pages/8.6/OperateProcessInst
|
|
|
12
12
|
const OptimizeHomePage_1 = require("../../pages/8.6/OptimizeHomePage");
|
|
13
13
|
const OptimizeCollectionsPage_1 = require("../../pages/8.6/OptimizeCollectionsPage");
|
|
14
14
|
const OptimizeReportPage_1 = require("../../pages/8.6/OptimizeReportPage");
|
|
15
|
-
const sleep_1 = require("../../utils/sleep");
|
|
16
15
|
const UtilitiesPage_1 = require("../../pages/8.6/UtilitiesPage");
|
|
17
16
|
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
18
17
|
_8_6_1.test.describe.configure({ mode: 'parallel' });
|
|
@@ -34,12 +33,12 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
34
33
|
const reportName = await (0, _setup_1.generateRandomStringAsync)(5);
|
|
35
34
|
await _8_6_1.test.step('Navigate to Web Modeler', async () => {
|
|
36
35
|
await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
|
|
37
|
-
timeout:
|
|
36
|
+
timeout: 30000,
|
|
38
37
|
});
|
|
39
38
|
await appsPage.clickCamundaApps();
|
|
40
39
|
await appsPage.clickModeler();
|
|
41
40
|
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
42
|
-
timeout:
|
|
41
|
+
timeout: 60000,
|
|
43
42
|
});
|
|
44
43
|
});
|
|
45
44
|
await _8_6_1.test.step('Create Form To Be Linked For Zeebe User Task', async () => {
|
|
@@ -47,7 +46,7 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
47
46
|
await modelerHomePage.clickDiagramTypeDropdown();
|
|
48
47
|
await modelerHomePage.clickFormOption();
|
|
49
48
|
await modelerHomePage.enterFormName(formName);
|
|
50
|
-
await
|
|
49
|
+
await modelerHomePage.assertFormBreadcrumbVisible(formName);
|
|
51
50
|
});
|
|
52
51
|
await _8_6_1.test.step('Add A BPMN Template To The Project', async () => {
|
|
53
52
|
await modelerHomePage.clickProjectBreadcrumb();
|
|
@@ -56,10 +55,10 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
56
55
|
});
|
|
57
56
|
await _8_6_1.test.step('Create BPMN Diagram with Two Zeebe User Tasks and Start Process Instance', async () => {
|
|
58
57
|
await (0, test_1.expect)(modelerCreatePage.generalPanel).toBeVisible({
|
|
59
|
-
timeout:
|
|
58
|
+
timeout: 60000,
|
|
60
59
|
});
|
|
61
60
|
await modelerCreatePage.enterDiagramName(processName);
|
|
62
|
-
await
|
|
61
|
+
await modelerCreatePage.assertDiagramNameSet(processName);
|
|
63
62
|
await modelerCreatePage.addParallelUserTasks(2, userTaskName);
|
|
64
63
|
await modelerCreatePage.clickAppendElementButton();
|
|
65
64
|
await modelerCreatePage.clickAppendEndEventButton('parallelGateway');
|
|
@@ -67,16 +66,15 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
67
66
|
await modelerCreatePage.clickEmbedFormButton();
|
|
68
67
|
await modelerCreatePage.clickForm(formName);
|
|
69
68
|
await modelerCreatePage.clickEmbedButton();
|
|
70
|
-
await
|
|
69
|
+
await modelerCreatePage.assertFormEmbedded();
|
|
71
70
|
await modelerCreatePage.runProcessInstance(clusterName);
|
|
72
71
|
});
|
|
73
72
|
await _8_6_1.test.step('View Process Instance in Operate, complete User Task in Tasklist & assert process complete in Operate and Assert Process has been successfully imported in Optimize', async () => {
|
|
74
73
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
75
|
-
timeout:
|
|
74
|
+
timeout: 60000,
|
|
76
75
|
});
|
|
77
76
|
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
78
|
-
const
|
|
79
|
-
const operateTab = await operateTabPromise;
|
|
77
|
+
const operateTab = await page.waitForEvent('popup', { timeout: 30000 });
|
|
80
78
|
const operateTabHomePage = new OperateHomePage_1.OperateHomePage(operateTab);
|
|
81
79
|
const operateTabProcessesPage = new OperateProcessesPage_1.OperateProcessesPage(operateTab);
|
|
82
80
|
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
@@ -92,13 +90,13 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
92
90
|
await (0, UtilitiesPage_1.completeTaskWithRetry)(operateTabTaskPanelPage, operateTabTaskDetailsPage, `${userTaskName}2`, 'Medium');
|
|
93
91
|
await operateTabTaskPanelPage.filterBy('Completed');
|
|
94
92
|
await operateTabTaskPanelPage.openTask(`${userTaskName}1`);
|
|
95
|
-
await (0, test_1.expect)(operateTabTaskDetailsPage.detailsInfo.getByText(`${userTaskName}1`)).toBeVisible({ timeout:
|
|
93
|
+
await (0, test_1.expect)(operateTabTaskDetailsPage.detailsInfo.getByText(`${userTaskName}1`)).toBeVisible({ timeout: 30000 });
|
|
96
94
|
await operateTabTaskPanelPage.openTask(`${userTaskName}2`);
|
|
97
|
-
await (0, test_1.expect)(operateTabTaskDetailsPage.detailsInfo.getByText(`${userTaskName}2`)).toBeVisible({ timeout:
|
|
95
|
+
await (0, test_1.expect)(operateTabTaskDetailsPage.detailsInfo.getByText(`${userTaskName}2`)).toBeVisible({ timeout: 30000 });
|
|
98
96
|
await operateTabAppsPage.clickCamundaApps();
|
|
99
97
|
await operateTabAppsPage.clickOperate(clusterName);
|
|
100
98
|
await operateTabHomePage.clickProcessesTab();
|
|
101
|
-
await (0,
|
|
99
|
+
await (0, test_1.expect)(operateTabProcessesPage.processCompletedCheckbox).toBeVisible({ timeout: 15000 });
|
|
102
100
|
await operateTab.reload();
|
|
103
101
|
await operateTabProcessesPage.clickProcessCompletedCheckbox();
|
|
104
102
|
await operateTabProcessesPage.clickProcessInstanceLink(processName);
|
|
@@ -108,16 +106,14 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
108
106
|
const optimizeTabOptimizeCollectionsPage = new OptimizeCollectionsPage_1.OptimizeCollectionsPage(operateTab);
|
|
109
107
|
const optimizeTabOptimizeReportPage = new OptimizeReportPage_1.OptimizeReportPage(operateTab);
|
|
110
108
|
const optimizeTabOptimizeHomePage = new OptimizeHomePage_1.OptimizeHomePage(operateTab);
|
|
111
|
-
await (0,
|
|
112
|
-
name: processName,
|
|
113
|
-
})).toBeVisible({ timeout: 90000 });
|
|
109
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(operateTab, operateTab.getByRole('link', { name: processName }));
|
|
114
110
|
await optimizeTabOptimizeHomePage.clickCollectionsLink();
|
|
115
111
|
await optimizeTabOptimizeCollectionsPage.clickCreateNewButton();
|
|
116
112
|
await optimizeTabOptimizeCollectionsPage.clickReportOption();
|
|
117
113
|
await optimizeTabOptimizeReportPage.clickProcessSelectionButton();
|
|
118
114
|
await optimizeTabOptimizeReportPage.clickUserTaskProcess(processName);
|
|
119
115
|
await (0, test_1.expect)(optimizeTabOptimizeReportPage.versionSelection).toBeVisible({
|
|
120
|
-
timeout:
|
|
116
|
+
timeout: 15000,
|
|
121
117
|
});
|
|
122
118
|
await optimizeTabOptimizeReportPage.clickVersionSelection();
|
|
123
119
|
await optimizeTabOptimizeReportPage.clickAlwaysDisplayLatestSelection();
|
|
@@ -127,7 +123,7 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
127
123
|
await optimizeTabOptimizeReportPage.clickUserTaskOption();
|
|
128
124
|
await optimizeTabOptimizeReportPage.clickHeatMapButton();
|
|
129
125
|
await (0, test_1.expect)(optimizeTabOptimizeReportPage.tableOption).toBeVisible({
|
|
130
|
-
timeout:
|
|
126
|
+
timeout: 15000,
|
|
131
127
|
});
|
|
132
128
|
await optimizeTabOptimizeReportPage.clickTableOption();
|
|
133
129
|
await optimizeTabOptimizeReportPage.clickReportName();
|
|
@@ -136,7 +132,7 @@ _8_6_1.test.describe('Smoke Tests', () => {
|
|
|
136
132
|
await optimizeTabOptimizeReportPage.clickSaveButton();
|
|
137
133
|
await optimizeTabOptimizeHomePage.clickCollectionsLink();
|
|
138
134
|
await (0, test_1.expect)(operateTab.getByText(reportName)).toBeVisible({
|
|
139
|
-
timeout:
|
|
135
|
+
timeout: 30000,
|
|
140
136
|
});
|
|
141
137
|
await optimizeTabOptimizeCollectionsPage.clickMostRecentProcessReport(reportName);
|
|
142
138
|
await optimizeTabOptimizeReportPage.waitUntilLocatorIsVisible(optimizeTabOptimizeReportPage.oneUserTaskInstance.first(), operateTab);
|
|
@@ -9,9 +9,11 @@ const UtilitiesPage_1 = require("../../pages/8.8/UtilitiesPage");
|
|
|
9
9
|
const UtilitiesPage_2 = require("../../pages/8.8/UtilitiesPage");
|
|
10
10
|
const UtilitiesPage_3 = require("../../pages/8.8/UtilitiesPage");
|
|
11
11
|
const apiHelpers_1 = require("../../utils/apiHelpers");
|
|
12
|
+
const expectLocatorWithRetry_1 = require("../../utils/assertionHelpers/expectLocatorWithRetry");
|
|
12
13
|
_8_8_1.test.describe.configure({ mode: 'parallel' });
|
|
13
14
|
_8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
14
|
-
const
|
|
15
|
+
const defaultClusterName = 'Test Cluster';
|
|
16
|
+
const awsCluster = 'AWS Cluster';
|
|
15
17
|
_8_8_1.test.beforeEach(async ({ page, loginPage }, testInfo) => {
|
|
16
18
|
await (0, UtilitiesPage_1.loginWithRetry)(page, loginPage, (testInfo.workerIndex + 1) * 1000);
|
|
17
19
|
});
|
|
@@ -39,7 +41,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
39
41
|
});
|
|
40
42
|
await _8_8_1.test.step('Create BPMN Diagram with REST Connector and Start Process Instance', async () => {
|
|
41
43
|
await (0, UtilitiesPage_2.modelRestConnector)(modelerCreatePage, connectorSettingsPage, processName, 'https://camunda.proxy.beeceptor.com/pre-prod/no-auth-test', 'noAuth', 'body');
|
|
42
|
-
await modelerCreatePage.runProcessInstance(
|
|
44
|
+
await modelerCreatePage.runProcessInstance(defaultClusterName);
|
|
43
45
|
});
|
|
44
46
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
45
47
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
@@ -77,7 +79,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
77
79
|
});
|
|
78
80
|
await _8_8_1.test.step('Create BPMN Diagram with REST Connector with Bearer Token Auth and Start Process Instance', async () => {
|
|
79
81
|
await (0, UtilitiesPage_2.modelRestConnector)(modelerCreatePage, connectorSettingsPage, processName, 'https://camunda.proxy.beeceptor.com/pre-prod/bearer-auth-test', 'bearer', '{message:response.body}');
|
|
80
|
-
await modelerCreatePage.runProcessInstance(
|
|
82
|
+
await modelerCreatePage.runProcessInstance(defaultClusterName);
|
|
81
83
|
await (0, _setup_1.performBearerTokenAuthPostRequest)('https://camunda.proxy.beeceptor.com/pre-prod/bearer-auth-test', 'thisisabearertoken');
|
|
82
84
|
});
|
|
83
85
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
@@ -129,7 +131,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
129
131
|
await modelerCreatePage.clickAppendEndEventButton();
|
|
130
132
|
await (0, sleep_1.sleep)(20000);
|
|
131
133
|
await page.reload();
|
|
132
|
-
await modelerCreatePage.deployDiagram(
|
|
134
|
+
await modelerCreatePage.deployDiagram(defaultClusterName);
|
|
133
135
|
});
|
|
134
136
|
await _8_8_1.test.step('Assert Webhook Is Active In Cluster And Make Authorization Request', async () => {
|
|
135
137
|
await modelerCreatePage.clickStartEventElement();
|
|
@@ -145,7 +147,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
145
147
|
});
|
|
146
148
|
await _8_8_1.test.step('Assert Diagram Has Successfully Completed in Operate', async () => {
|
|
147
149
|
await appsPage.clickCamundaApps();
|
|
148
|
-
await appsPage.clickOperate(
|
|
150
|
+
await appsPage.clickOperate(defaultClusterName);
|
|
149
151
|
await (0, test_1.expect)(operateHomePage.processesTab).toBeVisible({
|
|
150
152
|
timeout: 120000,
|
|
151
153
|
});
|
|
@@ -155,7 +157,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
155
157
|
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateProcessInstancePage, operateProcessInstancePage.completedIcon, 'Completed icon', 60000);
|
|
156
158
|
});
|
|
157
159
|
});
|
|
158
|
-
(0, _8_8_1.test)('Connector Secrets User Flow', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, }) => {
|
|
160
|
+
(0, _8_8_1.test)('Connector Secrets User Flow - GCP', async ({ page, homePage, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
159
161
|
_8_8_1.test.slow();
|
|
160
162
|
const processName = 'REST_Connector_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
|
|
161
163
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
@@ -163,10 +165,9 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
163
165
|
timeout: 20000,
|
|
164
166
|
});
|
|
165
167
|
await appsPage.clickCamundaApps();
|
|
166
|
-
await (0, test_1.expect)(appsPage.modelerLink).toBeVisible({ timeout: 20000 });
|
|
167
168
|
await appsPage.clickModeler();
|
|
168
169
|
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
169
|
-
timeout:
|
|
170
|
+
timeout: 30000,
|
|
170
171
|
});
|
|
171
172
|
});
|
|
172
173
|
await _8_8_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
|
|
@@ -176,21 +177,77 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
176
177
|
});
|
|
177
178
|
await _8_8_1.test.step('Create BPMN Diagram with REST Connector using secrets and Start Process Instance', async () => {
|
|
178
179
|
await (0, UtilitiesPage_2.modelRestConnector)(modelerCreatePage, connectorSettingsPage, processName, 'secrets.endpoint_url', 'basic', '{message:response.body.message}', 'result', { username: 'secrets.username', password: 'secrets.password' });
|
|
179
|
-
await modelerCreatePage.runProcessInstance(
|
|
180
|
-
await (0,
|
|
180
|
+
await modelerCreatePage.runProcessInstance(defaultClusterName);
|
|
181
|
+
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible();
|
|
181
182
|
});
|
|
182
183
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
183
|
-
await
|
|
184
|
-
|
|
184
|
+
await appsPage.clickCamundaApps();
|
|
185
|
+
await appsPage.clickOperate(defaultClusterName);
|
|
186
|
+
await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible();
|
|
187
|
+
await operateHomePage.clickProcessesTab();
|
|
188
|
+
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
189
|
+
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
190
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.completedIcon, {
|
|
191
|
+
postAction: async () => {
|
|
192
|
+
await page.reload();
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.variablesList, {
|
|
196
|
+
postAction: async () => {
|
|
197
|
+
await page.reload();
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.messageVariable.getByText('"Message from Mock!"'), {
|
|
201
|
+
postAction: async () => {
|
|
202
|
+
await page.reload();
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
(0, _8_8_1.test)('Connector Secrets User Flow - AWS', async ({ page, modelerHomePage, appsPage, modelerCreatePage, connectorSettingsPage, operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
|
|
208
|
+
_8_8_1.test.slow();
|
|
209
|
+
const processName = 'REST_Connector_Process' + (await (0, _setup_1.generateRandomStringAsync)(3));
|
|
210
|
+
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
211
|
+
await appsPage.clickCamundaApps();
|
|
212
|
+
await appsPage.clickModeler();
|
|
213
|
+
await (0, test_1.expect)(modelerHomePage.modelerPageBanner).toBeVisible({
|
|
214
|
+
timeout: 30000,
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
await _8_8_1.test.step('Open Cross Component Test Project and Create a BPMN Diagram Template', async () => {
|
|
218
|
+
await modelerHomePage.clickCrossComponentProjectFolder();
|
|
219
|
+
await modelerHomePage.clickDiagramTypeDropdown();
|
|
220
|
+
await modelerHomePage.clickBpmnTemplateOption();
|
|
221
|
+
});
|
|
222
|
+
await _8_8_1.test.step('Create BPMN Diagram with REST Connector using secrets and Start Process Instance', async () => {
|
|
223
|
+
await (0, UtilitiesPage_2.modelRestConnector)(modelerCreatePage, connectorSettingsPage, processName, 'secrets.endpoint_url', 'basic', '{message:response.body.message}', 'result', { username: 'secrets.username', password: 'secrets.password' });
|
|
224
|
+
await modelerCreatePage.runProcessInstance(awsCluster);
|
|
225
|
+
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible();
|
|
226
|
+
});
|
|
227
|
+
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
228
|
+
await appsPage.clickCamundaApps();
|
|
229
|
+
await appsPage.clickOperate(awsCluster);
|
|
230
|
+
await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
|
|
231
|
+
timeout: 30000,
|
|
232
|
+
});
|
|
233
|
+
await operateHomePage.clickProcessesTab();
|
|
234
|
+
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
235
|
+
await operateProcessesPage.clickProcessInstanceLink(processName);
|
|
236
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.completedIcon, {
|
|
237
|
+
postAction: async () => {
|
|
238
|
+
await page.reload();
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.variablesList, {
|
|
242
|
+
postAction: async () => {
|
|
243
|
+
await page.reload();
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
await (0, expectLocatorWithRetry_1.expectLocatorWithRetry)(page, operateProcessInstancePage.messageVariable.getByText('"Message from Mock!"'), {
|
|
247
|
+
postAction: async () => {
|
|
248
|
+
await page.reload();
|
|
249
|
+
},
|
|
185
250
|
});
|
|
186
|
-
await modelerCreatePage.clickViewProcessInstanceLink();
|
|
187
|
-
const operateTab = await page.waitForEvent('popup', { timeout: 60000 });
|
|
188
|
-
const operateTabProcessInstancePage = new OperateProcessInstancePage_1.OperateProcessInstancePage(operateTab);
|
|
189
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTabProcessInstancePage.completedIcon, 'Completed icon');
|
|
190
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTab.getByTestId('variables-list'), 'Variable list', 60000);
|
|
191
|
-
await (0, UtilitiesPage_1.assertLocatorVisibleWithRetry)(operateTab, operateTab
|
|
192
|
-
.getByTestId('variable-message')
|
|
193
|
-
.getByText('"Message from Mock!"'), 'Connector response message', 60000);
|
|
194
251
|
});
|
|
195
252
|
});
|
|
196
253
|
(0, _8_8_1.test)('Marketplace Connector User Flow', async ({ page, homePage, appsPage, modelerHomePage, modelerCreatePage, connectorMarketplacePage, connectorSettingsPage, }) => {
|
|
@@ -241,7 +298,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
241
298
|
await modelerCreatePage.clickAppendEndEventButton();
|
|
242
299
|
await modelerCreatePage.clickCanvas();
|
|
243
300
|
await modelerCreatePage.assertThreeElementsVisible();
|
|
244
|
-
await modelerCreatePage.runProcessInstance(
|
|
301
|
+
await modelerCreatePage.runProcessInstance(defaultClusterName);
|
|
245
302
|
});
|
|
246
303
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert result expression', async () => {
|
|
247
304
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
@@ -295,7 +352,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
295
352
|
await modelerCreatePage.clickAppendEndEventButton();
|
|
296
353
|
await (0, sleep_1.sleep)(10000);
|
|
297
354
|
await page.reload();
|
|
298
|
-
await modelerCreatePage.runProcessInstance(
|
|
355
|
+
await modelerCreatePage.runProcessInstance(defaultClusterName);
|
|
299
356
|
});
|
|
300
357
|
await _8_8_1.test.step('Assert Webhook Is Active In Cluster And Make Authorization Request', async () => {
|
|
301
358
|
await modelerCreatePage.clickSecondElement();
|
|
@@ -315,7 +372,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
315
372
|
await _8_8_1.test.step('Assert Diagram Has Successfully Completed in Operate', async () => {
|
|
316
373
|
await (0, sleep_1.sleep)(90000);
|
|
317
374
|
await appsPage.clickCamundaApps();
|
|
318
|
-
await appsPage.clickOperate(
|
|
375
|
+
await appsPage.clickOperate(defaultClusterName);
|
|
319
376
|
await (0, test_1.expect)(operateHomePage.processesTab).toBeVisible({ timeout: 120000 });
|
|
320
377
|
await operateHomePage.clickProcessesTab();
|
|
321
378
|
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
@@ -331,7 +388,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
331
388
|
let credentials = {};
|
|
332
389
|
await _8_8_1.test.step('Create Zeebe API Client', async () => {
|
|
333
390
|
await homePage.clickClusters();
|
|
334
|
-
await clusterPage.clickClusterLink(
|
|
391
|
+
await clusterPage.clickClusterLink(defaultClusterName);
|
|
335
392
|
await clusterDetailsPage.clickAPITab();
|
|
336
393
|
credentials = await clusterDetailsPage.createAPIClientAndReturnVariables(apiClientName, false);
|
|
337
394
|
await clusterDetailsPage.clickCloseModalButton();
|
|
@@ -344,7 +401,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
344
401
|
});
|
|
345
402
|
});
|
|
346
403
|
await _8_8_1.test.step('Open Cross Component Test Project and Create a REST Connector Document Handling Flow', async () => {
|
|
347
|
-
await (0, UtilitiesPage_3.modelAndRunConnectorsDocHandlingDiagram)(modelerCreatePage, modelerHomePage, processName, page, connectorMarketplacePage,
|
|
404
|
+
await (0, UtilitiesPage_3.modelAndRunConnectorsDocHandlingDiagram)(modelerCreatePage, modelerHomePage, processName, page, connectorMarketplacePage, defaultClusterName, `"${credentials.zeebeUrl}"`, `"${credentials.zeebeClientId}"`, `"${credentials.zeebeClientSecret}"`);
|
|
348
405
|
});
|
|
349
406
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert variable values are correct', async () => {
|
|
350
407
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
@@ -383,7 +440,7 @@ _8_8_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
|
|
|
383
440
|
});
|
|
384
441
|
});
|
|
385
442
|
await _8_8_1.test.step('Open Cross Component Test Project and Create a REST Connector Document Handling Flow', async () => {
|
|
386
|
-
await (0, UtilitiesPage_1.modelAndRunConnectorsTimerEventDiagram)(modelerCreatePage, modelerHomePage, processName, page, connectorMarketplacePage,
|
|
443
|
+
await (0, UtilitiesPage_1.modelAndRunConnectorsTimerEventDiagram)(modelerCreatePage, modelerHomePage, processName, page, connectorMarketplacePage, defaultClusterName, connectorTemplatePage);
|
|
387
444
|
});
|
|
388
445
|
await _8_8_1.test.step('View Process Instance in Operate, assert it completes and assert variable values are correct', async () => {
|
|
389
446
|
await (0, test_1.expect)(modelerCreatePage.viewProcessInstanceLink).toBeVisible({
|
|
@@ -68,7 +68,7 @@ _8_8_1.test.describe('IDP User Flow Tests', () => {
|
|
|
68
68
|
await homePage.clickClusters();
|
|
69
69
|
await clusterPage.clickClusterLink(clusterName);
|
|
70
70
|
await clusterPage.clickConnectorSecretsTab(clusterName);
|
|
71
|
-
await clusterSecretsPage.assertSecretsOrCreate(connectorSecrets_1.allConnectorSecrets[params.provider]);
|
|
71
|
+
await clusterSecretsPage.assertSecretsOrCreate(clusterName, connectorSecrets_1.allConnectorSecrets[params.provider]);
|
|
72
72
|
});
|
|
73
73
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
74
74
|
await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
|
|
@@ -140,7 +140,7 @@ _8_8_1.test.describe('IDP User Flow Tests', () => {
|
|
|
140
140
|
await homePage.clickClusters();
|
|
141
141
|
await clusterPage.clickClusterLink(clusterName);
|
|
142
142
|
await clusterPage.clickConnectorSecretsTab(clusterName);
|
|
143
|
-
await clusterSecretsPage.assertSecretsOrCreate(connectorSecrets_1.allConnectorSecrets[params.provider]);
|
|
143
|
+
await clusterSecretsPage.assertSecretsOrCreate(clusterName, connectorSecrets_1.allConnectorSecrets[params.provider]);
|
|
144
144
|
});
|
|
145
145
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|
|
146
146
|
await (0, test_1.expect)(homePage.camundaComponentsButton).toBeVisible({
|
|
@@ -43,13 +43,13 @@ _8_8_1.test.describe('Cluster Setup Tests', () => {
|
|
|
43
43
|
await clusterDetailsPage.createAPIClientAndReturnVariables(apiClientName);
|
|
44
44
|
await clusterDetailsPage.clickCloseModalButton();
|
|
45
45
|
await clusterPage.clickConnectorSecretsTab(clusterName);
|
|
46
|
-
await clusterSecretsPage.createSetOfSecrets(connectorSecrets_1.awsSecretsValues);
|
|
47
|
-
await clusterSecretsPage.createSetOfSecrets(connectorSecrets_1.openAiSecretsValues);
|
|
48
|
-
await clusterSecretsPage.createSetOfSecrets(connectorSecrets_1.gcpSecretsValues);
|
|
49
|
-
await clusterSecretsPage.createSetOfSecrets(connectorSecrets_1.azureSecretsValues);
|
|
50
|
-
await clusterSecretsPage.createSetOfSecrets(connectorSecrets_1.connectorSecretsValues);
|
|
46
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.awsSecretsValues);
|
|
47
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.openAiSecretsValues);
|
|
48
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.gcpSecretsValues);
|
|
49
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.azureSecretsValues);
|
|
50
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
|
|
51
51
|
});
|
|
52
|
-
(0, _8_8_1.test)('Create AWS Cluster', async ({ homePage, clusterPage, clusterDetailsPage, }) => {
|
|
52
|
+
(0, _8_8_1.test)('Create AWS Cluster', async ({ homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }) => {
|
|
53
53
|
_8_8_1.test.slow();
|
|
54
54
|
const clusterName = 'AWS Cluster';
|
|
55
55
|
await homePage.clickClusters();
|
|
@@ -57,6 +57,8 @@ _8_8_1.test.describe('Cluster Setup Tests', () => {
|
|
|
57
57
|
await clusterPage.assertClusterHealthyStatusWithRetry(clusterName);
|
|
58
58
|
await clusterPage.clickClusterLink(clusterName);
|
|
59
59
|
await clusterDetailsPage.assertComponentsHealth();
|
|
60
|
+
await clusterPage.clickConnectorSecretsTab(clusterName);
|
|
61
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.connectorSecretsValues);
|
|
60
62
|
});
|
|
61
63
|
(0, _8_8_1.test)('Create Project Folder', async ({ homePage, appsPage, modelerHomePage, }) => {
|
|
62
64
|
await _8_8_1.test.step('Navigate to Web Modeler', async () => {
|