@digital-ai/devops-page-object-release 0.0.24 → 0.0.26
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/CHANGELOG.md +13 -0
- package/dist/main.js +590 -51
- package/dist/main.js.map +1 -1
- package/dist/module.js +590 -51
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +159 -24
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/module.js
CHANGED
|
@@ -30,6 +30,7 @@ class $9626bc9256ce31f7$export$2b65d1d97338f32b {
|
|
|
30
30
|
class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
31
31
|
constructor(page){
|
|
32
32
|
super(page);
|
|
33
|
+
this.releaseForm = this.page.locator("#release-properties .form-group");
|
|
33
34
|
}
|
|
34
35
|
async setName(releaseName) {
|
|
35
36
|
await this.page.locator("#release-form-title").click();
|
|
@@ -76,6 +77,14 @@ class $05d91a1d3381a287$export$34addcca3f0ae43f extends (0, $9626bc9256ce31f7$ex
|
|
|
76
77
|
await this.page.locator(`#form-${variableName} .display`).click();
|
|
77
78
|
await this.page.locator(`input[name="${variableName}"]`).fill(value);
|
|
78
79
|
}
|
|
80
|
+
async setVariable(variable, value) {
|
|
81
|
+
await this.releaseForm.filter({
|
|
82
|
+
hasText: variable
|
|
83
|
+
}).locator("div[inline-text-editor]").click();
|
|
84
|
+
await this.releaseForm.filter({
|
|
85
|
+
hasText: variable
|
|
86
|
+
}).locator("div[inline-text-editor] input").fill(value);
|
|
87
|
+
}
|
|
79
88
|
}
|
|
80
89
|
|
|
81
90
|
|
|
@@ -281,7 +290,7 @@ class $71075ce65fcede1d$export$9b575f14aa5e09a1 extends (0, $9626bc9256ce31f7$ex
|
|
|
281
290
|
}
|
|
282
291
|
|
|
283
292
|
|
|
284
|
-
class $
|
|
293
|
+
class $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
285
294
|
constructor(page){
|
|
286
295
|
super(page);
|
|
287
296
|
this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
|
|
@@ -293,7 +302,7 @@ class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$ex
|
|
|
293
302
|
}
|
|
294
303
|
async openVariable(variableKey) {
|
|
295
304
|
await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
|
|
296
|
-
return new $
|
|
305
|
+
return new $dfc4ce40cbd0eb71$var$VariableModal(this.page);
|
|
297
306
|
}
|
|
298
307
|
async addNewVariable(variableName, labelname, description) {
|
|
299
308
|
await this.page.locator("#action-toolbar").getByTestId("dot-button").click();
|
|
@@ -382,14 +391,16 @@ class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$ex
|
|
|
382
391
|
(0, $hOLA6$expect)(rowLocator.toString()).toContain(type);
|
|
383
392
|
}
|
|
384
393
|
async clickEditVariable(variableName) {
|
|
385
|
-
await this.page.locator("
|
|
386
|
-
|
|
387
|
-
|
|
394
|
+
await this.page.locator(".data-row").filter({
|
|
395
|
+
hasText: variableName
|
|
396
|
+
}).getByText("Edit").first().click();
|
|
397
|
+
return new $dfc4ce40cbd0eb71$var$VariableModal(this.page);
|
|
388
398
|
}
|
|
389
399
|
async clickDeleteVariable(variableName) {
|
|
390
|
-
await this.page.locator("
|
|
391
|
-
|
|
392
|
-
|
|
400
|
+
await this.page.locator(".data-row").filter({
|
|
401
|
+
hasText: variableName
|
|
402
|
+
}).locator(".action .delete-icon").first().click();
|
|
403
|
+
return new $dfc4ce40cbd0eb71$var$DeleteVariableModel(this.page);
|
|
393
404
|
}
|
|
394
405
|
async expectVariablesCountToBe(count) {
|
|
395
406
|
await (0, $hOLA6$expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
|
|
@@ -399,7 +410,7 @@ class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$ex
|
|
|
399
410
|
hasText: variableName
|
|
400
411
|
})).not.toBeVisible();
|
|
401
412
|
}
|
|
402
|
-
async
|
|
413
|
+
async clearReleaseVariableSearch() {
|
|
403
414
|
await this.page.locator("[id='variables-filter']").clear();
|
|
404
415
|
}
|
|
405
416
|
async switchPossibleValuesToVariable(variableName) {
|
|
@@ -420,8 +431,14 @@ class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$ex
|
|
|
420
431
|
if (required) await this.page.getByRole("checkbox").check();
|
|
421
432
|
else await this.page.getByRole("checkbox").uncheck();
|
|
422
433
|
}
|
|
434
|
+
async searchFolderVariable(variableName) {
|
|
435
|
+
await this.page.locator(".searchFilter").fill(variableName);
|
|
436
|
+
}
|
|
437
|
+
async clearFolderVarSearch() {
|
|
438
|
+
await this.page.locator(".searchFilter").clear();
|
|
439
|
+
}
|
|
423
440
|
}
|
|
424
|
-
class $
|
|
441
|
+
class $dfc4ce40cbd0eb71$var$VariableModal extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
425
442
|
constructor(page){
|
|
426
443
|
super(page);
|
|
427
444
|
this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
|
|
@@ -464,8 +481,8 @@ class $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$e
|
|
|
464
481
|
if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $hOLA6$expect)(listLocator).toContain(value);
|
|
465
482
|
else (0, $hOLA6$expect)(listLocator).toContain(possiblevalue);
|
|
466
483
|
}
|
|
467
|
-
async expectPossibleVariableValues(
|
|
468
|
-
await (0, $hOLA6$expect)(this.page.locator(".variable-dropdown input")).toHaveValue(
|
|
484
|
+
async expectPossibleVariableValues(possibleVariableValue) {
|
|
485
|
+
await (0, $hOLA6$expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possibleVariableValue);
|
|
469
486
|
}
|
|
470
487
|
async addPossibleValue(value) {
|
|
471
488
|
if (value instanceof Array) for (const li of value){
|
|
@@ -513,7 +530,7 @@ class $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$e
|
|
|
513
530
|
await (0, $hOLA6$expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
|
|
514
531
|
}
|
|
515
532
|
async expectRequired(value) {
|
|
516
|
-
if (value
|
|
533
|
+
if (value) await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
|
|
517
534
|
else await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
|
|
518
535
|
}
|
|
519
536
|
async setDescription(description) {
|
|
@@ -531,11 +548,17 @@ class $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$e
|
|
|
531
548
|
async setValue(value) {
|
|
532
549
|
await this.page.locator(".variable-value input").fill(value);
|
|
533
550
|
}
|
|
551
|
+
async clickMultiline() {
|
|
552
|
+
await this.page.locator("#multiline").click();
|
|
553
|
+
}
|
|
554
|
+
async setValueForMultilinePassword(value) {
|
|
555
|
+
await this.page.locator(".password-textarea").fill(value);
|
|
556
|
+
}
|
|
534
557
|
}
|
|
535
|
-
class $
|
|
558
|
+
class $dfc4ce40cbd0eb71$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
536
559
|
constructor(page){
|
|
537
560
|
super(page);
|
|
538
|
-
this.model = new $
|
|
561
|
+
this.model = new $dfc4ce40cbd0eb71$var$VariableModal(page);
|
|
539
562
|
this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
|
|
540
563
|
}
|
|
541
564
|
async deleteVariable() {
|
|
@@ -738,7 +761,7 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
|
|
|
738
761
|
}).click();
|
|
739
762
|
}
|
|
740
763
|
async setVariable(propertyName, variableName) {
|
|
741
|
-
|
|
764
|
+
await this.railLocator.locator(`input[id="${propertyName}"]`).fill(variableName);
|
|
742
765
|
}
|
|
743
766
|
async expectValueFromString(propertyName, propertyValue) {
|
|
744
767
|
return await (0, $hOLA6$expect)(this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`)).toHaveText(propertyValue);
|
|
@@ -803,8 +826,7 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
|
|
|
803
826
|
}
|
|
804
827
|
async getDependencyCount() {
|
|
805
828
|
await (0, $hOLA6$expect)(this.railLocator.locator(".gate-task-dependencies")).toBeVisible();
|
|
806
|
-
|
|
807
|
-
return count;
|
|
829
|
+
return await this.railLocator.locator(".gate-task-dependencies .dependency").count();
|
|
808
830
|
}
|
|
809
831
|
async addDependency() {
|
|
810
832
|
await (0, $hOLA6$expect)(this.railLocator.locator(".add-dependency-btn")).toBeVisible();
|
|
@@ -847,6 +869,84 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
|
|
|
847
869
|
}).click();
|
|
848
870
|
await (0, $hOLA6$expect)(this.page.locator(".phase-link-container").locator(".variable").first()).toHaveText(expectedDescription);
|
|
849
871
|
}
|
|
872
|
+
async setReleaseTitle(releaseName) {
|
|
873
|
+
await this.page.getByLabel("Release title *").fill(releaseName);
|
|
874
|
+
}
|
|
875
|
+
async setFolder(folderName) {
|
|
876
|
+
await this.page.getByPlaceholder("Select a folder").click();
|
|
877
|
+
await this.page.getByPlaceholder("Search folder...").fill(folderName);
|
|
878
|
+
await this.page.getByRole("button", {
|
|
879
|
+
name: folderName
|
|
880
|
+
}).click();
|
|
881
|
+
}
|
|
882
|
+
async setTemplate(templateName) {
|
|
883
|
+
await this.page.getByLabel("Template").click();
|
|
884
|
+
await this.page.getByLabel("Template").fill(templateName);
|
|
885
|
+
await this.page.getByRole("option", {
|
|
886
|
+
name: templateName
|
|
887
|
+
}).click();
|
|
888
|
+
}
|
|
889
|
+
async clearTemplate() {
|
|
890
|
+
await this.page.locator("#templateId").click();
|
|
891
|
+
await this.page.locator("#templateId").clear();
|
|
892
|
+
}
|
|
893
|
+
async errorMsgVisible(errorMessage) {
|
|
894
|
+
await (0, $hOLA6$expect)(this.page.locator("#dialogTitle")).toContainText(errorMessage);
|
|
895
|
+
}
|
|
896
|
+
async isButtonVisible(buttonName, visible = true) {
|
|
897
|
+
(0, $hOLA6$expect)(await this.page.getByRole("button", {
|
|
898
|
+
name: buttonName
|
|
899
|
+
}).isVisible()).toBe(visible);
|
|
900
|
+
}
|
|
901
|
+
async cancelDialogWindow() {
|
|
902
|
+
await this.page.getByRole("button", {
|
|
903
|
+
name: "cancel"
|
|
904
|
+
}).click();
|
|
905
|
+
}
|
|
906
|
+
async acceptDialogWindow() {
|
|
907
|
+
await this.page.getByRole("button", {
|
|
908
|
+
name: "ok"
|
|
909
|
+
}).click();
|
|
910
|
+
}
|
|
911
|
+
async setRiskProfile(RiskProfile) {
|
|
912
|
+
await this.page.getByLabel("Risk profile").click();
|
|
913
|
+
await this.page.getByLabel("Risk profile").fill(RiskProfile);
|
|
914
|
+
await this.page.getByRole("option", {
|
|
915
|
+
name: RiskProfile
|
|
916
|
+
}).click();
|
|
917
|
+
}
|
|
918
|
+
async expectTemplate(template) {
|
|
919
|
+
const templateName = await this.page.locator("#templateId").getAttribute("value");
|
|
920
|
+
(0, $hOLA6$expect)(templateName).toEqual(template);
|
|
921
|
+
}
|
|
922
|
+
async setAutoCompletePassword(passwordValue) {
|
|
923
|
+
await this.page.getByTestId("password").getByLabel("Click to switch between").click();
|
|
924
|
+
await this.page.locator("#password").fill(passwordValue);
|
|
925
|
+
await this.page.getByRole("option", {
|
|
926
|
+
name: passwordValue
|
|
927
|
+
}).click();
|
|
928
|
+
}
|
|
929
|
+
async setAutoCompleteField(fieldLabel, value) {
|
|
930
|
+
await this.page.getByLabel(fieldLabel).click();
|
|
931
|
+
await this.page.getByLabel(fieldLabel).fill(value);
|
|
932
|
+
await this.page.getByRole("option", {
|
|
933
|
+
name: value
|
|
934
|
+
}).click();
|
|
935
|
+
}
|
|
936
|
+
async setNewAutoCompleteField(fieldLabel, value) {
|
|
937
|
+
await this.page.getByLabel(fieldLabel).click();
|
|
938
|
+
await this.page.getByLabel(fieldLabel).fill(value);
|
|
939
|
+
await this.page.getByTestId("dot-action-item-btn").click();
|
|
940
|
+
}
|
|
941
|
+
async setTextField(fieldID, value) {
|
|
942
|
+
await this.page.locator(`[data-test-id="${fieldID}"]`).nth(1).click();
|
|
943
|
+
await this.page.locator(`input[name='${fieldID}']`).fill(value);
|
|
944
|
+
}
|
|
945
|
+
async abortButtonVisibility(visible = true) {
|
|
946
|
+
(0, $hOLA6$expect)(await this.page.getByRole("button", {
|
|
947
|
+
name: "Abort"
|
|
948
|
+
}).isVisible()).toBe(visible);
|
|
949
|
+
}
|
|
850
950
|
}
|
|
851
951
|
class $90bb70a7e909e500$export$fbbf45eff21470e3 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
852
952
|
constructor(page){
|
|
@@ -1005,6 +1105,25 @@ class $9c357602b6f466e7$export$aa59788fdecae2f2 extends (0, $9626bc9256ce31f7$ex
|
|
|
1005
1105
|
|
|
1006
1106
|
|
|
1007
1107
|
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
class $499d3d8c8706756b$export$b7be47b40aa877fc extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
1111
|
+
constructor(page){
|
|
1112
|
+
super(page);
|
|
1113
|
+
}
|
|
1114
|
+
async expectStartDateToBeDisplayed() {
|
|
1115
|
+
(0, $hOLA6$expect)(await this.page.locator(".flex-section.column").filter({
|
|
1116
|
+
hasText: "Start Date"
|
|
1117
|
+
}).locator(".task-date-view-content").isVisible()).toBe(true);
|
|
1118
|
+
}
|
|
1119
|
+
async expectEndDateToBeDisplayed() {
|
|
1120
|
+
(0, $hOLA6$expect)(await this.page.locator(".flex-section.column").filter({
|
|
1121
|
+
hasText: "End Date"
|
|
1122
|
+
}).locator(".task-date-view-content").isVisible()).toBe(true);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
|
|
1008
1127
|
class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
1009
1128
|
constructor(page){
|
|
1010
1129
|
super(page);
|
|
@@ -1031,7 +1150,8 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
|
|
|
1031
1150
|
exact: true
|
|
1032
1151
|
});
|
|
1033
1152
|
this.completeButton = this.page.getByRole("button", {
|
|
1034
|
-
name: "Complete"
|
|
1153
|
+
name: "Complete",
|
|
1154
|
+
exact: true
|
|
1035
1155
|
});
|
|
1036
1156
|
}
|
|
1037
1157
|
async openOverviewRail() {
|
|
@@ -1042,6 +1162,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
|
|
|
1042
1162
|
}
|
|
1043
1163
|
async openSchedulingRail() {
|
|
1044
1164
|
await this.openRail("Scheduling");
|
|
1165
|
+
return new (0, $499d3d8c8706756b$export$b7be47b40aa877fc)(this.page);
|
|
1045
1166
|
}
|
|
1046
1167
|
async openConditionRail() {
|
|
1047
1168
|
await this.openRail("Conditions");
|
|
@@ -1085,10 +1206,10 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
|
|
|
1085
1206
|
await this.confirm.click();
|
|
1086
1207
|
}
|
|
1087
1208
|
async expectTaskTitle(taskTitle) {
|
|
1088
|
-
(0, $hOLA6$expect)(
|
|
1209
|
+
await (0, $hOLA6$expect)(this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography")).toContainText(taskTitle);
|
|
1089
1210
|
}
|
|
1090
1211
|
async expectTypeToContain(taskType) {
|
|
1091
|
-
(0, $hOLA6$expect)(
|
|
1212
|
+
await (0, $hOLA6$expect)(this.page.locator(".task-drawer .task-type")).toContainText(taskType);
|
|
1092
1213
|
}
|
|
1093
1214
|
async clickExpand() {
|
|
1094
1215
|
await this.page.getByRole("tooltip", {
|
|
@@ -1179,6 +1300,10 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
|
|
|
1179
1300
|
async expectStartDateAndEndDateToBeDisplayed() {
|
|
1180
1301
|
await (0, $hOLA6$expect)(this.page.getByTestId("month-and-year")).toHaveCount(2);
|
|
1181
1302
|
}
|
|
1303
|
+
async expectPhaseAndTaskTitleToContain(phaseName, taskTitle) {
|
|
1304
|
+
await (0, $hOLA6$expect)(this.page.locator(".task-header-top-path")).toContainText(phaseName);
|
|
1305
|
+
await this.expectTaskTitle(taskTitle);
|
|
1306
|
+
}
|
|
1182
1307
|
}
|
|
1183
1308
|
|
|
1184
1309
|
|
|
@@ -1572,6 +1697,7 @@ class $87bbb6d35ad31a00$export$f8f26dd395d7e1bd extends (0, $9626bc9256ce31f7$ex
|
|
|
1572
1697
|
|
|
1573
1698
|
|
|
1574
1699
|
class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
1700
|
+
defaultTimeout = 10000;
|
|
1575
1701
|
constructor(page){
|
|
1576
1702
|
super(page);
|
|
1577
1703
|
this.createPage = new (0, $05d91a1d3381a287$export$34addcca3f0ae43f)(page);
|
|
@@ -1580,7 +1706,7 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
|
|
|
1580
1706
|
this.teamsPermissions = new (0, $96c6280ff1c47b81$export$3bc3e140e0dcb075)(page);
|
|
1581
1707
|
this.phaseTitle = this.page.locator(".phase .phase-title");
|
|
1582
1708
|
this.properties = new (0, $c9bb587dd92143c3$export$d1077068a9cc9f17)(page);
|
|
1583
|
-
this.variables = new (0, $
|
|
1709
|
+
this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
|
|
1584
1710
|
this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
|
|
1585
1711
|
}
|
|
1586
1712
|
async openTriggers() {
|
|
@@ -1619,74 +1745,78 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
|
|
|
1619
1745
|
name: "Start"
|
|
1620
1746
|
}).click();
|
|
1621
1747
|
}
|
|
1622
|
-
async waitForCompletion(timeout) {
|
|
1748
|
+
async waitForCompletion(timeout = this.defaultTimeout) {
|
|
1623
1749
|
await this.page.locator("#release.completed").waitFor({
|
|
1624
1750
|
timeout: timeout
|
|
1625
1751
|
});
|
|
1626
1752
|
}
|
|
1627
|
-
async waitForTaskCompleted(taskTitle) {
|
|
1753
|
+
async waitForTaskCompleted(taskTitle, timeout = this.defaultTimeout) {
|
|
1628
1754
|
await (0, $hOLA6$expect)(this.page.locator(".task.completed").getByText(taskTitle, {
|
|
1629
1755
|
exact: true
|
|
1630
1756
|
})).toBeVisible({
|
|
1631
|
-
timeout:
|
|
1757
|
+
timeout: timeout
|
|
1632
1758
|
});
|
|
1633
1759
|
}
|
|
1634
|
-
async waitForTaskCompletedInAdvance(taskTitle) {
|
|
1760
|
+
async waitForTaskCompletedInAdvance(taskTitle, timeout = this.defaultTimeout) {
|
|
1635
1761
|
await (0, $hOLA6$expect)(this.page.locator(".task.completed_in_advance").getByText(taskTitle, {
|
|
1636
1762
|
exact: true
|
|
1637
1763
|
})).toBeVisible({
|
|
1638
|
-
timeout:
|
|
1764
|
+
timeout: timeout
|
|
1639
1765
|
});
|
|
1640
1766
|
}
|
|
1641
|
-
async waitForTaskInProgress(taskTitle) {
|
|
1767
|
+
async waitForTaskInProgress(taskTitle, timeout = this.defaultTimeout) {
|
|
1642
1768
|
await (0, $hOLA6$expect)(this.page.locator(".task.in_progress").getByText(taskTitle, {
|
|
1643
1769
|
exact: true
|
|
1644
|
-
})).toBeVisible(
|
|
1770
|
+
})).toBeVisible({
|
|
1771
|
+
timeout: timeout
|
|
1772
|
+
});
|
|
1645
1773
|
}
|
|
1646
|
-
async waitForTaskFailed(taskTitle) {
|
|
1774
|
+
async waitForTaskFailed(taskTitle, timeout = this.defaultTimeout) {
|
|
1647
1775
|
await (0, $hOLA6$expect)(this.page.locator(".task.failed").getByText(taskTitle, {
|
|
1648
1776
|
exact: true
|
|
1649
1777
|
})).toBeVisible({
|
|
1650
|
-
timeout:
|
|
1778
|
+
timeout: timeout
|
|
1651
1779
|
});
|
|
1652
1780
|
}
|
|
1653
|
-
async waitForTaskSkipped(taskTitle) {
|
|
1781
|
+
async waitForTaskSkipped(taskTitle, timeout = this.defaultTimeout) {
|
|
1654
1782
|
await (0, $hOLA6$expect)(this.page.locator(".task.skipped").getByText(taskTitle, {
|
|
1655
1783
|
exact: true
|
|
1656
1784
|
})).toBeVisible({
|
|
1657
|
-
timeout:
|
|
1785
|
+
timeout: timeout
|
|
1658
1786
|
});
|
|
1659
1787
|
}
|
|
1660
|
-
async waitForTaskSkippedInAdvance(taskTitle) {
|
|
1788
|
+
async waitForTaskSkippedInAdvance(taskTitle, timeout = this.defaultTimeout) {
|
|
1661
1789
|
await (0, $hOLA6$expect)(this.page.locator(".task.skipped_in_advance").getByText(taskTitle, {
|
|
1662
1790
|
exact: true
|
|
1663
1791
|
})).toBeVisible({
|
|
1664
|
-
timeout:
|
|
1792
|
+
timeout: timeout
|
|
1665
1793
|
});
|
|
1666
1794
|
}
|
|
1667
|
-
async waitForTaskAborted(taskTitle) {
|
|
1795
|
+
async waitForTaskAborted(taskTitle, timeout = this.defaultTimeout) {
|
|
1668
1796
|
await (0, $hOLA6$expect)(this.page.locator(".task.aborted").getByText(taskTitle, {
|
|
1669
1797
|
exact: true
|
|
1670
1798
|
})).toBeVisible({
|
|
1671
|
-
timeout:
|
|
1799
|
+
timeout: timeout
|
|
1672
1800
|
});
|
|
1673
1801
|
}
|
|
1674
|
-
async waitForStatusLine(statusLine) {
|
|
1802
|
+
async waitForStatusLine(statusLine, timeout = this.defaultTimeout) {
|
|
1675
1803
|
await (0, $hOLA6$expect)(this.page.locator(".task .status-line").getByText(statusLine, {
|
|
1676
1804
|
exact: true
|
|
1677
1805
|
})).toBeVisible({
|
|
1678
|
-
timeout:
|
|
1806
|
+
timeout: timeout
|
|
1679
1807
|
});
|
|
1680
1808
|
}
|
|
1681
|
-
async waitForTaskStarted(taskTitle) {
|
|
1809
|
+
async waitForTaskStarted(taskTitle, timeout = this.defaultTimeout) {
|
|
1682
1810
|
await (0, $hOLA6$expect)(this.page.locator(".task.in_progress").getByTitle(taskTitle, {
|
|
1683
1811
|
exact: true
|
|
1684
1812
|
})).toBeVisible({
|
|
1685
|
-
timeout:
|
|
1813
|
+
timeout: timeout
|
|
1686
1814
|
});
|
|
1687
1815
|
}
|
|
1688
|
-
async waitForTaskPlanned(title) {
|
|
1689
|
-
await (0, $hOLA6$expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible(
|
|
1816
|
+
async waitForTaskPlanned(title, timeout = this.defaultTimeout) {
|
|
1817
|
+
await (0, $hOLA6$expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible({
|
|
1818
|
+
timeout: timeout
|
|
1819
|
+
});
|
|
1690
1820
|
}
|
|
1691
1821
|
async expectTaskCompletedInAdvance(taskTitle) {
|
|
1692
1822
|
await (0, $hOLA6$expect)(this.page.locator("#release-content .completed_in_advance .task-title").filter({
|
|
@@ -1899,10 +2029,9 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
|
|
|
1899
2029
|
await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
|
|
1900
2030
|
hasText: title
|
|
1901
2031
|
}).locator(`.task-infos .failure-count.count-warning`)).toBeVisible();
|
|
1902
|
-
|
|
2032
|
+
await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
|
|
1903
2033
|
hasText: title
|
|
1904
|
-
}).locator(`.task-infos .failure-count.count-warning`).
|
|
1905
|
-
(0, $hOLA6$expect)(count).toContain(failCount.toString());
|
|
2034
|
+
}).locator(`.task-infos .failure-count.count-warning`)).toContainText(failCount.toString());
|
|
1906
2035
|
}
|
|
1907
2036
|
async expectTaskToHaveBeenDelayed(title) {
|
|
1908
2037
|
await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
|
|
@@ -1912,6 +2041,10 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
|
|
|
1912
2041
|
async expectOnePhaseDisplayed() {
|
|
1913
2042
|
(0, $hOLA6$expect)(await this.page.locator(".phase-content").count()).toBe(1);
|
|
1914
2043
|
}
|
|
2044
|
+
async restartPhases() {
|
|
2045
|
+
await this.page.getByTestId("restart-btn").click();
|
|
2046
|
+
return new $43cbcdfccb6c2a76$var$RestartPhaseModel(this.page);
|
|
2047
|
+
}
|
|
1915
2048
|
}
|
|
1916
2049
|
class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
1917
2050
|
constructor(page, phaseName){
|
|
@@ -2081,6 +2214,35 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
|
|
|
2081
2214
|
hasText: phaseName
|
|
2082
2215
|
})).not.toBeVisible();
|
|
2083
2216
|
}
|
|
2217
|
+
async expectCompletedPhase() {
|
|
2218
|
+
await (0, $hOLA6$expect)(this.phaseLocator.locator("a")).toContainText("View all completed phases");
|
|
2219
|
+
}
|
|
2220
|
+
}
|
|
2221
|
+
class $43cbcdfccb6c2a76$var$RestartPhaseModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
2222
|
+
constructor(page){
|
|
2223
|
+
super(page);
|
|
2224
|
+
this.continueBtn = this.page.getByRole("button", {
|
|
2225
|
+
name: "Continue"
|
|
2226
|
+
});
|
|
2227
|
+
}
|
|
2228
|
+
async fromPhase(phase) {
|
|
2229
|
+
await this.page.locator('.modal select[data-test="fromPhase"]').selectOption(phase);
|
|
2230
|
+
}
|
|
2231
|
+
async fromTask(task) {
|
|
2232
|
+
await this.page.locator('.modal select[data-test="fromTask"]').selectOption(task);
|
|
2233
|
+
}
|
|
2234
|
+
async expectNoTaskSelectorVisible() {
|
|
2235
|
+
(0, $hOLA6$expect)(await this.page.locator('.modal select[data-test="fromTask"]').isVisible()).toHaveLength(0);
|
|
2236
|
+
}
|
|
2237
|
+
async continue() {
|
|
2238
|
+
await this.page.locator(".modal .continue").click();
|
|
2239
|
+
}
|
|
2240
|
+
async resumeNow() {
|
|
2241
|
+
await this.page.locator(".modal .resume-now").click();
|
|
2242
|
+
}
|
|
2243
|
+
async resumeLater() {
|
|
2244
|
+
await this.page.locator(".modal .resume-later").click();
|
|
2245
|
+
}
|
|
2084
2246
|
}
|
|
2085
2247
|
|
|
2086
2248
|
|
|
@@ -2558,6 +2720,7 @@ class $7e73332bf754777c$export$32284f8bcf0bc407 extends (0, $9626bc9256ce31f7$ex
|
|
|
2558
2720
|
|
|
2559
2721
|
|
|
2560
2722
|
|
|
2723
|
+
|
|
2561
2724
|
class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
2562
2725
|
constructor(page){
|
|
2563
2726
|
super(page);
|
|
@@ -2569,6 +2732,7 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
2569
2732
|
this.notificationPage = new (0, $7e73332bf754777c$export$32284f8bcf0bc407)(page);
|
|
2570
2733
|
this.patternPage = new (0, $d13e78163af94d50$export$9b9454a7f137e99b)(page);
|
|
2571
2734
|
this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
|
|
2735
|
+
this.variables = new (0, $dfc4ce40cbd0eb71$export$f8e64fcf447db2bf)(page);
|
|
2572
2736
|
}
|
|
2573
2737
|
async openFoldersPage() {
|
|
2574
2738
|
await this.page.goto("./#/folders");
|
|
@@ -2710,6 +2874,22 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
|
|
|
2710
2874
|
await this.util.openSideNavMenu("Templates");
|
|
2711
2875
|
await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Templates")).toBeVisible();
|
|
2712
2876
|
}
|
|
2877
|
+
async openRelease() {
|
|
2878
|
+
await this.util.openSideNavMenu("Releases");
|
|
2879
|
+
await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Releases")).toBeVisible();
|
|
2880
|
+
}
|
|
2881
|
+
async expectReleaseStarted(releaseName) {
|
|
2882
|
+
await (0, $hOLA6$expect)(this.page.locator(".release").filter({
|
|
2883
|
+
hasText: releaseName
|
|
2884
|
+
}).locator(".release-status").filter({
|
|
2885
|
+
hasText: "In progress"
|
|
2886
|
+
})).toBeVisible();
|
|
2887
|
+
}
|
|
2888
|
+
async openVariables() {
|
|
2889
|
+
await this.util.openSideNavMenu("Variables");
|
|
2890
|
+
await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Variables")).toBeVisible();
|
|
2891
|
+
return this.variables;
|
|
2892
|
+
}
|
|
2713
2893
|
}
|
|
2714
2894
|
|
|
2715
2895
|
|
|
@@ -3016,7 +3196,7 @@ class $aa1ba8c8de3c0679$export$2fb4351c41ce6e7a extends (0, $9626bc9256ce31f7$ex
|
|
|
3016
3196
|
async verifyProductAnnouncements() {
|
|
3017
3197
|
await (0, $hOLA6$expect)(this.announcementIcon).toBeVisible();
|
|
3018
3198
|
await this.announcementIcon.click();
|
|
3019
|
-
(0, $hOLA6$expect)(
|
|
3199
|
+
await (0, $hOLA6$expect)(this.page.locator("#pendo-guide-container")).toContainText("Product updates");
|
|
3020
3200
|
}
|
|
3021
3201
|
async clickHelpIcon() {
|
|
3022
3202
|
await this.page.getByTestId("right-side-nav").getByRole("button", {
|
|
@@ -3854,6 +4034,327 @@ class $cc231ea61b77c7a2$export$1a0994e9c202d529 extends (0, $9626bc9256ce31f7$ex
|
|
|
3854
4034
|
|
|
3855
4035
|
|
|
3856
4036
|
|
|
4037
|
+
class $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
4038
|
+
constructor(page){
|
|
4039
|
+
super(page);
|
|
4040
|
+
this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
|
|
4041
|
+
this.addVariableValue = this.page.locator(".variable-value .xl-components-input-full input");
|
|
4042
|
+
this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
|
|
4043
|
+
this.listAddButton = this.page.getByRole("button", {
|
|
4044
|
+
name: "Add"
|
|
4045
|
+
});
|
|
4046
|
+
}
|
|
4047
|
+
async openVariable(variableKey) {
|
|
4048
|
+
await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
|
|
4049
|
+
return new $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
|
|
4050
|
+
}
|
|
4051
|
+
async addNewVariable(variableName, labelname, description) {
|
|
4052
|
+
await this.page.locator("#action-toolbar").getByTestId("dot-button").click();
|
|
4053
|
+
await this.page.fill(`[name="fieldKey"]`, variableName);
|
|
4054
|
+
await this.page.locator(".variable-label input").fill(labelname);
|
|
4055
|
+
if (description) await this.page.locator(".variable-description input").fill(description);
|
|
4056
|
+
}
|
|
4057
|
+
async selectVariableTextType(valuename) {
|
|
4058
|
+
await this.page.getByRole("combobox").selectOption("StringVariable");
|
|
4059
|
+
await this.page.locator(".variable-value").type(valuename);
|
|
4060
|
+
}
|
|
4061
|
+
async selectVariableListboxType(possiblevalue, defaultValue, required) {
|
|
4062
|
+
await this.page.getByRole("combobox").selectOption("DropDownListBox");
|
|
4063
|
+
if (possiblevalue instanceof Array) for (const value of possiblevalue){
|
|
4064
|
+
await this.addListValue.fill(value);
|
|
4065
|
+
await this.listAddButton.click();
|
|
4066
|
+
}
|
|
4067
|
+
else {
|
|
4068
|
+
await this.addListValue.fill(possiblevalue);
|
|
4069
|
+
await this.listAddButton.click();
|
|
4070
|
+
}
|
|
4071
|
+
await this.page.locator(".variable-value select").type(defaultValue);
|
|
4072
|
+
if (required) await this.page.getByRole("checkbox").check();
|
|
4073
|
+
else await this.page.getByRole("checkbox").uncheck();
|
|
4074
|
+
}
|
|
4075
|
+
async selectVariablePasswordType(possiblevalue) {
|
|
4076
|
+
await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
|
|
4077
|
+
await this.page.locator('input[type="password"]').type(possiblevalue);
|
|
4078
|
+
}
|
|
4079
|
+
async selectVariableCheckboxType() {
|
|
4080
|
+
await this.page.getByRole("combobox").selectOption("BooleanVariable");
|
|
4081
|
+
await this.page.getByRole("checkbox").check();
|
|
4082
|
+
}
|
|
4083
|
+
async selectVariableNumberType(possiblevalue) {
|
|
4084
|
+
await this.page.getByRole("combobox").selectOption("IntegerVariable");
|
|
4085
|
+
await this.page.locator('input[ng-model="var.value"]').fill(possiblevalue);
|
|
4086
|
+
}
|
|
4087
|
+
async selectVariableMultiListType(possiblevalue1, possiblevalue2) {
|
|
4088
|
+
await this.page.getByRole("combobox").selectOption("MultiSelectListBox");
|
|
4089
|
+
await this.addListValue.fill(possiblevalue1);
|
|
4090
|
+
await this.listAddButton.click();
|
|
4091
|
+
await this.addListValue.fill(possiblevalue2);
|
|
4092
|
+
await this.listAddButton.click();
|
|
4093
|
+
await this.page.locator(".react-tagsinput").click();
|
|
4094
|
+
await this.page.getByText("Select all", {
|
|
4095
|
+
exact: true
|
|
4096
|
+
}).click();
|
|
4097
|
+
}
|
|
4098
|
+
async addVariableDate() {
|
|
4099
|
+
await this.page.getByRole("combobox").selectOption("DateVariable");
|
|
4100
|
+
await this.page.getByText("Select date").click();
|
|
4101
|
+
}
|
|
4102
|
+
async setDate(date, monthYear) {
|
|
4103
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
4104
|
+
}
|
|
4105
|
+
async addVariableKeyValueMap(keys1, values1) {
|
|
4106
|
+
await this.page.getByRole("combobox").selectOption("MapStringStringVariable");
|
|
4107
|
+
await this.page.getByPlaceholder("key").fill(keys1);
|
|
4108
|
+
await this.page.getByPlaceholder("Value").fill(values1);
|
|
4109
|
+
await this.listAddButton.click();
|
|
4110
|
+
await this.page.locator(".xl-map-string-string-div-buttons .search-icon").click();
|
|
4111
|
+
await this.page.getByRole("row", {
|
|
4112
|
+
name: "Search"
|
|
4113
|
+
}).getByRole("textbox").fill(keys1);
|
|
4114
|
+
const detail = await this.page.locator("table.table-condensed span").allInnerTexts();
|
|
4115
|
+
(0, $hOLA6$expect)(detail[0]).toEqual(keys1);
|
|
4116
|
+
(0, $hOLA6$expect)(detail[1]).toEqual(values1);
|
|
4117
|
+
}
|
|
4118
|
+
async addVariableSet(possiblevalue1) {
|
|
4119
|
+
await this.page.getByRole("combobox").selectOption("SetStringVariable");
|
|
4120
|
+
await this.page.locator(".dip-input input").fill(possiblevalue1);
|
|
4121
|
+
await this.listAddButton.click();
|
|
4122
|
+
}
|
|
4123
|
+
async submitTheVariable() {
|
|
4124
|
+
const createButton = this.page.locator(".modal-footer .save");
|
|
4125
|
+
await (0, $hOLA6$expect)(createButton).toBeEnabled();
|
|
4126
|
+
await createButton.scrollIntoViewIfNeeded();
|
|
4127
|
+
await createButton.click();
|
|
4128
|
+
// Expect is needed here to avoid flackiness on clicking create button
|
|
4129
|
+
await (0, $hOLA6$expect)(createButton).not.toBeVisible();
|
|
4130
|
+
}
|
|
4131
|
+
async expectVariableWithNameValueAndType(name, value, type) {
|
|
4132
|
+
const rowLocator = await this.page.locator(".variable .data-row").allTextContents();
|
|
4133
|
+
(0, $hOLA6$expect)(rowLocator.toString()).toContain(name);
|
|
4134
|
+
(0, $hOLA6$expect)(rowLocator.toString()).toContain(value);
|
|
4135
|
+
(0, $hOLA6$expect)(rowLocator.toString()).toContain(type);
|
|
4136
|
+
}
|
|
4137
|
+
async clickEditVariable(variableName) {
|
|
4138
|
+
await this.page.locator("[id='variables-filter']").fill(variableName);
|
|
4139
|
+
await this.page.getByText("Edit").first().click();
|
|
4140
|
+
return new $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
|
|
4141
|
+
}
|
|
4142
|
+
async clickDeleteVariable(variableName) {
|
|
4143
|
+
await this.page.locator("[id='variables-filter']").fill(variableName);
|
|
4144
|
+
await this.page.locator(".action .delete-icon").first().click();
|
|
4145
|
+
return new $f48771b486a3eb8f$var$DeleteVariableModel(this.page);
|
|
4146
|
+
}
|
|
4147
|
+
async expectVariablesCountToBe(count) {
|
|
4148
|
+
await (0, $hOLA6$expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
|
|
4149
|
+
}
|
|
4150
|
+
async expectVariableNotPresent(variableName) {
|
|
4151
|
+
await (0, $hOLA6$expect)(this.page.locator(".variable").filter({
|
|
4152
|
+
hasText: variableName
|
|
4153
|
+
})).not.toBeVisible();
|
|
4154
|
+
}
|
|
4155
|
+
async clearSearch() {
|
|
4156
|
+
await this.page.locator("[id='variables-filter']").clear();
|
|
4157
|
+
}
|
|
4158
|
+
async switchPossibleValuesToVariable(variableName) {
|
|
4159
|
+
await this.page.locator(".variable-toggle button").click();
|
|
4160
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
4161
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
4162
|
+
hasText: `${variableName}`
|
|
4163
|
+
}).click();
|
|
4164
|
+
}
|
|
4165
|
+
async selectVariableListboxTypeWithVariable(variableName, defaultValue, required) {
|
|
4166
|
+
await this.page.getByRole("combobox").selectOption("DropDownListBox");
|
|
4167
|
+
await this.page.locator(".variable-toggle button").click();
|
|
4168
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
4169
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
4170
|
+
hasText: `${variableName}`
|
|
4171
|
+
}).click();
|
|
4172
|
+
await this.page.locator(".variable-value select").type(defaultValue);
|
|
4173
|
+
if (required) await this.page.getByRole("checkbox").check();
|
|
4174
|
+
else await this.page.getByRole("checkbox").uncheck();
|
|
4175
|
+
}
|
|
4176
|
+
}
|
|
4177
|
+
class $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
4178
|
+
constructor(page){
|
|
4179
|
+
super(page);
|
|
4180
|
+
this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
|
|
4181
|
+
}
|
|
4182
|
+
async expectValue(locators, expectFn) {
|
|
4183
|
+
const [index, locator] = await (0, $251ce8153733e46f$export$a0f926f04148e5d2)(locators);
|
|
4184
|
+
expectFn[index](locator);
|
|
4185
|
+
}
|
|
4186
|
+
async expectValueToBe(value) {
|
|
4187
|
+
await this.expectValue([
|
|
4188
|
+
this.page.locator("#modal .variable-value input"),
|
|
4189
|
+
this.page.locator("#modal .variable-value .field-readonly"),
|
|
4190
|
+
this.page.locator("#modal .variable-value .xl-map-string-string"),
|
|
4191
|
+
this.page.locator("#modal .variable-value .xl-list-display-mode .text-container")
|
|
4192
|
+
], [
|
|
4193
|
+
(l)=>(0, $hOLA6$expect)(l).toHaveValue(value),
|
|
4194
|
+
(l)=>(0, $hOLA6$expect)(l).toHaveText(value),
|
|
4195
|
+
(l)=>(0, $hOLA6$expect)(l).toHaveText(value),
|
|
4196
|
+
(l)=>(0, $hOLA6$expect)(l).toHaveText(value)
|
|
4197
|
+
]);
|
|
4198
|
+
}
|
|
4199
|
+
async expectValueToContain(value) {
|
|
4200
|
+
await this.expectValue([
|
|
4201
|
+
this.page.locator("#modal .variable-value input"),
|
|
4202
|
+
this.page.locator("#modal .variable-value .field-readonly"),
|
|
4203
|
+
this.page.locator("#modal .variable-value .xl-map-string-string"),
|
|
4204
|
+
this.page.locator("#modal .variable-value .xl-list-display-mode")
|
|
4205
|
+
], [
|
|
4206
|
+
(l)=>(0, $hOLA6$expect)(l.inputValue()).toContain(value),
|
|
4207
|
+
(l)=>(0, $hOLA6$expect)(l).toContainText(value),
|
|
4208
|
+
(l)=>(0, $hOLA6$expect)(l).toContainText(value),
|
|
4209
|
+
(l)=>(0, $hOLA6$expect)(l).toContainText(value)
|
|
4210
|
+
]);
|
|
4211
|
+
}
|
|
4212
|
+
async close() {
|
|
4213
|
+
await this.page.locator("#modal .modal-header button.close").click();
|
|
4214
|
+
}
|
|
4215
|
+
async expectPossibleValues(possiblevalue) {
|
|
4216
|
+
const listLocator = await this.page.locator(".editor .xl-list-row").allInnerTexts();
|
|
4217
|
+
if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $hOLA6$expect)(listLocator).toContain(value);
|
|
4218
|
+
else (0, $hOLA6$expect)(listLocator).toContain(possiblevalue);
|
|
4219
|
+
}
|
|
4220
|
+
async expectPossibleVariableValues(possiblevariablevalue) {
|
|
4221
|
+
await (0, $hOLA6$expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
|
|
4222
|
+
}
|
|
4223
|
+
async addPossibleValue(value) {
|
|
4224
|
+
if (value instanceof Array) for (const li of value){
|
|
4225
|
+
await this.page.locator(".xl-components-input-full input").fill(li);
|
|
4226
|
+
await this.page.getByRole("button", {
|
|
4227
|
+
name: "Add"
|
|
4228
|
+
}).click();
|
|
4229
|
+
}
|
|
4230
|
+
else {
|
|
4231
|
+
await this.page.locator(".xl-components-input-full input").fill(value);
|
|
4232
|
+
await this.page.getByRole("button", {
|
|
4233
|
+
name: "Add"
|
|
4234
|
+
}).click();
|
|
4235
|
+
}
|
|
4236
|
+
}
|
|
4237
|
+
async selectVariableValue(defaultValue) {
|
|
4238
|
+
await this.page.locator(".variable-value select").selectOption(defaultValue);
|
|
4239
|
+
}
|
|
4240
|
+
async save() {
|
|
4241
|
+
const saveButton = this.page.locator("#modal .modal-footer .save");
|
|
4242
|
+
await saveButton.scrollIntoViewIfNeeded();
|
|
4243
|
+
await saveButton.click({
|
|
4244
|
+
delay: 2000
|
|
4245
|
+
});
|
|
4246
|
+
// Expect is needed here to avoid flackiness on clicking save button on modal window
|
|
4247
|
+
await (0, $hOLA6$expect)(saveButton).not.toBeVisible();
|
|
4248
|
+
}
|
|
4249
|
+
async createPossibleValuesVariable(variableName) {
|
|
4250
|
+
await this.page.locator(".variable-toggle button").click();
|
|
4251
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
4252
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
4253
|
+
hasText: `${variableName}`
|
|
4254
|
+
}).click();
|
|
4255
|
+
}
|
|
4256
|
+
async expectVariableValueToBe(value) {
|
|
4257
|
+
(0, $hOLA6$expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
|
|
4258
|
+
}
|
|
4259
|
+
async expectNoVariablesInList() {
|
|
4260
|
+
await (0, $hOLA6$expect)(this.page.getByText("No variables defined.")).toBeVisible();
|
|
4261
|
+
}
|
|
4262
|
+
async expectNameInput(value) {
|
|
4263
|
+
await (0, $hOLA6$expect)(this.page.locator(`#modal .variable-name input`)).toHaveValue(value);
|
|
4264
|
+
}
|
|
4265
|
+
async expectLabel(value) {
|
|
4266
|
+
await (0, $hOLA6$expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
|
|
4267
|
+
}
|
|
4268
|
+
async expectRequired(value) {
|
|
4269
|
+
if (value == true) await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
|
|
4270
|
+
else await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
|
|
4271
|
+
}
|
|
4272
|
+
async setDescription(description) {
|
|
4273
|
+
await this.page.locator(".variable-description input").click();
|
|
4274
|
+
await this.page.locator(".variable-description input").clear();
|
|
4275
|
+
await this.page.locator(".variable-description input").fill(description);
|
|
4276
|
+
}
|
|
4277
|
+
async setLabel(labelValue) {
|
|
4278
|
+
await this.page.locator(".variable-label input").fill(labelValue);
|
|
4279
|
+
}
|
|
4280
|
+
async setDate(date, monthYear) {
|
|
4281
|
+
await this.page.locator("#modal .date").click();
|
|
4282
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
4283
|
+
}
|
|
4284
|
+
async setValue(value) {
|
|
4285
|
+
await this.page.locator(".variable-value input").fill(value);
|
|
4286
|
+
}
|
|
4287
|
+
}
|
|
4288
|
+
class $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
4289
|
+
constructor(page){
|
|
4290
|
+
super(page);
|
|
4291
|
+
this.model = new $f48771b486a3eb8f$var$ReleaseVariableModal(page);
|
|
4292
|
+
this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
|
|
4293
|
+
}
|
|
4294
|
+
async deleteVariable() {
|
|
4295
|
+
await (0, $hOLA6$expect)(this.page.getByRole("heading", {
|
|
4296
|
+
name: "Replace and delete"
|
|
4297
|
+
})).toBeVisible();
|
|
4298
|
+
await this.page.getByRole("button", {
|
|
4299
|
+
name: "Delete"
|
|
4300
|
+
}).click();
|
|
4301
|
+
}
|
|
4302
|
+
async replaceItWithVariable(variable) {
|
|
4303
|
+
await this.model.createPossibleValuesVariable(variable);
|
|
4304
|
+
}
|
|
4305
|
+
async replaceItwithValue(value) {
|
|
4306
|
+
await this.page.locator(".display").click();
|
|
4307
|
+
await this.page.getByLabel("*").fill(value);
|
|
4308
|
+
}
|
|
4309
|
+
async clickReplaceAndDelete() {
|
|
4310
|
+
await this.page.getByRole("button", {
|
|
4311
|
+
name: "Replace and delete"
|
|
4312
|
+
}).click();
|
|
4313
|
+
}
|
|
4314
|
+
async addValue(value) {
|
|
4315
|
+
await this.page.locator(".xl-components-input-full input").fill(value);
|
|
4316
|
+
await this.page.getByRole("button", {
|
|
4317
|
+
name: "Add"
|
|
4318
|
+
}).click();
|
|
4319
|
+
}
|
|
4320
|
+
async remove(value) {
|
|
4321
|
+
await this.page.locator("li").filter({
|
|
4322
|
+
hasText: value
|
|
4323
|
+
}).locator("i.close-icon").click();
|
|
4324
|
+
}
|
|
4325
|
+
async expectReplacementPromptDisplayed() {
|
|
4326
|
+
await (0, $hOLA6$expect)(this.page.getByRole("heading", {
|
|
4327
|
+
name: "Replace and delete"
|
|
4328
|
+
})).toBeVisible();
|
|
4329
|
+
}
|
|
4330
|
+
async close() {
|
|
4331
|
+
await this.page.locator("#modal .modal-header button.close").click();
|
|
4332
|
+
}
|
|
4333
|
+
async removeItemOnSet(value) {
|
|
4334
|
+
await this.page.locator("tr").filter({
|
|
4335
|
+
hasText: value
|
|
4336
|
+
}).locator("i.close-icon").click();
|
|
4337
|
+
}
|
|
4338
|
+
async addValueForSet(key, value) {
|
|
4339
|
+
await this.page.locator(".input-key").fill(key);
|
|
4340
|
+
await this.page.locator(".input-value").fill(value);
|
|
4341
|
+
}
|
|
4342
|
+
async replaceWithIntegerValue(value) {
|
|
4343
|
+
await this.page.locator(".editable").fill(value);
|
|
4344
|
+
}
|
|
4345
|
+
async replaceForBooleanValue() {
|
|
4346
|
+
await this.page.locator(".editor input").click();
|
|
4347
|
+
}
|
|
4348
|
+
async deleteBySettingDate(date, monthYear) {
|
|
4349
|
+
await this.page.locator("#modal .date").click();
|
|
4350
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
4351
|
+
}
|
|
4352
|
+
}
|
|
4353
|
+
|
|
4354
|
+
|
|
4355
|
+
|
|
4356
|
+
|
|
4357
|
+
|
|
3857
4358
|
class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
|
|
3858
4359
|
constructor(page){
|
|
3859
4360
|
super(page);
|
|
@@ -3864,6 +4365,17 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
|
|
|
3864
4365
|
await this.filterTaskByTitle(taskName);
|
|
3865
4366
|
await this.page.getByText(taskName).first().click();
|
|
3866
4367
|
}
|
|
4368
|
+
async complete(taskName, comment) {
|
|
4369
|
+
await this.page.locator(`.row.task-inner`, {
|
|
4370
|
+
hasText: taskName
|
|
4371
|
+
}).locator("span.complete").click();
|
|
4372
|
+
await this.commentBox.click();
|
|
4373
|
+
await this.commentBox.fill(comment);
|
|
4374
|
+
await this.page.getByRole("button", {
|
|
4375
|
+
name: "Complete",
|
|
4376
|
+
exact: true
|
|
4377
|
+
}).click();
|
|
4378
|
+
}
|
|
3867
4379
|
async skip(taskName, comment) {
|
|
3868
4380
|
await this.page.locator(`.row.task-inner`, {
|
|
3869
4381
|
hasText: taskName
|
|
@@ -4041,7 +4553,7 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
|
|
|
4041
4553
|
await (0, $hOLA6$expect)(this.page.locator(`.task-line:has-text("${title}") >> text="${user}"`).first()).toHaveCount(1);
|
|
4042
4554
|
}
|
|
4043
4555
|
async expectTaskTitle(taskTitle) {
|
|
4044
|
-
(0, $hOLA6$expect)(
|
|
4556
|
+
await (0, $hOLA6$expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
|
|
4045
4557
|
}
|
|
4046
4558
|
async clickOnTasksLabel() {
|
|
4047
4559
|
await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
|
|
@@ -4423,7 +4935,10 @@ class $0c4084f199d70d72$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
|
|
|
4423
4935
|
await this.page.locator(".icon-close").click();
|
|
4424
4936
|
await this.page.locator("#task-title").fill(taskTitle);
|
|
4425
4937
|
await this.page.getByTestId("save-select-task-btn").click();
|
|
4426
|
-
await
|
|
4938
|
+
await this.page.locator("#release-header").click();
|
|
4939
|
+
await (0, $hOLA6$expect)(this.phaseLocator.locator(".task-title").filter({
|
|
4940
|
+
hasText: taskTitle
|
|
4941
|
+
})).toBeVisible();
|
|
4427
4942
|
}
|
|
4428
4943
|
async getNumberOfTasks() {
|
|
4429
4944
|
return await this.phaseLocator.locator(".task").count();
|
|
@@ -5222,7 +5737,7 @@ const $f86fbaaa8b4e8c61$export$45f0aca2596a2bb3 = function() {
|
|
|
5222
5737
|
processTasks(subTask, task, idx);
|
|
5223
5738
|
});
|
|
5224
5739
|
(0, $hOLA6$lodasheach)(task.templateVariables, function(variable, idx) {
|
|
5225
|
-
(0, $hOLA6$lodashdefaults)(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
|
|
5740
|
+
if (variable.value !== undefined) (0, $hOLA6$lodashdefaults)(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
|
|
5226
5741
|
});
|
|
5227
5742
|
(0, $hOLA6$lodasheach)(task.attachments, function(attachment, idx) {
|
|
5228
5743
|
attachment.type = ATTACHMENT_TYPE;
|
|
@@ -5293,7 +5808,7 @@ const $f86fbaaa8b4e8c61$export$45f0aca2596a2bb3 = function() {
|
|
|
5293
5808
|
attachment.id = `${release.id}/Attachment${index}`;
|
|
5294
5809
|
});
|
|
5295
5810
|
(0, $hOLA6$lodashforEach)(release.variables, function(variable, index) {
|
|
5296
|
-
(0, $hOLA6$lodashdefaults)(variable, getVariableEntity(variable.value, variable.key, release.id, index));
|
|
5811
|
+
if (variable.value !== undefined) (0, $hOLA6$lodashdefaults)(variable, getVariableEntity(variable.value, variable.key, release.id, index));
|
|
5297
5812
|
if (variable.valueProvider) (0, $hOLA6$lodashdefaults)(variable.valueProvider, getValueProviderConfigurationEntity(variable.id));
|
|
5298
5813
|
});
|
|
5299
5814
|
(0, $hOLA6$lodashforEach)((0, $hOLA6$lodashtoPairs)(release.variableValues), function(keyValue, index) {
|
|
@@ -5343,6 +5858,7 @@ const $80c3ae34677b4324$export$e0969da9b8fb378d = (0, $hOLA6$test).extend({
|
|
|
5343
5858
|
class $80c3ae34677b4324$var$Fixtures {
|
|
5344
5859
|
archivedReleaseIds = [];
|
|
5345
5860
|
releaseIds = [];
|
|
5861
|
+
riskProfiles = [];
|
|
5346
5862
|
triggerIds = [];
|
|
5347
5863
|
configurationIds = [];
|
|
5348
5864
|
globalVariableIds = [];
|
|
@@ -5486,6 +6002,29 @@ class $80c3ae34677b4324$var$Fixtures {
|
|
|
5486
6002
|
variable.showOnReleaseStart = false;
|
|
5487
6003
|
return this.doPost("api/v1/config/Configuration/variables/global", variable);
|
|
5488
6004
|
}
|
|
6005
|
+
addDefaultSmtpServer() {
|
|
6006
|
+
const defaultSmtpServer = [
|
|
6007
|
+
{
|
|
6008
|
+
type: "xlrelease.SmtpServer",
|
|
6009
|
+
id: "Configuration/mail/SmtpServer",
|
|
6010
|
+
host: "localhost",
|
|
6011
|
+
port: "25",
|
|
6012
|
+
fromAddress: "foo@bar.com",
|
|
6013
|
+
authentication: {
|
|
6014
|
+
id: "Configuration/mail/SmtpServer/authentication",
|
|
6015
|
+
type: "xlrelease.NoSmtpAuthentication"
|
|
6016
|
+
}
|
|
6017
|
+
}
|
|
6018
|
+
];
|
|
6019
|
+
return this.doPost("fixtures/", defaultSmtpServer);
|
|
6020
|
+
}
|
|
6021
|
+
riskProfile(riskProfile) {
|
|
6022
|
+
this.riskProfiles.push(riskProfile.id);
|
|
6023
|
+
return this.doPost("fixtures/riskProfiles", riskProfile);
|
|
6024
|
+
}
|
|
6025
|
+
deleteRiskProfile(riskProfileId) {
|
|
6026
|
+
return this.doDelete(`fixtures/riskProfiles/${riskProfileId}`);
|
|
6027
|
+
}
|
|
5489
6028
|
async cleanAll() {
|
|
5490
6029
|
for (const username of this.usernames)await this.deleteUser(username);
|
|
5491
6030
|
for (const userProfile of this.userProfiles)await this.deleteUserProfile(userProfile);
|