@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/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 $f48771b486a3eb8f$export$a87f0ae8695e74be extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
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 $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
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("[id='variables-filter']").fill(variableName);
386
- await this.page.getByText("Edit").first().click();
387
- return new $f48771b486a3eb8f$var$ReleaseVariableModal(this.page);
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("[id='variables-filter']").fill(variableName);
391
- await this.page.locator(".action .delete-icon").first().click();
392
- return new $f48771b486a3eb8f$var$DeleteVariableModel(this.page);
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 clearSearch() {
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 $f48771b486a3eb8f$var$ReleaseVariableModal extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
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(possiblevariablevalue) {
468
- await (0, $hOLA6$expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
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 == true) await (0, $hOLA6$expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
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 $f48771b486a3eb8f$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
558
+ class $dfc4ce40cbd0eb71$var$DeleteVariableModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
536
559
  constructor(page){
537
560
  super(page);
538
- this.model = new $f48771b486a3eb8f$var$ReleaseVariableModal(page);
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
- return this.setValueFromCi(propertyName, variableName);
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
- const count = await this.railLocator.locator(".gate-task-dependencies .dependency").count();
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)(await this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography").innerText()).toContain(taskTitle);
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)(await this.page.locator(".task-drawer .task-type").innerText()).toContain(taskType);
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, $f48771b486a3eb8f$export$a87f0ae8695e74be)(page);
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: 10000
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: 10000
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: 10000
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: 10000
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: 10000
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: 10000
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: 10000
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: 10000
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
- const count = await this.page.locator(`.task`).filter({
2032
+ await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
1903
2033
  hasText: title
1904
- }).locator(`.task-infos .failure-count.count-warning`).innerText();
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)(await this.page.locator("#pendo-guide-container").innerText()).toContain("Product updates");
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)(await this.page.locator("#tasks0").innerText()).toContain(taskTitle);
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 (0, $hOLA6$expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
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);