@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/main.js CHANGED
@@ -966,6 +966,7 @@ class $f8721861c660dd88$export$2b65d1d97338f32b {
966
966
  class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
967
967
  constructor(page){
968
968
  super(page);
969
+ this.releaseForm = this.page.locator("#release-properties .form-group");
969
970
  }
970
971
  async setName(releaseName) {
971
972
  await this.page.locator("#release-form-title").click();
@@ -1012,6 +1013,14 @@ class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$ex
1012
1013
  await this.page.locator(`#form-${variableName} .display`).click();
1013
1014
  await this.page.locator(`input[name="${variableName}"]`).fill(value);
1014
1015
  }
1016
+ async setVariable(variable, value) {
1017
+ await this.releaseForm.filter({
1018
+ hasText: variable
1019
+ }).locator("div[inline-text-editor]").click();
1020
+ await this.releaseForm.filter({
1021
+ hasText: variable
1022
+ }).locator("div[inline-text-editor] input").fill(value);
1023
+ }
1015
1024
  }
1016
1025
 
1017
1026
 
@@ -1217,7 +1226,7 @@ class $880df57ffbf6e614$export$9b575f14aa5e09a1 extends (0, $f8721861c660dd88$ex
1217
1226
  }
1218
1227
 
1219
1228
 
1220
- class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1229
+ class $59543fc69900e8db$export$f8e64fcf447db2bf extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1221
1230
  constructor(page){
1222
1231
  super(page);
1223
1232
  this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
@@ -1229,7 +1238,7 @@ class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$ex
1229
1238
  }
1230
1239
  async openVariable(variableKey) {
1231
1240
  await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
1232
- return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
1241
+ return new $59543fc69900e8db$var$VariableModal(this.page);
1233
1242
  }
1234
1243
  async addNewVariable(variableName, labelname, description) {
1235
1244
  await this.page.locator("#action-toolbar").getByTestId("dot-button").click();
@@ -1318,14 +1327,16 @@ class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$ex
1318
1327
  (0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(type);
1319
1328
  }
1320
1329
  async clickEditVariable(variableName) {
1321
- await this.page.locator("[id='variables-filter']").fill(variableName);
1322
- await this.page.getByText("Edit").first().click();
1323
- return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
1330
+ await this.page.locator(".data-row").filter({
1331
+ hasText: variableName
1332
+ }).getByText("Edit").first().click();
1333
+ return new $59543fc69900e8db$var$VariableModal(this.page);
1324
1334
  }
1325
1335
  async clickDeleteVariable(variableName) {
1326
- await this.page.locator("[id='variables-filter']").fill(variableName);
1327
- await this.page.locator(".action .delete-icon").first().click();
1328
- return new $fd4eef3ad2b2e612$var$DeleteVariableModel(this.page);
1336
+ await this.page.locator(".data-row").filter({
1337
+ hasText: variableName
1338
+ }).locator(".action .delete-icon").first().click();
1339
+ return new $59543fc69900e8db$var$DeleteVariableModel(this.page);
1329
1340
  }
1330
1341
  async expectVariablesCountToBe(count) {
1331
1342
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
@@ -1335,7 +1346,7 @@ class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$ex
1335
1346
  hasText: variableName
1336
1347
  })).not.toBeVisible();
1337
1348
  }
1338
- async clearSearch() {
1349
+ async clearReleaseVariableSearch() {
1339
1350
  await this.page.locator("[id='variables-filter']").clear();
1340
1351
  }
1341
1352
  async switchPossibleValuesToVariable(variableName) {
@@ -1356,8 +1367,14 @@ class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$ex
1356
1367
  if (required) await this.page.getByRole("checkbox").check();
1357
1368
  else await this.page.getByRole("checkbox").uncheck();
1358
1369
  }
1370
+ async searchFolderVariable(variableName) {
1371
+ await this.page.locator(".searchFilter").fill(variableName);
1372
+ }
1373
+ async clearFolderVarSearch() {
1374
+ await this.page.locator(".searchFilter").clear();
1375
+ }
1359
1376
  }
1360
- class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1377
+ class $59543fc69900e8db$var$VariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1361
1378
  constructor(page){
1362
1379
  super(page);
1363
1380
  this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
@@ -1400,8 +1417,8 @@ class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$e
1400
1417
  if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $kKeXs$playwrighttest.expect)(listLocator).toContain(value);
1401
1418
  else (0, $kKeXs$playwrighttest.expect)(listLocator).toContain(possiblevalue);
1402
1419
  }
1403
- async expectPossibleVariableValues(possiblevariablevalue) {
1404
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
1420
+ async expectPossibleVariableValues(possibleVariableValue) {
1421
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possibleVariableValue);
1405
1422
  }
1406
1423
  async addPossibleValue(value) {
1407
1424
  if (value instanceof Array) for (const li of value){
@@ -1449,7 +1466,7 @@ class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$e
1449
1466
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
1450
1467
  }
1451
1468
  async expectRequired(value) {
1452
- if (value == true) await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
1469
+ if (value) await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
1453
1470
  else await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
1454
1471
  }
1455
1472
  async setDescription(description) {
@@ -1467,11 +1484,17 @@ class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$e
1467
1484
  async setValue(value) {
1468
1485
  await this.page.locator(".variable-value input").fill(value);
1469
1486
  }
1487
+ async clickMultiline() {
1488
+ await this.page.locator("#multiline").click();
1489
+ }
1490
+ async setValueForMultilinePassword(value) {
1491
+ await this.page.locator(".password-textarea").fill(value);
1492
+ }
1470
1493
  }
1471
- class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1494
+ class $59543fc69900e8db$var$DeleteVariableModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1472
1495
  constructor(page){
1473
1496
  super(page);
1474
- this.model = new $fd4eef3ad2b2e612$var$ReleaseVariableModal(page);
1497
+ this.model = new $59543fc69900e8db$var$VariableModal(page);
1475
1498
  this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
1476
1499
  }
1477
1500
  async deleteVariable() {
@@ -1674,7 +1697,7 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
1674
1697
  }).click();
1675
1698
  }
1676
1699
  async setVariable(propertyName, variableName) {
1677
- return this.setValueFromCi(propertyName, variableName);
1700
+ await this.railLocator.locator(`input[id="${propertyName}"]`).fill(variableName);
1678
1701
  }
1679
1702
  async expectValueFromString(propertyName, propertyValue) {
1680
1703
  return await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`)).toHaveText(propertyValue);
@@ -1739,8 +1762,7 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
1739
1762
  }
1740
1763
  async getDependencyCount() {
1741
1764
  await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(".gate-task-dependencies")).toBeVisible();
1742
- const count = await this.railLocator.locator(".gate-task-dependencies .dependency").count();
1743
- return count;
1765
+ return await this.railLocator.locator(".gate-task-dependencies .dependency").count();
1744
1766
  }
1745
1767
  async addDependency() {
1746
1768
  await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(".add-dependency-btn")).toBeVisible();
@@ -1783,6 +1805,84 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
1783
1805
  }).click();
1784
1806
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".phase-link-container").locator(".variable").first()).toHaveText(expectedDescription);
1785
1807
  }
1808
+ async setReleaseTitle(releaseName) {
1809
+ await this.page.getByLabel("Release title *").fill(releaseName);
1810
+ }
1811
+ async setFolder(folderName) {
1812
+ await this.page.getByPlaceholder("Select a folder").click();
1813
+ await this.page.getByPlaceholder("Search folder...").fill(folderName);
1814
+ await this.page.getByRole("button", {
1815
+ name: folderName
1816
+ }).click();
1817
+ }
1818
+ async setTemplate(templateName) {
1819
+ await this.page.getByLabel("Template").click();
1820
+ await this.page.getByLabel("Template").fill(templateName);
1821
+ await this.page.getByRole("option", {
1822
+ name: templateName
1823
+ }).click();
1824
+ }
1825
+ async clearTemplate() {
1826
+ await this.page.locator("#templateId").click();
1827
+ await this.page.locator("#templateId").clear();
1828
+ }
1829
+ async errorMsgVisible(errorMessage) {
1830
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#dialogTitle")).toContainText(errorMessage);
1831
+ }
1832
+ async isButtonVisible(buttonName, visible = true) {
1833
+ (0, $kKeXs$playwrighttest.expect)(await this.page.getByRole("button", {
1834
+ name: buttonName
1835
+ }).isVisible()).toBe(visible);
1836
+ }
1837
+ async cancelDialogWindow() {
1838
+ await this.page.getByRole("button", {
1839
+ name: "cancel"
1840
+ }).click();
1841
+ }
1842
+ async acceptDialogWindow() {
1843
+ await this.page.getByRole("button", {
1844
+ name: "ok"
1845
+ }).click();
1846
+ }
1847
+ async setRiskProfile(RiskProfile) {
1848
+ await this.page.getByLabel("Risk profile").click();
1849
+ await this.page.getByLabel("Risk profile").fill(RiskProfile);
1850
+ await this.page.getByRole("option", {
1851
+ name: RiskProfile
1852
+ }).click();
1853
+ }
1854
+ async expectTemplate(template) {
1855
+ const templateName = await this.page.locator("#templateId").getAttribute("value");
1856
+ (0, $kKeXs$playwrighttest.expect)(templateName).toEqual(template);
1857
+ }
1858
+ async setAutoCompletePassword(passwordValue) {
1859
+ await this.page.getByTestId("password").getByLabel("Click to switch between").click();
1860
+ await this.page.locator("#password").fill(passwordValue);
1861
+ await this.page.getByRole("option", {
1862
+ name: passwordValue
1863
+ }).click();
1864
+ }
1865
+ async setAutoCompleteField(fieldLabel, value) {
1866
+ await this.page.getByLabel(fieldLabel).click();
1867
+ await this.page.getByLabel(fieldLabel).fill(value);
1868
+ await this.page.getByRole("option", {
1869
+ name: value
1870
+ }).click();
1871
+ }
1872
+ async setNewAutoCompleteField(fieldLabel, value) {
1873
+ await this.page.getByLabel(fieldLabel).click();
1874
+ await this.page.getByLabel(fieldLabel).fill(value);
1875
+ await this.page.getByTestId("dot-action-item-btn").click();
1876
+ }
1877
+ async setTextField(fieldID, value) {
1878
+ await this.page.locator(`[data-test-id="${fieldID}"]`).nth(1).click();
1879
+ await this.page.locator(`input[name='${fieldID}']`).fill(value);
1880
+ }
1881
+ async abortButtonVisibility(visible = true) {
1882
+ (0, $kKeXs$playwrighttest.expect)(await this.page.getByRole("button", {
1883
+ name: "Abort"
1884
+ }).isVisible()).toBe(visible);
1885
+ }
1786
1886
  }
1787
1887
  class $eb81c1b930e440ff$export$fbbf45eff21470e3 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1788
1888
  constructor(page){
@@ -1941,6 +2041,25 @@ class $f9016705c1a1eb20$export$aa59788fdecae2f2 extends (0, $f8721861c660dd88$ex
1941
2041
 
1942
2042
 
1943
2043
 
2044
+
2045
+
2046
+ class $1fbdec5dc9cde599$export$b7be47b40aa877fc extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2047
+ constructor(page){
2048
+ super(page);
2049
+ }
2050
+ async expectStartDateToBeDisplayed() {
2051
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".flex-section.column").filter({
2052
+ hasText: "Start Date"
2053
+ }).locator(".task-date-view-content").isVisible()).toBe(true);
2054
+ }
2055
+ async expectEndDateToBeDisplayed() {
2056
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".flex-section.column").filter({
2057
+ hasText: "End Date"
2058
+ }).locator(".task-date-view-content").isVisible()).toBe(true);
2059
+ }
2060
+ }
2061
+
2062
+
1944
2063
  class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1945
2064
  constructor(page){
1946
2065
  super(page);
@@ -1967,7 +2086,8 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
1967
2086
  exact: true
1968
2087
  });
1969
2088
  this.completeButton = this.page.getByRole("button", {
1970
- name: "Complete"
2089
+ name: "Complete",
2090
+ exact: true
1971
2091
  });
1972
2092
  }
1973
2093
  async openOverviewRail() {
@@ -1978,6 +2098,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
1978
2098
  }
1979
2099
  async openSchedulingRail() {
1980
2100
  await this.openRail("Scheduling");
2101
+ return new (0, $1fbdec5dc9cde599$export$b7be47b40aa877fc)(this.page);
1981
2102
  }
1982
2103
  async openConditionRail() {
1983
2104
  await this.openRail("Conditions");
@@ -2021,10 +2142,10 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
2021
2142
  await this.confirm.click();
2022
2143
  }
2023
2144
  async expectTaskTitle(taskTitle) {
2024
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography").innerText()).toContain(taskTitle);
2145
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography")).toContainText(taskTitle);
2025
2146
  }
2026
2147
  async expectTypeToContain(taskType) {
2027
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task-drawer .task-type").innerText()).toContain(taskType);
2148
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-drawer .task-type")).toContainText(taskType);
2028
2149
  }
2029
2150
  async clickExpand() {
2030
2151
  await this.page.getByRole("tooltip", {
@@ -2115,6 +2236,10 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
2115
2236
  async expectStartDateAndEndDateToBeDisplayed() {
2116
2237
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("month-and-year")).toHaveCount(2);
2117
2238
  }
2239
+ async expectPhaseAndTaskTitleToContain(phaseName, taskTitle) {
2240
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-header-top-path")).toContainText(phaseName);
2241
+ await this.expectTaskTitle(taskTitle);
2242
+ }
2118
2243
  }
2119
2244
 
2120
2245
 
@@ -2508,6 +2633,7 @@ class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$ex
2508
2633
 
2509
2634
 
2510
2635
  class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2636
+ defaultTimeout = 10000;
2511
2637
  constructor(page){
2512
2638
  super(page);
2513
2639
  this.createPage = new (0, $3d3f3946c54f5897$export$34addcca3f0ae43f)(page);
@@ -2516,7 +2642,7 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2516
2642
  this.teamsPermissions = new (0, $d330a7d6f7926d53$export$3bc3e140e0dcb075)(page);
2517
2643
  this.phaseTitle = this.page.locator(".phase .phase-title");
2518
2644
  this.properties = new (0, $8681d8a3f46f87b7$export$d1077068a9cc9f17)(page);
2519
- this.variables = new (0, $fd4eef3ad2b2e612$export$a87f0ae8695e74be)(page);
2645
+ this.variables = new (0, $59543fc69900e8db$export$f8e64fcf447db2bf)(page);
2520
2646
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2521
2647
  }
2522
2648
  async openTriggers() {
@@ -2555,74 +2681,78 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2555
2681
  name: "Start"
2556
2682
  }).click();
2557
2683
  }
2558
- async waitForCompletion(timeout) {
2684
+ async waitForCompletion(timeout = this.defaultTimeout) {
2559
2685
  await this.page.locator("#release.completed").waitFor({
2560
2686
  timeout: timeout
2561
2687
  });
2562
2688
  }
2563
- async waitForTaskCompleted(taskTitle) {
2689
+ async waitForTaskCompleted(taskTitle, timeout = this.defaultTimeout) {
2564
2690
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.completed").getByText(taskTitle, {
2565
2691
  exact: true
2566
2692
  })).toBeVisible({
2567
- timeout: 10000
2693
+ timeout: timeout
2568
2694
  });
2569
2695
  }
2570
- async waitForTaskCompletedInAdvance(taskTitle) {
2696
+ async waitForTaskCompletedInAdvance(taskTitle, timeout = this.defaultTimeout) {
2571
2697
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.completed_in_advance").getByText(taskTitle, {
2572
2698
  exact: true
2573
2699
  })).toBeVisible({
2574
- timeout: 10000
2700
+ timeout: timeout
2575
2701
  });
2576
2702
  }
2577
- async waitForTaskInProgress(taskTitle) {
2703
+ async waitForTaskInProgress(taskTitle, timeout = this.defaultTimeout) {
2578
2704
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.in_progress").getByText(taskTitle, {
2579
2705
  exact: true
2580
- })).toBeVisible();
2706
+ })).toBeVisible({
2707
+ timeout: timeout
2708
+ });
2581
2709
  }
2582
- async waitForTaskFailed(taskTitle) {
2710
+ async waitForTaskFailed(taskTitle, timeout = this.defaultTimeout) {
2583
2711
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.failed").getByText(taskTitle, {
2584
2712
  exact: true
2585
2713
  })).toBeVisible({
2586
- timeout: 10000
2714
+ timeout: timeout
2587
2715
  });
2588
2716
  }
2589
- async waitForTaskSkipped(taskTitle) {
2717
+ async waitForTaskSkipped(taskTitle, timeout = this.defaultTimeout) {
2590
2718
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.skipped").getByText(taskTitle, {
2591
2719
  exact: true
2592
2720
  })).toBeVisible({
2593
- timeout: 10000
2721
+ timeout: timeout
2594
2722
  });
2595
2723
  }
2596
- async waitForTaskSkippedInAdvance(taskTitle) {
2724
+ async waitForTaskSkippedInAdvance(taskTitle, timeout = this.defaultTimeout) {
2597
2725
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.skipped_in_advance").getByText(taskTitle, {
2598
2726
  exact: true
2599
2727
  })).toBeVisible({
2600
- timeout: 10000
2728
+ timeout: timeout
2601
2729
  });
2602
2730
  }
2603
- async waitForTaskAborted(taskTitle) {
2731
+ async waitForTaskAborted(taskTitle, timeout = this.defaultTimeout) {
2604
2732
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.aborted").getByText(taskTitle, {
2605
2733
  exact: true
2606
2734
  })).toBeVisible({
2607
- timeout: 10000
2735
+ timeout: timeout
2608
2736
  });
2609
2737
  }
2610
- async waitForStatusLine(statusLine) {
2738
+ async waitForStatusLine(statusLine, timeout = this.defaultTimeout) {
2611
2739
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .status-line").getByText(statusLine, {
2612
2740
  exact: true
2613
2741
  })).toBeVisible({
2614
- timeout: 10000
2742
+ timeout: timeout
2615
2743
  });
2616
2744
  }
2617
- async waitForTaskStarted(taskTitle) {
2745
+ async waitForTaskStarted(taskTitle, timeout = this.defaultTimeout) {
2618
2746
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.in_progress").getByTitle(taskTitle, {
2619
2747
  exact: true
2620
2748
  })).toBeVisible({
2621
- timeout: 10000
2749
+ timeout: timeout
2622
2750
  });
2623
2751
  }
2624
- async waitForTaskPlanned(title) {
2625
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible();
2752
+ async waitForTaskPlanned(title, timeout = this.defaultTimeout) {
2753
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible({
2754
+ timeout: timeout
2755
+ });
2626
2756
  }
2627
2757
  async expectTaskCompletedInAdvance(taskTitle) {
2628
2758
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-content .completed_in_advance .task-title").filter({
@@ -2835,10 +2965,9 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2835
2965
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2836
2966
  hasText: title
2837
2967
  }).locator(`.task-infos .failure-count.count-warning`)).toBeVisible();
2838
- const count = await this.page.locator(`.task`).filter({
2968
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2839
2969
  hasText: title
2840
- }).locator(`.task-infos .failure-count.count-warning`).innerText();
2841
- (0, $kKeXs$playwrighttest.expect)(count).toContain(failCount.toString());
2970
+ }).locator(`.task-infos .failure-count.count-warning`)).toContainText(failCount.toString());
2842
2971
  }
2843
2972
  async expectTaskToHaveBeenDelayed(title) {
2844
2973
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
@@ -2848,6 +2977,10 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2848
2977
  async expectOnePhaseDisplayed() {
2849
2978
  (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".phase-content").count()).toBe(1);
2850
2979
  }
2980
+ async restartPhases() {
2981
+ await this.page.getByTestId("restart-btn").click();
2982
+ return new $9b9a8c3da392d020$var$RestartPhaseModel(this.page);
2983
+ }
2851
2984
  }
2852
2985
  class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2853
2986
  constructor(page, phaseName){
@@ -3017,6 +3150,35 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
3017
3150
  hasText: phaseName
3018
3151
  })).not.toBeVisible();
3019
3152
  }
3153
+ async expectCompletedPhase() {
3154
+ await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator("a")).toContainText("View all completed phases");
3155
+ }
3156
+ }
3157
+ class $9b9a8c3da392d020$var$RestartPhaseModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3158
+ constructor(page){
3159
+ super(page);
3160
+ this.continueBtn = this.page.getByRole("button", {
3161
+ name: "Continue"
3162
+ });
3163
+ }
3164
+ async fromPhase(phase) {
3165
+ await this.page.locator('.modal select[data-test="fromPhase"]').selectOption(phase);
3166
+ }
3167
+ async fromTask(task) {
3168
+ await this.page.locator('.modal select[data-test="fromTask"]').selectOption(task);
3169
+ }
3170
+ async expectNoTaskSelectorVisible() {
3171
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator('.modal select[data-test="fromTask"]').isVisible()).toHaveLength(0);
3172
+ }
3173
+ async continue() {
3174
+ await this.page.locator(".modal .continue").click();
3175
+ }
3176
+ async resumeNow() {
3177
+ await this.page.locator(".modal .resume-now").click();
3178
+ }
3179
+ async resumeLater() {
3180
+ await this.page.locator(".modal .resume-later").click();
3181
+ }
3020
3182
  }
3021
3183
 
3022
3184
 
@@ -3494,6 +3656,7 @@ class $04ff53be95b7a0a4$export$32284f8bcf0bc407 extends (0, $f8721861c660dd88$ex
3494
3656
 
3495
3657
 
3496
3658
 
3659
+
3497
3660
  class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3498
3661
  constructor(page){
3499
3662
  super(page);
@@ -3505,6 +3668,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
3505
3668
  this.notificationPage = new (0, $04ff53be95b7a0a4$export$32284f8bcf0bc407)(page);
3506
3669
  this.patternPage = new (0, $ceb2e9e08e1837c2$export$9b9454a7f137e99b)(page);
3507
3670
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
3671
+ this.variables = new (0, $59543fc69900e8db$export$f8e64fcf447db2bf)(page);
3508
3672
  }
3509
3673
  async openFoldersPage() {
3510
3674
  await this.page.goto("./#/folders");
@@ -3646,6 +3810,22 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
3646
3810
  await this.util.openSideNavMenu("Templates");
3647
3811
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Templates")).toBeVisible();
3648
3812
  }
3813
+ async openRelease() {
3814
+ await this.util.openSideNavMenu("Releases");
3815
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Releases")).toBeVisible();
3816
+ }
3817
+ async expectReleaseStarted(releaseName) {
3818
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release").filter({
3819
+ hasText: releaseName
3820
+ }).locator(".release-status").filter({
3821
+ hasText: "In progress"
3822
+ })).toBeVisible();
3823
+ }
3824
+ async openVariables() {
3825
+ await this.util.openSideNavMenu("Variables");
3826
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Variables")).toBeVisible();
3827
+ return this.variables;
3828
+ }
3649
3829
  }
3650
3830
 
3651
3831
 
@@ -3952,7 +4132,7 @@ class $00fc48341ebf7de4$export$2fb4351c41ce6e7a extends (0, $f8721861c660dd88$ex
3952
4132
  async verifyProductAnnouncements() {
3953
4133
  await (0, $kKeXs$playwrighttest.expect)(this.announcementIcon).toBeVisible();
3954
4134
  await this.announcementIcon.click();
3955
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator("#pendo-guide-container").innerText()).toContain("Product updates");
4135
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#pendo-guide-container")).toContainText("Product updates");
3956
4136
  }
3957
4137
  async clickHelpIcon() {
3958
4138
  await this.page.getByTestId("right-side-nav").getByRole("button", {
@@ -4790,6 +4970,327 @@ class $3fad6a9449b6416f$export$1a0994e9c202d529 extends (0, $f8721861c660dd88$ex
4790
4970
 
4791
4971
 
4792
4972
 
4973
+ class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
4974
+ constructor(page){
4975
+ super(page);
4976
+ this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
4977
+ this.addVariableValue = this.page.locator(".variable-value .xl-components-input-full input");
4978
+ this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
4979
+ this.listAddButton = this.page.getByRole("button", {
4980
+ name: "Add"
4981
+ });
4982
+ }
4983
+ async openVariable(variableKey) {
4984
+ await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
4985
+ return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
4986
+ }
4987
+ async addNewVariable(variableName, labelname, description) {
4988
+ await this.page.locator("#action-toolbar").getByTestId("dot-button").click();
4989
+ await this.page.fill(`[name="fieldKey"]`, variableName);
4990
+ await this.page.locator(".variable-label input").fill(labelname);
4991
+ if (description) await this.page.locator(".variable-description input").fill(description);
4992
+ }
4993
+ async selectVariableTextType(valuename) {
4994
+ await this.page.getByRole("combobox").selectOption("StringVariable");
4995
+ await this.page.locator(".variable-value").type(valuename);
4996
+ }
4997
+ async selectVariableListboxType(possiblevalue, defaultValue, required) {
4998
+ await this.page.getByRole("combobox").selectOption("DropDownListBox");
4999
+ if (possiblevalue instanceof Array) for (const value of possiblevalue){
5000
+ await this.addListValue.fill(value);
5001
+ await this.listAddButton.click();
5002
+ }
5003
+ else {
5004
+ await this.addListValue.fill(possiblevalue);
5005
+ await this.listAddButton.click();
5006
+ }
5007
+ await this.page.locator(".variable-value select").type(defaultValue);
5008
+ if (required) await this.page.getByRole("checkbox").check();
5009
+ else await this.page.getByRole("checkbox").uncheck();
5010
+ }
5011
+ async selectVariablePasswordType(possiblevalue) {
5012
+ await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
5013
+ await this.page.locator('input[type="password"]').type(possiblevalue);
5014
+ }
5015
+ async selectVariableCheckboxType() {
5016
+ await this.page.getByRole("combobox").selectOption("BooleanVariable");
5017
+ await this.page.getByRole("checkbox").check();
5018
+ }
5019
+ async selectVariableNumberType(possiblevalue) {
5020
+ await this.page.getByRole("combobox").selectOption("IntegerVariable");
5021
+ await this.page.locator('input[ng-model="var.value"]').fill(possiblevalue);
5022
+ }
5023
+ async selectVariableMultiListType(possiblevalue1, possiblevalue2) {
5024
+ await this.page.getByRole("combobox").selectOption("MultiSelectListBox");
5025
+ await this.addListValue.fill(possiblevalue1);
5026
+ await this.listAddButton.click();
5027
+ await this.addListValue.fill(possiblevalue2);
5028
+ await this.listAddButton.click();
5029
+ await this.page.locator(".react-tagsinput").click();
5030
+ await this.page.getByText("Select all", {
5031
+ exact: true
5032
+ }).click();
5033
+ }
5034
+ async addVariableDate() {
5035
+ await this.page.getByRole("combobox").selectOption("DateVariable");
5036
+ await this.page.getByText("Select date").click();
5037
+ }
5038
+ async setDate(date, monthYear) {
5039
+ await this.dateUtil.setDate(date, monthYear);
5040
+ }
5041
+ async addVariableKeyValueMap(keys1, values1) {
5042
+ await this.page.getByRole("combobox").selectOption("MapStringStringVariable");
5043
+ await this.page.getByPlaceholder("key").fill(keys1);
5044
+ await this.page.getByPlaceholder("Value").fill(values1);
5045
+ await this.listAddButton.click();
5046
+ await this.page.locator(".xl-map-string-string-div-buttons .search-icon").click();
5047
+ await this.page.getByRole("row", {
5048
+ name: "Search"
5049
+ }).getByRole("textbox").fill(keys1);
5050
+ const detail = await this.page.locator("table.table-condensed span").allInnerTexts();
5051
+ (0, $kKeXs$playwrighttest.expect)(detail[0]).toEqual(keys1);
5052
+ (0, $kKeXs$playwrighttest.expect)(detail[1]).toEqual(values1);
5053
+ }
5054
+ async addVariableSet(possiblevalue1) {
5055
+ await this.page.getByRole("combobox").selectOption("SetStringVariable");
5056
+ await this.page.locator(".dip-input input").fill(possiblevalue1);
5057
+ await this.listAddButton.click();
5058
+ }
5059
+ async submitTheVariable() {
5060
+ const createButton = this.page.locator(".modal-footer .save");
5061
+ await (0, $kKeXs$playwrighttest.expect)(createButton).toBeEnabled();
5062
+ await createButton.scrollIntoViewIfNeeded();
5063
+ await createButton.click();
5064
+ // Expect is needed here to avoid flackiness on clicking create button
5065
+ await (0, $kKeXs$playwrighttest.expect)(createButton).not.toBeVisible();
5066
+ }
5067
+ async expectVariableWithNameValueAndType(name, value, type) {
5068
+ const rowLocator = await this.page.locator(".variable .data-row").allTextContents();
5069
+ (0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(name);
5070
+ (0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(value);
5071
+ (0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(type);
5072
+ }
5073
+ async clickEditVariable(variableName) {
5074
+ await this.page.locator("[id='variables-filter']").fill(variableName);
5075
+ await this.page.getByText("Edit").first().click();
5076
+ return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
5077
+ }
5078
+ async clickDeleteVariable(variableName) {
5079
+ await this.page.locator("[id='variables-filter']").fill(variableName);
5080
+ await this.page.locator(".action .delete-icon").first().click();
5081
+ return new $fd4eef3ad2b2e612$var$DeleteVariableModel(this.page);
5082
+ }
5083
+ async expectVariablesCountToBe(count) {
5084
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
5085
+ }
5086
+ async expectVariableNotPresent(variableName) {
5087
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable").filter({
5088
+ hasText: variableName
5089
+ })).not.toBeVisible();
5090
+ }
5091
+ async clearSearch() {
5092
+ await this.page.locator("[id='variables-filter']").clear();
5093
+ }
5094
+ async switchPossibleValuesToVariable(variableName) {
5095
+ await this.page.locator(".variable-toggle button").click();
5096
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
5097
+ await this.page.locator(".ui-menu-item-wrapper").filter({
5098
+ hasText: `${variableName}`
5099
+ }).click();
5100
+ }
5101
+ async selectVariableListboxTypeWithVariable(variableName, defaultValue, required) {
5102
+ await this.page.getByRole("combobox").selectOption("DropDownListBox");
5103
+ await this.page.locator(".variable-toggle button").click();
5104
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
5105
+ await this.page.locator(".ui-menu-item-wrapper").filter({
5106
+ hasText: `${variableName}`
5107
+ }).click();
5108
+ await this.page.locator(".variable-value select").type(defaultValue);
5109
+ if (required) await this.page.getByRole("checkbox").check();
5110
+ else await this.page.getByRole("checkbox").uncheck();
5111
+ }
5112
+ }
5113
+ class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5114
+ constructor(page){
5115
+ super(page);
5116
+ this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
5117
+ }
5118
+ async expectValue(locators, expectFn) {
5119
+ const [index, locator] = await (0, $ef0df8ad8a777ce6$export$a0f926f04148e5d2)(locators);
5120
+ expectFn[index](locator);
5121
+ }
5122
+ async expectValueToBe(value) {
5123
+ await this.expectValue([
5124
+ this.page.locator("#modal .variable-value input"),
5125
+ this.page.locator("#modal .variable-value .field-readonly"),
5126
+ this.page.locator("#modal .variable-value .xl-map-string-string"),
5127
+ this.page.locator("#modal .variable-value .xl-list-display-mode .text-container")
5128
+ ], [
5129
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveValue(value),
5130
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
5131
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
5132
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value)
5133
+ ]);
5134
+ }
5135
+ async expectValueToContain(value) {
5136
+ await this.expectValue([
5137
+ this.page.locator("#modal .variable-value input"),
5138
+ this.page.locator("#modal .variable-value .field-readonly"),
5139
+ this.page.locator("#modal .variable-value .xl-map-string-string"),
5140
+ this.page.locator("#modal .variable-value .xl-list-display-mode")
5141
+ ], [
5142
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l.inputValue()).toContain(value),
5143
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
5144
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
5145
+ (l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value)
5146
+ ]);
5147
+ }
5148
+ async close() {
5149
+ await this.page.locator("#modal .modal-header button.close").click();
5150
+ }
5151
+ async expectPossibleValues(possiblevalue) {
5152
+ const listLocator = await this.page.locator(".editor .xl-list-row").allInnerTexts();
5153
+ if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $kKeXs$playwrighttest.expect)(listLocator).toContain(value);
5154
+ else (0, $kKeXs$playwrighttest.expect)(listLocator).toContain(possiblevalue);
5155
+ }
5156
+ async expectPossibleVariableValues(possiblevariablevalue) {
5157
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
5158
+ }
5159
+ async addPossibleValue(value) {
5160
+ if (value instanceof Array) for (const li of value){
5161
+ await this.page.locator(".xl-components-input-full input").fill(li);
5162
+ await this.page.getByRole("button", {
5163
+ name: "Add"
5164
+ }).click();
5165
+ }
5166
+ else {
5167
+ await this.page.locator(".xl-components-input-full input").fill(value);
5168
+ await this.page.getByRole("button", {
5169
+ name: "Add"
5170
+ }).click();
5171
+ }
5172
+ }
5173
+ async selectVariableValue(defaultValue) {
5174
+ await this.page.locator(".variable-value select").selectOption(defaultValue);
5175
+ }
5176
+ async save() {
5177
+ const saveButton = this.page.locator("#modal .modal-footer .save");
5178
+ await saveButton.scrollIntoViewIfNeeded();
5179
+ await saveButton.click({
5180
+ delay: 2000
5181
+ });
5182
+ // Expect is needed here to avoid flackiness on clicking save button on modal window
5183
+ await (0, $kKeXs$playwrighttest.expect)(saveButton).not.toBeVisible();
5184
+ }
5185
+ async createPossibleValuesVariable(variableName) {
5186
+ await this.page.locator(".variable-toggle button").click();
5187
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
5188
+ await this.page.locator(".ui-menu-item-wrapper").filter({
5189
+ hasText: `${variableName}`
5190
+ }).click();
5191
+ }
5192
+ async expectVariableValueToBe(value) {
5193
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
5194
+ }
5195
+ async expectNoVariablesInList() {
5196
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("No variables defined.")).toBeVisible();
5197
+ }
5198
+ async expectNameInput(value) {
5199
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#modal .variable-name input`)).toHaveValue(value);
5200
+ }
5201
+ async expectLabel(value) {
5202
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
5203
+ }
5204
+ async expectRequired(value) {
5205
+ if (value == true) await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
5206
+ else await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
5207
+ }
5208
+ async setDescription(description) {
5209
+ await this.page.locator(".variable-description input").click();
5210
+ await this.page.locator(".variable-description input").clear();
5211
+ await this.page.locator(".variable-description input").fill(description);
5212
+ }
5213
+ async setLabel(labelValue) {
5214
+ await this.page.locator(".variable-label input").fill(labelValue);
5215
+ }
5216
+ async setDate(date, monthYear) {
5217
+ await this.page.locator("#modal .date").click();
5218
+ await this.dateUtil.setDate(date, monthYear);
5219
+ }
5220
+ async setValue(value) {
5221
+ await this.page.locator(".variable-value input").fill(value);
5222
+ }
5223
+ }
5224
+ class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5225
+ constructor(page){
5226
+ super(page);
5227
+ this.model = new $fd4eef3ad2b2e612$var$ReleaseVariableModal(page);
5228
+ this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
5229
+ }
5230
+ async deleteVariable() {
5231
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
5232
+ name: "Replace and delete"
5233
+ })).toBeVisible();
5234
+ await this.page.getByRole("button", {
5235
+ name: "Delete"
5236
+ }).click();
5237
+ }
5238
+ async replaceItWithVariable(variable) {
5239
+ await this.model.createPossibleValuesVariable(variable);
5240
+ }
5241
+ async replaceItwithValue(value) {
5242
+ await this.page.locator(".display").click();
5243
+ await this.page.getByLabel("*").fill(value);
5244
+ }
5245
+ async clickReplaceAndDelete() {
5246
+ await this.page.getByRole("button", {
5247
+ name: "Replace and delete"
5248
+ }).click();
5249
+ }
5250
+ async addValue(value) {
5251
+ await this.page.locator(".xl-components-input-full input").fill(value);
5252
+ await this.page.getByRole("button", {
5253
+ name: "Add"
5254
+ }).click();
5255
+ }
5256
+ async remove(value) {
5257
+ await this.page.locator("li").filter({
5258
+ hasText: value
5259
+ }).locator("i.close-icon").click();
5260
+ }
5261
+ async expectReplacementPromptDisplayed() {
5262
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
5263
+ name: "Replace and delete"
5264
+ })).toBeVisible();
5265
+ }
5266
+ async close() {
5267
+ await this.page.locator("#modal .modal-header button.close").click();
5268
+ }
5269
+ async removeItemOnSet(value) {
5270
+ await this.page.locator("tr").filter({
5271
+ hasText: value
5272
+ }).locator("i.close-icon").click();
5273
+ }
5274
+ async addValueForSet(key, value) {
5275
+ await this.page.locator(".input-key").fill(key);
5276
+ await this.page.locator(".input-value").fill(value);
5277
+ }
5278
+ async replaceWithIntegerValue(value) {
5279
+ await this.page.locator(".editable").fill(value);
5280
+ }
5281
+ async replaceForBooleanValue() {
5282
+ await this.page.locator(".editor input").click();
5283
+ }
5284
+ async deleteBySettingDate(date, monthYear) {
5285
+ await this.page.locator("#modal .date").click();
5286
+ await this.dateUtil.setDate(date, monthYear);
5287
+ }
5288
+ }
5289
+
5290
+
5291
+
5292
+
5293
+
4793
5294
  class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
4794
5295
  constructor(page){
4795
5296
  super(page);
@@ -4800,6 +5301,17 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
4800
5301
  await this.filterTaskByTitle(taskName);
4801
5302
  await this.page.getByText(taskName).first().click();
4802
5303
  }
5304
+ async complete(taskName, comment) {
5305
+ await this.page.locator(`.row.task-inner`, {
5306
+ hasText: taskName
5307
+ }).locator("span.complete").click();
5308
+ await this.commentBox.click();
5309
+ await this.commentBox.fill(comment);
5310
+ await this.page.getByRole("button", {
5311
+ name: "Complete",
5312
+ exact: true
5313
+ }).click();
5314
+ }
4803
5315
  async skip(taskName, comment) {
4804
5316
  await this.page.locator(`.row.task-inner`, {
4805
5317
  hasText: taskName
@@ -4977,7 +5489,7 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
4977
5489
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task-line:has-text("${title}") >> text="${user}"`).first()).toHaveCount(1);
4978
5490
  }
4979
5491
  async expectTaskTitle(taskTitle) {
4980
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator("#tasks0").innerText()).toContain(taskTitle);
5492
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#tasks0")).toContainText(taskTitle);
4981
5493
  }
4982
5494
  async clickOnTasksLabel() {
4983
5495
  await this.page.getByLabel("breadcrumb").getByText("Tasks").click();
@@ -5359,7 +5871,10 @@ class $959d38250779aa22$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
5359
5871
  await this.page.locator(".icon-close").click();
5360
5872
  await this.page.locator("#task-title").fill(taskTitle);
5361
5873
  await this.page.getByTestId("save-select-task-btn").click();
5362
- await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
5874
+ await this.page.locator("#release-header").click();
5875
+ await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task-title").filter({
5876
+ hasText: taskTitle
5877
+ })).toBeVisible();
5363
5878
  }
5364
5879
  async getNumberOfTasks() {
5365
5880
  return await this.phaseLocator.locator(".task").count();
@@ -6832,7 +7347,7 @@ const $8977f8672c5de0fa$export$45f0aca2596a2bb3 = function() {
6832
7347
  processTasks(subTask, task, idx);
6833
7348
  });
6834
7349
  (0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.templateVariables, function(variable, idx) {
6835
- (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
7350
+ if (variable.value !== undefined) (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, task.id, idx));
6836
7351
  });
6837
7352
  (0, (/*@__PURE__*/$parcel$interopDefault($952a2b8d8056b381$exports)))(task.attachments, function(attachment, idx) {
6838
7353
  attachment.type = ATTACHMENT_TYPE;
@@ -6903,7 +7418,7 @@ const $8977f8672c5de0fa$export$45f0aca2596a2bb3 = function() {
6903
7418
  attachment.id = `${release.id}/Attachment${index}`;
6904
7419
  });
6905
7420
  (0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))(release.variables, function(variable, index) {
6906
- (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, release.id, index));
7421
+ if (variable.value !== undefined) (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable, getVariableEntity(variable.value, variable.key, release.id, index));
6907
7422
  if (variable.valueProvider) (0, (/*@__PURE__*/$parcel$interopDefault($732eba8dca8b5420$exports)))(variable.valueProvider, getValueProviderConfigurationEntity(variable.id));
6908
7423
  });
6909
7424
  (0, (/*@__PURE__*/$parcel$interopDefault($ae8Uz)))((0, (/*@__PURE__*/$parcel$interopDefault($f51969c4a7467fa0$exports)))(release.variableValues), function(keyValue, index) {
@@ -6953,6 +7468,7 @@ const $6998c6a53a9eb4fa$export$e0969da9b8fb378d = (0, $kKeXs$playwrighttest.test
6953
7468
  class $6998c6a53a9eb4fa$var$Fixtures {
6954
7469
  archivedReleaseIds = [];
6955
7470
  releaseIds = [];
7471
+ riskProfiles = [];
6956
7472
  triggerIds = [];
6957
7473
  configurationIds = [];
6958
7474
  globalVariableIds = [];
@@ -7096,6 +7612,29 @@ class $6998c6a53a9eb4fa$var$Fixtures {
7096
7612
  variable.showOnReleaseStart = false;
7097
7613
  return this.doPost("api/v1/config/Configuration/variables/global", variable);
7098
7614
  }
7615
+ addDefaultSmtpServer() {
7616
+ const defaultSmtpServer = [
7617
+ {
7618
+ type: "xlrelease.SmtpServer",
7619
+ id: "Configuration/mail/SmtpServer",
7620
+ host: "localhost",
7621
+ port: "25",
7622
+ fromAddress: "foo@bar.com",
7623
+ authentication: {
7624
+ id: "Configuration/mail/SmtpServer/authentication",
7625
+ type: "xlrelease.NoSmtpAuthentication"
7626
+ }
7627
+ }
7628
+ ];
7629
+ return this.doPost("fixtures/", defaultSmtpServer);
7630
+ }
7631
+ riskProfile(riskProfile) {
7632
+ this.riskProfiles.push(riskProfile.id);
7633
+ return this.doPost("fixtures/riskProfiles", riskProfile);
7634
+ }
7635
+ deleteRiskProfile(riskProfileId) {
7636
+ return this.doDelete(`fixtures/riskProfiles/${riskProfileId}`);
7637
+ }
7099
7638
  async cleanAll() {
7100
7639
  for (const username of this.usernames)await this.deleteUser(username);
7101
7640
  for (const userProfile of this.userProfiles)await this.deleteUserProfile(userProfile);