@digital-ai/devops-page-object-release 0.0.18 → 0.0.20

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
@@ -93,6 +93,18 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
93
93
  await this.releaseCreatePage.create();
94
94
  await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Flow")).toBeVisible();
95
95
  }
96
+ async gotoListView() {
97
+ await this.page.getByRole("tab", {
98
+ name: "release icon List"
99
+ }).click();
100
+ await (0, $hOLA6$expect)(this.page.locator(".release-list")).toBeVisible();
101
+ }
102
+ async gotoCalendarView() {
103
+ await this.page.getByRole("tab", {
104
+ name: "calendar icon Calendar"
105
+ }).click();
106
+ await (0, $hOLA6$expect)(this.page.locator(".tl-viewport")).toBeVisible();
107
+ }
96
108
  }
97
109
 
98
110
 
@@ -399,7 +411,7 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
399
411
  async clickEditDependency(dependencies) {
400
412
  const depOptionsIcon = this.page.locator(".dependency").filter({
401
413
  has: this.page.getByLabel(dependencies)
402
- }).locator(".actions");
414
+ }).first().locator(".actions");
403
415
  await depOptionsIcon.isVisible();
404
416
  await depOptionsIcon.click();
405
417
  const frame = this.page.getByTestId("undefined-menu");
@@ -628,7 +640,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
628
640
  await this.page.waitForTimeout(1000);
629
641
  await this.retryButton.click();
630
642
  await this.commentBox.fill(comment);
631
- await this.confirm.click();
643
+ await this.page.getByTestId("popper-test-id-content-wrapper").getByTestId("dot-button").click();
632
644
  }
633
645
  async skipTask(comment) {
634
646
  await this.openMenu.click();
@@ -921,6 +933,10 @@ class $c9bb587dd92143c3$export$d1077068a9cc9f17 extends (0, $9626bc9256ce31f7$ex
921
933
  }
922
934
  await this.page.keyboard.press("Escape");
923
935
  }
936
+ async checkAbortOnFailure() {
937
+ await this.page.locator("#release-form-abort-on-failure").check();
938
+ await (0, $hOLA6$expect)(this.page.locator("#release-form-abort-on-failure")).toBeChecked();
939
+ }
924
940
  }
925
941
 
926
942
 
@@ -1045,9 +1061,51 @@ class $87bbb6d35ad31a00$export$f8f26dd395d7e1bd extends (0, $9626bc9256ce31f7$ex
1045
1061
  exact: true
1046
1062
  }).click();
1047
1063
  }
1064
+ async openNestedMenuItem(nestedMenuItem) {
1065
+ await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
1066
+ exact: true
1067
+ }).scrollIntoViewIfNeeded();
1068
+ await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
1069
+ exact: true
1070
+ }).click();
1071
+ }
1048
1072
  async clickCloseIcon() {
1049
1073
  await this.closeIcon.click();
1050
1074
  }
1075
+ async clickOnStatusField() {
1076
+ await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
1077
+ }
1078
+ async clickOnStatus(statusNames) {
1079
+ await this.clickOnStatusClearAll();
1080
+ await this.clickOnStatusField();
1081
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
1082
+ // Clicking outside to close the grid dropdown
1083
+ await this.page.getByText("Status").click();
1084
+ }
1085
+ async clickOnStatusClearAll() {
1086
+ await this.clickOnStatusField();
1087
+ await this.page.locator("a.xl-react-link", {
1088
+ hasText: "Clear all"
1089
+ }).click();
1090
+ await this.page.getByText("Status").click();
1091
+ }
1092
+ async clickOnStatusSelectAll() {
1093
+ await this.clickOnStatusField();
1094
+ await this.page.locator("a.xl-react-link", {
1095
+ hasText: "Select all"
1096
+ }).click();
1097
+ await this.page.getByText("Status").click();
1098
+ }
1099
+ async setOrderBy(orderBy) {
1100
+ await this.page.locator(".order-by-filter .btn:first-child").click();
1101
+ await this.page.locator(`.order-by-filter .bootstrap-link:has-text('${orderBy}')`).click();
1102
+ }
1103
+ async setSearchFilter(filterText) {
1104
+ await this.page.locator(".searchFilter").fill(filterText);
1105
+ }
1106
+ async clearSearchFilter() {
1107
+ await this.page.locator(".searchFilter").clear();
1108
+ }
1051
1109
  }
1052
1110
 
1053
1111
 
@@ -1077,9 +1135,12 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
1077
1135
  async expectNotFlagged() {
1078
1136
  await (0, $hOLA6$expect)(this.page.locator(".flag-none-icon")).toBeHidden();
1079
1137
  }
1080
- async expectFlagOnTaskCard() {
1138
+ async expectRiskFlagOnTaskCard() {
1081
1139
  await (0, $hOLA6$expect)(this.page.locator(".risk-flag-icon")).toBeVisible();
1082
1140
  }
1141
+ async expectFlagOnCompletedTaskCard() {
1142
+ await (0, $hOLA6$expect)(this.page.locator(".flag-count")).toBeVisible();
1143
+ }
1083
1144
  async refresh() {
1084
1145
  await this.page.reload();
1085
1146
  await this.page.waitForSelector("#release");
@@ -1160,9 +1221,9 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
1160
1221
  await (0, $hOLA6$expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible();
1161
1222
  }
1162
1223
  async expectTaskCompletedInAdvance(taskTitle) {
1163
- await (0, $hOLA6$expect)(this.page.locator("#release-content").getByRole("list").locator("div").filter({
1224
+ await (0, $hOLA6$expect)(this.page.locator("#release-content .completed_in_advance .task-title").filter({
1164
1225
  hasText: taskTitle
1165
- }).locator('span.pull-right.ng-binding.ng-scope:has-text("Completed on")')).toBeVisible();
1226
+ })).toBeVisible();
1166
1227
  }
1167
1228
  async expectTaskPending(taskTitle) {
1168
1229
  await (0, $hOLA6$expect)(this.page.locator(".task.pending").getByText(taskTitle, {
@@ -1342,6 +1403,38 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
1342
1403
  }).click();
1343
1404
  await downloadPromise;
1344
1405
  }
1406
+ async expectTaskToBePresent(taskName) {
1407
+ await (0, $hOLA6$expect)(this.page.locator(".task").filter({
1408
+ hasText: taskName
1409
+ })).toBeVisible();
1410
+ }
1411
+ async expectTaskNotToBePresent(taskName) {
1412
+ await (0, $hOLA6$expect)(this.page.locator(".task").filter({
1413
+ hasText: taskName
1414
+ })).not.toBeVisible();
1415
+ }
1416
+ async toggleTaskFilter(filterOption) {
1417
+ this.clickFilterOptions();
1418
+ await this.page.locator(`#filter-container #${filterOption}`).click();
1419
+ this.clickFilterOptions();
1420
+ }
1421
+ async clickFilterOptions() {
1422
+ await this.page.locator("#release-header .dropdown-button").click();
1423
+ }
1424
+ async expectTaskToHaveFailed(title, failCount) {
1425
+ await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
1426
+ hasText: title
1427
+ }).locator(`.task-infos .failure-count.count-warning`)).toBeVisible();
1428
+ const count = await this.page.locator(`.task`).filter({
1429
+ hasText: title
1430
+ }).locator(`.task-infos .failure-count.count-warning`).innerText();
1431
+ (0, $hOLA6$expect)(count).toContain(failCount.toString());
1432
+ }
1433
+ async expectTaskToHaveBeenDelayed(title) {
1434
+ await (0, $hOLA6$expect)(this.page.locator(`.task`).filter({
1435
+ hasText: title
1436
+ }).locator(`.task-infos .delay-count`)).toBeVisible();
1437
+ }
1345
1438
  }
1346
1439
  class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1347
1440
  constructor(page, phaseName){
@@ -1564,146 +1657,51 @@ class $b14c3492cf934ea2$export$e40b5d3c74b04c89 {
1564
1657
 
1565
1658
 
1566
1659
 
1567
-
1568
-
1569
- class $d13e78163af94d50$export$9b9454a7f137e99b extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1660
+ class $4cdce1306be47ecd$export$eace2be4de1d3377 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1570
1661
  constructor(page){
1571
1662
  super(page);
1572
1663
  this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1573
1664
  this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1574
1665
  this.addDescription = page.getByPlaceholder("Set description...");
1575
- }
1576
- async clickNewDeliveryPattern() {
1577
- await this.page.getByTestId("dot-button").click();
1578
- await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1579
- name: "Create delivery pattern"
1580
- })).toBeVisible();
1581
- }
1582
- async setPatternName(patternName) {
1583
- await this.addName.click();
1584
- await this.addName.clear();
1585
- await this.addName.fill(patternName);
1586
- }
1587
- async setPatternDescription(patternDescription) {
1588
- await this.page.getByPlaceholder("Set description...").click();
1589
- await this.page.getByPlaceholder("Set description...").clear();
1590
- await this.page.getByPlaceholder("Set description...").fill(patternDescription);
1591
- }
1592
- async enableAutoComplete() {
1593
- await this.page.getByRole("checkbox").check();
1594
- }
1595
- async disableAutoComplete() {
1596
- await this.page.getByRole("checkbox").uncheck();
1597
- }
1598
- async setDuration(month, days, hours) {
1599
- await this.page.getByRole("group", {
1600
- name: "Pattern details"
1601
- }).getByRole("textbox").click();
1602
- await this.page.locator('input[name="months"]').click();
1603
- await this.page.locator('input[name="months"]').fill(month.toString());
1604
- await this.page.locator('input[name="days"]').click();
1605
- await this.page.locator('input[name="days"]').fill(days.toString());
1606
- await this.page.locator('input[name="hours"]').click();
1607
- await this.page.locator('input[name="hours"]').fill(hours.toString());
1608
- }
1609
- async createNewPattern(patternName, patternDescription) {
1610
- await this.clickNewDeliveryPattern();
1611
- await this.setPatternName(patternName);
1612
- await this.setPatternDescription(patternDescription);
1613
- await (0, $hOLA6$expect)(this.page.locator(".action-toolbar-actions button").filter({
1614
- hasText: "Create"
1615
- })).toBeEnabled();
1616
- await this.page.locator(".action-toolbar-actions button").filter({
1617
- hasText: "Create"
1618
- }).click({
1619
- force: true
1666
+ this.searchForDelivery = page.getByPlaceholder("Search for deliveries...", {
1667
+ exact: true
1620
1668
  });
1621
- await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1622
- }
1623
- async clickEditPatternIcon(patternName) {
1624
- await this.page.locator(".delivery-pattern-row").filter({
1625
- hasText: patternName
1626
- }).locator(".edit").click();
1627
- await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1628
- }
1629
- async clickCopyPatternIcon(patternName) {
1630
- await this.page.locator(".delivery-pattern-row").filter({
1631
- hasText: patternName
1632
- }).locator(".copy").click();
1633
- await (0, $hOLA6$expect)(this.page.getByText("Copy delivery pattern")).toBeVisible();
1634
- }
1635
- async filterPatternByName(patternName) {
1636
- await this.page.getByPlaceholder("Filter by name...").click();
1637
- await this.page.getByPlaceholder("Filter by name...").clear();
1638
- await this.page.getByPlaceholder("Filter by name...").fill(patternName);
1639
- await this.page.getByPlaceholder("Filter by name...").press("Enter");
1640
- await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1641
- hasText: patternName
1642
- })).toBeVisible();
1643
1669
  }
1644
- async openProperties() {
1670
+ async filterDeliveryByName(deliveryName) {
1671
+ await this.searchForDelivery.click();
1672
+ await this.searchForDelivery.clear();
1673
+ await this.searchForDelivery.fill(deliveryName);
1674
+ await this.searchForDelivery.press("Enter");
1675
+ await (0, $hOLA6$expect)(this.page.locator("xlr-delivery-row").filter({
1676
+ hasText: deliveryName
1677
+ }).getByRole("link").first()).toBeVisible();
1678
+ }
1679
+ async editDelivery(deliveryName, newDeliveryName) {
1680
+ await this.page.locator("xlr-delivery-row").filter({
1681
+ hasText: deliveryName
1682
+ }).locator(".fc-list-item-actions .edit-icon").click();
1645
1683
  await this.util.openSideNavMenu("Properties");
1646
- return new $d13e78163af94d50$var$Properties(this.page);
1647
- }
1648
- async back() {
1649
- await this.page.getByTestId("back-button").click();
1650
- }
1651
- async copyPattern(existingPatternName, NewPatternName) {
1652
- await this.clickCopyPatternIcon(existingPatternName);
1653
- await this.page.locator(".xl-icon.close-icon").first().click();
1654
- await this.addName.fill(NewPatternName);
1684
+ await this.addName.click();
1685
+ await this.addName.clear();
1686
+ await this.addName.fill(newDeliveryName);
1655
1687
  await this.page.getByRole("button", {
1656
- name: "Continue"
1688
+ name: "Save"
1657
1689
  }).click();
1658
- await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1690
+ (0, $hOLA6$expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
1659
1691
  }
1660
- async clickDeletePattern(patternName) {
1661
- await this.page.locator(".delivery-pattern-row").filter({
1662
- hasText: patternName
1663
- }).locator(".delete").click();
1664
- await (0, $hOLA6$expect)(this.page.getByText("Delete delivery pattern", {
1692
+ async deleteDelivery(deliveryName) {
1693
+ await this.page.locator("xlr-delivery-row").filter({
1694
+ hasText: deliveryName
1695
+ }).locator(".fc-list-item-actions .delete-icon").click();
1696
+ await (0, $hOLA6$expect)(this.page.getByText("Delete release delivery", {
1665
1697
  exact: true
1666
1698
  })).toBeVisible();
1667
1699
  await this.page.getByRole("button", {
1668
1700
  name: "Delete"
1669
1701
  }).click();
1670
- await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1671
- hasText: patternName
1672
- })).not.toBeVisible();
1673
- }
1674
- }
1675
- class $d13e78163af94d50$var$Properties extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1676
- constructor(page){
1677
- super(page);
1678
- this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1679
- this.addDescription = page.getByPlaceholder("Set description...");
1680
- }
1681
- async editName(name) {
1682
- await this.addName.click();
1683
- await this.addName.clear();
1684
- await this.addName.fill(name);
1685
- }
1686
- async editDescription(description) {
1687
- await this.page.getByPlaceholder("Set description...").click();
1688
- await this.page.getByPlaceholder("Set description...").clear();
1689
- await this.page.getByPlaceholder("Set description...").fill(description);
1690
- }
1691
- async editDuration(month, days, hours) {
1692
- await this.page.getByRole("group", {
1693
- name: "Pattern details"
1694
- }).getByRole("textbox").click();
1695
- await this.page.locator('input[name="months"]').click();
1696
- await this.page.locator('input[name="months"]').fill(month.toString());
1697
- await this.page.locator('input[name="days"]').click();
1698
- await this.page.locator('input[name="days"]').fill(days.toString());
1699
- await this.page.locator('input[name="hours"]').click();
1700
- await this.page.locator('input[name="hours"]').fill(hours.toString());
1701
- }
1702
- async save() {
1703
- await this.page.getByRole("button", {
1704
- name: "Save"
1705
- }).click();
1706
- (0, $hOLA6$expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
1702
+ await (0, $hOLA6$expect)(this.page.locator(".success").filter({
1703
+ hasText: "Deleted release delivery successfully"
1704
+ })).toBeVisible();
1707
1705
  }
1708
1706
  }
1709
1707
 
@@ -1855,13 +1853,241 @@ class $27cd192f30944b0c$export$572f40d328c1d028 extends (0, $9626bc9256ce31f7$ex
1855
1853
  }
1856
1854
 
1857
1855
 
1856
+
1857
+
1858
+
1859
+ class $d13e78163af94d50$export$9b9454a7f137e99b extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1860
+ constructor(page){
1861
+ super(page);
1862
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1863
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1864
+ this.addDescription = page.getByPlaceholder("Set description...");
1865
+ }
1866
+ async clickNewDeliveryPattern() {
1867
+ await this.page.getByTestId("dot-button").click();
1868
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
1869
+ name: "Create delivery pattern"
1870
+ })).toBeVisible();
1871
+ }
1872
+ async setPatternName(patternName) {
1873
+ await this.addName.click();
1874
+ await this.addName.clear();
1875
+ await this.addName.fill(patternName);
1876
+ }
1877
+ async setPatternDescription(patternDescription) {
1878
+ await this.page.getByPlaceholder("Set description...").click();
1879
+ await this.page.getByPlaceholder("Set description...").clear();
1880
+ await this.page.getByPlaceholder("Set description...").fill(patternDescription);
1881
+ }
1882
+ async enableAutoComplete() {
1883
+ await this.page.getByRole("checkbox").check();
1884
+ }
1885
+ async disableAutoComplete() {
1886
+ await this.page.getByRole("checkbox").uncheck();
1887
+ }
1888
+ async setDuration(month, days, hours) {
1889
+ await this.page.getByRole("group", {
1890
+ name: "Pattern details"
1891
+ }).getByRole("textbox").click();
1892
+ await this.page.locator('input[name="months"]').click();
1893
+ await this.page.locator('input[name="months"]').fill(month.toString());
1894
+ await this.page.locator('input[name="days"]').click();
1895
+ await this.page.locator('input[name="days"]').fill(days.toString());
1896
+ await this.page.locator('input[name="hours"]').click();
1897
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
1898
+ }
1899
+ async createNewPattern(patternName, patternDescription) {
1900
+ await this.clickNewDeliveryPattern();
1901
+ await this.setPatternName(patternName);
1902
+ await this.setPatternDescription(patternDescription);
1903
+ await (0, $hOLA6$expect)(this.page.locator(".action-toolbar-actions button").filter({
1904
+ hasText: "Create"
1905
+ })).toBeEnabled();
1906
+ await this.page.locator(".action-toolbar-actions button").filter({
1907
+ hasText: "Create"
1908
+ }).click({
1909
+ force: true
1910
+ });
1911
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1912
+ }
1913
+ async clickEditPatternIcon(patternName) {
1914
+ await this.page.locator(".delivery-pattern-row").filter({
1915
+ hasText: patternName
1916
+ }).locator(".edit").click();
1917
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1918
+ }
1919
+ async clickCopyPatternIcon(patternName) {
1920
+ await this.page.locator(".delivery-pattern-row").filter({
1921
+ hasText: patternName
1922
+ }).locator(".copy").click();
1923
+ await (0, $hOLA6$expect)(this.page.getByText("Copy delivery pattern")).toBeVisible();
1924
+ }
1925
+ async filterPatternByName(patternName) {
1926
+ await this.page.getByPlaceholder("Filter by name...").click();
1927
+ await this.page.getByPlaceholder("Filter by name...").clear();
1928
+ await this.page.getByPlaceholder("Filter by name...").fill(patternName);
1929
+ await this.page.getByPlaceholder("Filter by name...").press("Enter");
1930
+ await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1931
+ hasText: patternName
1932
+ })).toBeVisible();
1933
+ }
1934
+ async openProperties() {
1935
+ await this.util.openSideNavMenu("Properties");
1936
+ return new $d13e78163af94d50$var$Properties(this.page);
1937
+ }
1938
+ async back() {
1939
+ await this.page.getByTestId("back-button").click();
1940
+ }
1941
+ async copyPattern(existingPatternName, NewPatternName) {
1942
+ await this.clickCopyPatternIcon(existingPatternName);
1943
+ await this.page.locator(".xl-icon.close-icon").first().click();
1944
+ await this.addName.fill(NewPatternName);
1945
+ await this.page.getByRole("button", {
1946
+ name: "Continue"
1947
+ }).click();
1948
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
1949
+ }
1950
+ async clickDeletePattern(patternName) {
1951
+ await this.page.locator(".delivery-pattern-row").filter({
1952
+ hasText: patternName
1953
+ }).locator(".delete").click();
1954
+ await (0, $hOLA6$expect)(this.page.getByText("Delete delivery pattern", {
1955
+ exact: true
1956
+ })).toBeVisible();
1957
+ await this.page.getByRole("button", {
1958
+ name: "Delete"
1959
+ }).click();
1960
+ await (0, $hOLA6$expect)(this.page.locator(".delivery-pattern-row").filter({
1961
+ hasText: patternName
1962
+ })).not.toBeVisible();
1963
+ }
1964
+ async createNewDelivery(deliveryName, deliveryDes, setAutoComplete) {
1965
+ await this.page.getByTestId("dot-button").click();
1966
+ await this.addName.fill(deliveryName);
1967
+ await this.addDescription.click();
1968
+ if (deliveryDes) await this.addDescription.fill(deliveryDes);
1969
+ else await this.addDescription.fill("Description");
1970
+ if (setAutoComplete) await this.page.getByRole("checkbox").check();
1971
+ await (0, $hOLA6$expect)(this.page.locator(".action-toolbar-actions button").filter({
1972
+ hasText: "Create"
1973
+ })).toBeEnabled();
1974
+ await this.page.locator(".action-toolbar-actions button").filter({
1975
+ hasText: "Create"
1976
+ }).click({
1977
+ force: true
1978
+ });
1979
+ await (0, $hOLA6$expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
1980
+ name: `${deliveryName}`
1981
+ })).toBeVisible();
1982
+ }
1983
+ }
1984
+ class $d13e78163af94d50$var$Properties extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1985
+ constructor(page){
1986
+ super(page);
1987
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
1988
+ this.addDescription = page.getByPlaceholder("Set description...");
1989
+ }
1990
+ async editName(name) {
1991
+ await this.addName.click();
1992
+ await this.addName.clear();
1993
+ await this.addName.fill(name);
1994
+ }
1995
+ async editDescription(description) {
1996
+ await this.page.getByPlaceholder("Set description...").click();
1997
+ await this.page.getByPlaceholder("Set description...").clear();
1998
+ await this.page.getByPlaceholder("Set description...").fill(description);
1999
+ }
2000
+ async editDuration(month, days, hours) {
2001
+ await this.page.getByRole("group", {
2002
+ name: "Pattern details"
2003
+ }).getByRole("textbox").click();
2004
+ await this.page.locator('input[name="months"]').click();
2005
+ await this.page.locator('input[name="months"]').fill(month.toString());
2006
+ await this.page.locator('input[name="days"]').click();
2007
+ await this.page.locator('input[name="days"]').fill(days.toString());
2008
+ await this.page.locator('input[name="hours"]').click();
2009
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
2010
+ }
2011
+ async save() {
2012
+ await this.page.getByRole("button", {
2013
+ name: "Save"
2014
+ }).click();
2015
+ (0, $hOLA6$expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
2016
+ }
2017
+ }
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+ class $7e73332bf754777c$export$32284f8bcf0bc407 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2024
+ constructor(page){
2025
+ super(page);
2026
+ this.inheritCheckbox = page.getByRole("checkbox");
2027
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
2028
+ }
2029
+ async checkInheritNotifications() {
2030
+ await this.inheritCheckbox.click();
2031
+ if (await this.page.getByText("Override notification settings").isVisible()) await this.page.getByRole("button", {
2032
+ name: "Ok"
2033
+ }).click();
2034
+ await (0, $hOLA6$expect)(this.page.getByRole("checkbox")).toBeChecked();
2035
+ await (0, $hOLA6$expect)(this.page.locator(".xl-icon.edit-icon")).not.toBeVisible();
2036
+ }
2037
+ async uncheckInheritNotifications() {
2038
+ await this.inheritCheckbox.dblclick();
2039
+ await (0, $hOLA6$expect)(this.page.getByRole("checkbox")).not.toBeChecked();
2040
+ await (0, $hOLA6$expect)(this.page.locator(".xl-icon.edit-icon").first()).toBeVisible();
2041
+ }
2042
+ async expectRecipientsNotToBeEditable(eventName) {
2043
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2044
+ await (0, $hOLA6$expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).not.toBeVisible();
2045
+ }
2046
+ async deleteTeam(eventName, teamName) {
2047
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2048
+ await this.page.locator(`[data-test="${eventName}"] div.role`).filter({
2049
+ hasText: teamName
2050
+ }).locator("a.tag-close").click();
2051
+ }
2052
+ async expectEditMessageIsVisible(eventName) {
2053
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2054
+ await (0, $hOLA6$expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).toBeVisible();
2055
+ }
2056
+ async addTeam(eventName, teamName) {
2057
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2058
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").click();
2059
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").fill(teamName);
2060
+ await this.page.locator(`[data-test="${eventName}"]`).getByText(teamName).click();
2061
+ }
2062
+ async clickEditMessage(eventName) {
2063
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2064
+ await this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message").click();
2065
+ await (0, $hOLA6$expect)(this.page.getByText("Edit message: Active task")).toBeVisible();
2066
+ }
2067
+ async editPriority(eventName, priority) {
2068
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2069
+ await this.page.getByRole("combobox").locator("i").click();
2070
+ await this.page.getByRole("option", {
2071
+ name: priority
2072
+ }).click();
2073
+ await this.page.getByRole("button", {
2074
+ name: "Save"
2075
+ }).click();
2076
+ }
2077
+ }
2078
+
2079
+
2080
+
2081
+
1858
2082
  class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1859
2083
  constructor(page){
1860
2084
  super(page);
2085
+ this.deliveryPage = new (0, $4cdce1306be47ecd$export$eace2be4de1d3377)(page);
1861
2086
  this.expandButton = this.page.getByRole("button", {
1862
2087
  name: " Expand"
1863
2088
  });
1864
2089
  this.folderGroupsPage = new (0, $27cd192f30944b0c$export$572f40d328c1d028)(page);
2090
+ this.notificationPage = new (0, $7e73332bf754777c$export$32284f8bcf0bc407)(page);
1865
2091
  this.patternPage = new (0, $d13e78163af94d50$export$9b9454a7f137e99b)(page);
1866
2092
  this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
1867
2093
  }
@@ -1892,7 +2118,7 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
1892
2118
  }
1893
2119
  async openFolder(folderName) {
1894
2120
  await this.page.getByTitle(folderName).waitFor({
1895
- timeout: 500
2121
+ timeout: 1000
1896
2122
  });
1897
2123
  await this.page.getByTitle(folderName).click();
1898
2124
  await (0, $hOLA6$expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
@@ -1978,7 +2204,8 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
1978
2204
  })).toBeVisible();
1979
2205
  }
1980
2206
  async openPatterns() {
1981
- await this.util.openSideNavMenu("Patterns");
2207
+ await this.util.openSideNavMenu("Deliveries");
2208
+ await this.util.openNestedMenuItem("Patterns");
1982
2209
  await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Patterns")).toBeVisible();
1983
2210
  return this.patternPage;
1984
2211
  }
@@ -1990,6 +2217,16 @@ class $50c91328c9110668$export$b453f08936c58edb extends (0, $9626bc9256ce31f7$ex
1990
2217
  async clickExpandButton() {
1991
2218
  if (await this.expandButton.isEnabled()) await this.expandButton.click();
1992
2219
  }
2220
+ async openDeliveriesOverview() {
2221
+ await this.util.openSideNavMenu("Deliveries");
2222
+ await this.util.openNestedMenuItem("Deliveries overview");
2223
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Deliveries")).toBeVisible();
2224
+ return this.deliveryPage;
2225
+ }
2226
+ async openNotifications() {
2227
+ await this.util.openSideNavMenu("Notifications");
2228
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
2229
+ }
1993
2230
  }
1994
2231
 
1995
2232
 
@@ -2089,50 +2326,321 @@ class $3df1257265fba073$export$74ca1eaaa9a0054 extends (0, $9626bc9256ce31f7$exp
2089
2326
  await this.addVariablelabel.fill(labelname);
2090
2327
  await this.page.locator(".variable-description input").fill(description);
2091
2328
  }
2092
- async verifyGlobalVariableCreation(variableName) {
2093
- await this.page.locator("[id='variables-filter']").fill(variableName);
2094
- await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").filter({
2095
- hasText: variableName
2329
+ async verifyGlobalVariableCreation(variableName) {
2330
+ await this.page.locator("[id='variables-filter']").fill(variableName);
2331
+ await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").filter({
2332
+ hasText: variableName
2333
+ })).toBeVisible();
2334
+ }
2335
+ async submitTheVariable() {
2336
+ const pagesubmit = await this.page.locator(".button.save");
2337
+ await pagesubmit.hover();
2338
+ await pagesubmit.click();
2339
+ }
2340
+ async deleteGlobalVariable(variableName) {
2341
+ await this.page.locator("[id='variables-filter']").fill(variableName);
2342
+ await this.page.getByText("Delete").click();
2343
+ await (0, $hOLA6$expect)(this.page.locator("h4.ng-binding")).toContainText(variableName);
2344
+ await this.page.getByRole("button", {
2345
+ name: "Cancel"
2346
+ }).click();
2347
+ await this.verifyGlobalVariableCreation(variableName);
2348
+ await this.page.getByText("Delete").click();
2349
+ await this.page.getByRole("button", {
2350
+ name: "Delete"
2351
+ }).click();
2352
+ await this.page.locator("alert.notice.ng-scope").isVisible();
2353
+ }
2354
+ async editVariable(variableName, editedvariabletext) {
2355
+ await this.page.locator("[id='variables-filter']").fill(variableName);
2356
+ await this.page.getByText("Edit").click();
2357
+ await this.addVariablelabel.clear();
2358
+ await this.addVariablelabel.fill(editedvariabletext);
2359
+ await this.page.getByRole("button", {
2360
+ name: "Save"
2361
+ }).click();
2362
+ await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").getByText(editedvariabletext, {
2363
+ exact: true
2364
+ })).toBeVisible();
2365
+ }
2366
+ }
2367
+
2368
+
2369
+
2370
+
2371
+ class $2174535b78371022$export$36d69433c4f81145 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2372
+ constructor(page){
2373
+ super(page);
2374
+ this.configureButton = this.page.getByRole("button", {
2375
+ name: "Configure"
2376
+ });
2377
+ this.viewModeButton = this.page.getByRole("button", {
2378
+ name: "back icon Back to view mode"
2379
+ });
2380
+ }
2381
+ async verifyHomePage() {
2382
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2383
+ name: "Digital.ai Release Home"
2384
+ })).toBeVisible();
2385
+ }
2386
+ async verifyConfigureButton() {
2387
+ await this.configureButton.click();
2388
+ await (0, $hOLA6$expect)(this.viewModeButton).toBeVisible();
2389
+ await this.viewModeButton.click();
2390
+ }
2391
+ async addReleaseTiles() {
2392
+ await this.configureButton.click();
2393
+ await this.page.getByRole("button", {
2394
+ name: "Add tiles"
2395
+ }).click();
2396
+ await this.page.getByPlaceholder("Search...").fill("releases");
2397
+ await this.page.getByPlaceholder("Search...").click();
2398
+ await this.page.getByText("Release tile (Global)").hover();
2399
+ await this.page.locator("xlr-tile-card").filter({
2400
+ hasText: "Release tile (Global) Add See"
2401
+ }).getByRole("button").click();
2402
+ await this.page.getByRole("button", {
2403
+ name: "back icon Back to view mode"
2404
+ }).click();
2405
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2406
+ name: "Releases"
2407
+ }).first()).toBeVisible();
2408
+ }
2409
+ async addWorkflowTiles() {
2410
+ await this.page.getByRole("button", {
2411
+ name: "Add tiles"
2412
+ }).click();
2413
+ await this.page.getByText("Workflow tile (Global)").hover();
2414
+ await this.page.locator("xlr-tile-card").filter({
2415
+ hasText: "Workflow tile (Global) Add"
2416
+ }).getByRole("button").click();
2417
+ await this.page.getByRole("button", {
2418
+ name: "back icon Back to view mode"
2419
+ }).click();
2420
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2421
+ name: "Introducing Workflows"
2422
+ }).first()).toBeVisible();
2423
+ }
2424
+ async addApplicationTiles() {
2425
+ await this.page.getByRole("button", {
2426
+ name: "Add tiles"
2427
+ }).click();
2428
+ await this.page.getByText("Application tile (Global)").hover();
2429
+ await this.page.locator("xlr-tile-card").filter({
2430
+ hasText: "Application tile (Global) Add"
2431
+ }).getByRole("button").click();
2432
+ await this.page.getByRole("button", {
2433
+ name: "back icon Back to view mode"
2434
+ }).click();
2435
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2436
+ name: "Applications"
2437
+ }).first()).toBeVisible();
2438
+ }
2439
+ async addTemplateTiles() {
2440
+ await this.page.getByRole("button", {
2441
+ name: "Add tiles"
2442
+ }).click();
2443
+ await this.page.getByText("Template tile (Global)").hover();
2444
+ await this.page.locator("xlr-tile-card").filter({
2445
+ hasText: "Template tile (Global) Add"
2446
+ }).getByRole("button").click();
2447
+ await this.page.getByRole("button", {
2448
+ name: "back icon Back to view mode"
2449
+ }).click();
2450
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2451
+ name: "Templates"
2452
+ }).first()).toBeVisible();
2453
+ }
2454
+ async addAnnouncementTiles() {
2455
+ await this.page.getByRole("button", {
2456
+ name: "Add tiles"
2457
+ }).click();
2458
+ await this.page.getByText("Announcement tile (Global)").hover();
2459
+ await this.page.locator("xlr-tile-card").filter({
2460
+ hasText: "Announcement tile (Global) Add"
2461
+ }).getByRole("button").click();
2462
+ await this.page.getByRole("button", {
2463
+ name: "back icon Back to view mode"
2464
+ }).click();
2465
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2466
+ name: "Getting started"
2467
+ }).first()).toBeVisible();
2468
+ }
2469
+ async addAnaslyticsTiles() {
2470
+ await this.page.getByRole("button", {
2471
+ name: "Add tiles"
2472
+ }).click();
2473
+ await this.page.getByText("Analytics tile (Global)").hover();
2474
+ await this.page.locator("xlr-tile-card").filter({
2475
+ hasText: "Analytics tile (Global) Add"
2476
+ }).getByRole("button").click();
2477
+ await this.page.getByRole("button", {
2478
+ name: "back icon Back to view mode"
2479
+ }).click();
2480
+ await (0, $hOLA6$expect)(this.page.getByRole("button", {
2481
+ name: "View Analytics"
2482
+ }).nth(1)).toBeVisible();
2483
+ }
2484
+ /**
2485
+ * Remove the tiles from the home page
2486
+ * @param tileName name of the tile to be removed
2487
+ * tileName TileName should be "Releases", "Workflows", "Applications", "Templates", "Announcements", "Analytics"
2488
+ */ async removeTiles(tileName) {
2489
+ await this.configureButton.click();
2490
+ await this.page.locator('.xlr-tile-container[data-title="' + tileName + '"]').last().hover();
2491
+ await this.page.locator('[data-title="' + tileName + '"] .delete-icon').last().click();
2492
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2493
+ name: "Delete tile"
2494
+ })).toBeVisible();
2495
+ await this.page.getByRole("button", {
2496
+ name: "Delete"
2497
+ }).click();
2498
+ await this.viewModeButton.click();
2499
+ }
2500
+ async verifyWhatsNewButton() {
2501
+ await this.page.getByText(`What's new`).waitFor({
2502
+ state: "visible"
2503
+ });
2504
+ await this.page.getByText(`What's new`).click();
2505
+ await (0, $hOLA6$expect)(this.page.getByText("Introducing Analytics")).toBeVisible();
2506
+ await this.page.getByLabel("Close").click();
2507
+ }
2508
+ }
2509
+
2510
+
2511
+
2512
+
2513
+
2514
+ class $aa1ba8c8de3c0679$export$2fb4351c41ce6e7a extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2515
+ constructor(page){
2516
+ super(page);
2517
+ this.announcementIcon = this.page.getByLabel("Open Resource Center");
2518
+ this.settingsIcon = this.page.locator('i[aria-label="settings-admin-opaque icon"]');
2519
+ this.aboutMenu = this.page.getByText("About Digital.ai Release");
2520
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
2521
+ }
2522
+ async verifyVersionNumber(versionNumber) {
2523
+ const year = new Date().getFullYear();
2524
+ await this.settingsIcon.click();
2525
+ await this.aboutMenu.click();
2526
+ await (0, $hOLA6$expect)(this.page.getByText("Version " + versionNumber)).toBeVisible();
2527
+ await (0, $hOLA6$expect)(this.page.getByRole("img", {
2528
+ name: "Release"
2096
2529
  })).toBeVisible();
2530
+ await (0, $hOLA6$expect)(this.page.getByText(`ⓒ ${year} Digital.ai Software,`)).toBeVisible();
2531
+ await this.util.clickCloseIcon();
2097
2532
  }
2098
- async submitTheVariable() {
2099
- const pagesubmit = await this.page.locator(".button.save");
2100
- await pagesubmit.hover();
2101
- await pagesubmit.click();
2533
+ async verifyProductAnnouncements() {
2534
+ await (0, $hOLA6$expect)(this.announcementIcon).toBeVisible();
2535
+ await this.announcementIcon.click();
2536
+ (0, $hOLA6$expect)(await this.page.locator("#pendo-guide-container").innerText()).toContain("Product updates");
2102
2537
  }
2103
- async deleteGlobalVariable(variableName) {
2104
- await this.page.locator("[id='variables-filter']").fill(variableName);
2105
- await this.page.getByText("Delete").click();
2106
- await (0, $hOLA6$expect)(this.page.locator("h4.ng-binding")).toContainText(variableName);
2107
- await this.page.getByRole("button", {
2108
- name: "Cancel"
2109
- }).click();
2110
- await this.verifyGlobalVariableCreation(variableName);
2111
- await this.page.getByText("Delete").click();
2112
- await this.page.getByRole("button", {
2113
- name: "Delete"
2538
+ async clickHelpIcon() {
2539
+ await this.page.getByTestId("right-side-nav").getByRole("button", {
2540
+ name: "Help"
2114
2541
  }).click();
2115
- await this.page.locator("alert.notice.ng-scope").isVisible();
2116
2542
  }
2117
- async editVariable(variableName, editedvariabletext) {
2118
- await this.page.locator("[id='variables-filter']").fill(variableName);
2119
- await this.page.getByText("Edit").click();
2120
- await this.addVariablelabel.clear();
2121
- await this.addVariablelabel.fill(editedvariabletext);
2122
- await this.page.getByRole("button", {
2123
- name: "Save"
2543
+ async verifyOnlineDocumentation() {
2544
+ const versionNumber = await this.getVersionNumber();
2545
+ await this.clickHelpIcon();
2546
+ const page2Promise = this.page.waitForEvent("popup");
2547
+ await (0, $hOLA6$expect)(this.page.getByText("Online documentation")).toBeVisible();
2548
+ await this.page.getByText("Online documentation").click();
2549
+ const page2 = await page2Promise;
2550
+ (0, $hOLA6$expect)(page2.url()).toContain("https://docs.digital.ai/bundle/devops-release-version-v." + versionNumber.substring(8, 12) + "/page/release/how-to/get-started-with-xl-release.html");
2551
+ await this.page.bringToFront();
2552
+ }
2553
+ async verifySupportRequest() {
2554
+ await (0, $hOLA6$expect)(this.page.getByRole("menuitem", {
2555
+ name: "Submit a support request"
2556
+ })).toBeVisible();
2557
+ const page2Promise = this.page.waitForEvent("popup");
2558
+ await this.page.getByRole("menuitem", {
2559
+ name: "Submit a support request"
2124
2560
  }).click();
2125
- await (0, $hOLA6$expect)(this.page.locator(".variable.ui-sortable-handle").getByText(editedvariabletext, {
2561
+ const page2 = await page2Promise;
2562
+ (0, $hOLA6$expect)(page2.url()).toContain("https://support.digital.ai/hc/en-us/");
2563
+ await this.page.bringToFront();
2564
+ }
2565
+ async verifySuggestAFeature() {
2566
+ await (0, $hOLA6$expect)(this.page.getByText("Suggest a feature")).toBeVisible();
2567
+ const page2Promise = this.page.waitForEvent("popup");
2568
+ await this.page.getByText("Suggest a feature").click();
2569
+ const page2 = await page2Promise;
2570
+ (0, $hOLA6$expect)(page2.url()).toContain("https://ideas.digital.ai/devops");
2571
+ await this.page.bringToFront();
2572
+ }
2573
+ async verifyDigitalAiWebsite() {
2574
+ await (0, $hOLA6$expect)(this.page.getByText("Digital.ai website")).toBeVisible();
2575
+ const page2Promise = this.page.waitForEvent("popup");
2576
+ await this.page.getByText("Digital.ai website").click();
2577
+ const page2 = await page2Promise;
2578
+ (0, $hOLA6$expect)(page2.url()).toContain("https://digital.ai/");
2579
+ await this.page.bringToFront();
2580
+ }
2581
+ async clickAvatarIcon(username) {
2582
+ await this.page.getByLabel(username, {
2126
2583
  exact: true
2584
+ }).click();
2585
+ }
2586
+ async verifyUser(userFullName) {
2587
+ await this.page.locator("li").getByLabel(userFullName).click();
2588
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2589
+ name: "Personal settings for admin"
2127
2590
  })).toBeVisible();
2128
2591
  }
2592
+ async clickAccessTokens() {
2593
+ await this.page.getByText("Access tokens").click();
2594
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Access tokens")).toBeVisible();
2595
+ }
2596
+ async getVersionNumber() {
2597
+ await this.settingsIcon.click();
2598
+ await this.aboutMenu.click();
2599
+ const versionNumber = await this.page.locator(".version-text").innerText();
2600
+ await this.util.clickCloseIcon();
2601
+ return versionNumber;
2602
+ }
2129
2603
  }
2130
2604
 
2131
2605
 
2132
2606
 
2133
- class $2174535b78371022$export$36d69433c4f81145 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2607
+
2608
+
2609
+ class $ecd0868a4240184d$export$7b434e00c788d0bf extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2134
2610
  constructor(page){
2135
2611
  super(page);
2612
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
2613
+ }
2614
+ async openPluginGallery() {
2615
+ await this.util.openSideNavMenu("Plugin gallery");
2616
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
2617
+ }
2618
+ async openInstalledPlugins() {
2619
+ await this.util.openSideNavMenu("Installed plugins");
2620
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Installed plugins")).toBeVisible();
2621
+ }
2622
+ async searchForPlugins(searchText) {
2623
+ await this.page.getByPlaceholder("Search for plugin").fill(searchText);
2624
+ (0, $hOLA6$expect)(await this.page.locator(".PluginTile__title-and-version___1HsNr span").count()).toBeGreaterThan(0);
2625
+ }
2626
+ async refreshPluginList() {
2627
+ await (0, $hOLA6$expect)(this.page.getByTestId("plugin-refresh-btn")).toBeVisible();
2628
+ await this.page.getByTestId("plugin-refresh-btn").click();
2629
+ }
2630
+ async clickInstallNow(pluginName) {
2631
+ await this.page.locator("div").filter({
2632
+ hasText: "Install now" + pluginName
2633
+ }).getByRole("button").click();
2634
+ }
2635
+ async expectRestartInfo() {
2636
+ await (0, $hOLA6$expect)(this.page.getByLabel("info")).toContainText("Restart Digital.ai Release to finish installing the plugin.");
2637
+ }
2638
+ async expectNewPluginInstallationInfo(pluginName) {
2639
+ await (0, $hOLA6$expect)(this.page.getByText("New plugin installedPlugin")).toBeVisible();
2640
+ await (0, $hOLA6$expect)(this.page.getByLabel("info").locator("div")).toContainText("New plugin installedPlugin release-" + pluginName.toLowerCase() + "-integration has been installed, click here to reload the changes or refresh your browser");
2641
+ }
2642
+ async clickUpload() {
2643
+ await this.page.getByTestId("dot-button").click();
2136
2644
  }
2137
2645
  }
2138
2646
 
@@ -2159,6 +2667,61 @@ class $6720a523bcb1cce0$export$3cac5fd37ae64b91 extends (0, $9626bc9256ce31f7$ex
2159
2667
 
2160
2668
 
2161
2669
 
2670
+ class $a5932af323ac015a$export$3cf9c90f870f31bd extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2671
+ constructor(page){
2672
+ super(page);
2673
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
2674
+ }
2675
+ async openProfile() {
2676
+ await this.util.openSideNavMenu("Profile");
2677
+ }
2678
+ async openAccessToken() {
2679
+ await this.util.openSideNavMenu("Access tokens");
2680
+ }
2681
+ async editUserProfile(email) {
2682
+ await this.page.getByLabel("Email address").click();
2683
+ await this.page.getByLabel("Email address").fill(email);
2684
+ await this.page.getByTestId("dot-button").click();
2685
+ (0, $hOLA6$expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
2686
+ }
2687
+ async generateNewAccessToken(tokenName, expiryOptions) {
2688
+ await this.page.getByRole("button", {
2689
+ name: "Generate token"
2690
+ }).click();
2691
+ await this.page.getByLabel("Token name").click();
2692
+ await this.page.getByLabel("Token name").fill(tokenName);
2693
+ await this.page.getByRole("textbox", {
2694
+ name: "Token expiration"
2695
+ }).getByLabel("Token expiration").selectOption(expiryOptions);
2696
+ await this.page.locator("label").filter({
2697
+ hasText: "Use all permissions"
2698
+ }).getByTestId("RadioButtonCheckedIcon").click();
2699
+ await this.page.getByRole("button", {
2700
+ name: "Generate",
2701
+ exact: true
2702
+ }).click();
2703
+ await (0, $hOLA6$expect)(this.page.getByTestId("alert-button-tooltip").getByTestId("dot-button")).toBeVisible();
2704
+ await (0, $hOLA6$expect)(this.page.getByText(tokenName)).toBeVisible();
2705
+ }
2706
+ async deleteAccessToken(tokenName) {
2707
+ await this.page.locator(".MuiTableRow-root").filter({
2708
+ hasText: tokenName
2709
+ }).getByTestId("button-icon-i").click();
2710
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2711
+ name: "Delete token"
2712
+ })).toBeVisible();
2713
+ await (0, $hOLA6$expect)(this.page.getByLabel("Delete token")).toContainText("Delete token");
2714
+ await this.page.getByRole("button", {
2715
+ name: "delete icon Delete token"
2716
+ }).click();
2717
+ await (0, $hOLA6$expect)(this.page.getByText(tokenName)).not.toBeVisible();
2718
+ }
2719
+ }
2720
+
2721
+
2722
+
2723
+
2724
+
2162
2725
 
2163
2726
  class $21185a378c23589e$export$e2e2e1ffdce20c30 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2164
2727
  constructor(page){
@@ -2265,6 +2828,51 @@ class $2cb6a6ac6b17e85f$export$107317390f5aa598 extends (0, $9626bc9256ce31f7$ex
2265
2828
 
2266
2829
 
2267
2830
 
2831
+
2832
+
2833
+
2834
+ class $2c7e9876d54521fb$export$5628dfd1b9e94785 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2835
+ constructor(page){
2836
+ super(page);
2837
+ }
2838
+ async installReleaseRunner(headingName) {
2839
+ await this.page.locator(".workflow-card").filter({
2840
+ hasText: headingName
2841
+ }).getByTestId("dot-button").click();
2842
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2843
+ name: "Choose folder"
2844
+ })).toBeVisible();
2845
+ await this.page.locator(".xl__dropdown-indicator-container").click();
2846
+ await this.page.getByText("Samples & Tutorials").click();
2847
+ await this.page.getByRole("button", {
2848
+ name: "Run workflow"
2849
+ }).click();
2850
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).toBeVisible();
2851
+ await this.page.getByRole("heading", {
2852
+ name: "Prepare Digital.ai Release URL"
2853
+ }).waitFor();
2854
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2855
+ name: "Prepare Digital.ai Release URL"
2856
+ })).toBeVisible();
2857
+ await this.page.getByRole("heading", {
2858
+ name: "Digital.ai Release URL"
2859
+ }).nth(2).waitFor();
2860
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2861
+ name: "Digital.ai Release URL"
2862
+ }).nth(2)).toBeVisible();
2863
+ }
2864
+ async abortInstallation() {
2865
+ await this.page.getByRole("button", {
2866
+ name: "Abort"
2867
+ }).click();
2868
+ await this.page.getByRole("button", {
2869
+ name: "cancel icon Abort"
2870
+ }).click();
2871
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).not.toBeVisible();
2872
+ }
2873
+ }
2874
+
2875
+
2268
2876
  class $f1bf370bb7f683ca$export$1d7840d5cdc861d5 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2269
2877
  constructor(page){
2270
2878
  super(page);
@@ -2277,6 +2885,19 @@ class $f1bf370bb7f683ca$export$1d7840d5cdc861d5 extends (0, $9626bc9256ce31f7$ex
2277
2885
  this.managePluginMenu = this.page.getByRole("menuitem", {
2278
2886
  name: "plugins icon Manage plugins"
2279
2887
  });
2888
+ this.systemSettingsMenu = this.page.getByRole("menuitem", {
2889
+ name: "System settings"
2890
+ });
2891
+ this.runnerMenu = this.page.getByText("Runners");
2892
+ this.configureSystemMessageMenu = this.page.getByText("Configure system message");
2893
+ this.taskManagerMenu = this.page.getByText("Task manager");
2894
+ this.viewSystemInfoMenu = this.page.getByText("View system information");
2895
+ this.getDataSupportMenu = this.page.getByText("Get data for support");
2896
+ this.renewLicenseMenu = this.page.getByText("Renew license");
2897
+ this.aboutMenu = this.page.getByText("About Digital.ai Release");
2898
+ this.closeIcon = this.page.locator(".xl-icon.close-icon");
2899
+ this.installRunnerButton = this.page.getByTestId("create-btn");
2900
+ this.workflowCatalogPage = new (0, $2c7e9876d54521fb$export$5628dfd1b9e94785)(page);
2280
2901
  }
2281
2902
  async openUsersAndPermissions() {
2282
2903
  await this.settingsIcon.click();
@@ -2285,6 +2906,106 @@ class $f1bf370bb7f683ca$export$1d7840d5cdc861d5 extends (0, $9626bc9256ce31f7$ex
2285
2906
  async openManagePlugin() {
2286
2907
  await this.settingsIcon.click();
2287
2908
  await this.managePluginMenu.click();
2909
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
2910
+ }
2911
+ async openSystemSettings() {
2912
+ await this.settingsIcon.click();
2913
+ await this.systemSettingsMenu.click();
2914
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("System settings")).toBeVisible();
2915
+ }
2916
+ async openRunner() {
2917
+ await this.settingsIcon.click();
2918
+ await this.runnerMenu.click();
2919
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
2920
+ name: "Runners"
2921
+ })).toBeVisible();
2922
+ }
2923
+ async openConfigureSystemMessage() {
2924
+ await this.settingsIcon.click();
2925
+ await this.configureSystemMessageMenu.click();
2926
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2927
+ name: "System message"
2928
+ })).toBeVisible();
2929
+ await this.closeIcon.click();
2930
+ }
2931
+ async configureSystemMessage(message) {
2932
+ await this.settingsIcon.click();
2933
+ await this.configureSystemMessageMenu.click();
2934
+ await this.page.getByLabel("Enable system message").check();
2935
+ await this.page.getByLabel("Type here...").locator("div").nth(2).click();
2936
+ await this.page.getByLabel("Type here...").fill(message);
2937
+ await this.page.getByRole("button", {
2938
+ name: "Save"
2939
+ }).click();
2940
+ await (0, $hOLA6$expect)(this.page.locator("system-message")).toContainText(message);
2941
+ }
2942
+ async disableSystemMessage() {
2943
+ await this.settingsIcon.click();
2944
+ await this.configureSystemMessageMenu.click();
2945
+ await this.page.getByLabel("Enable system message").uncheck();
2946
+ await this.page.getByRole("button", {
2947
+ name: "Save"
2948
+ }).click();
2949
+ await (0, $hOLA6$expect)(this.page.getByRole("alert")).not.toBeVisible();
2950
+ }
2951
+ async openTaskManager() {
2952
+ await this.settingsIcon.click();
2953
+ await this.taskManagerMenu.click();
2954
+ await (0, $hOLA6$expect)(this.page.getByRole("link", {
2955
+ name: "Task manager"
2956
+ })).toBeVisible();
2957
+ }
2958
+ async openViewSystemInformation() {
2959
+ const versionNumber = await this.getVersionNumber();
2960
+ await this.settingsIcon.click();
2961
+ await this.viewSystemInfoMenu.click();
2962
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2963
+ name: "Release system information"
2964
+ })).toBeVisible();
2965
+ await (0, $hOLA6$expect)(this.page.getByRole("rowgroup")).toContainText(versionNumber);
2966
+ }
2967
+ async openGetDataForSupport() {
2968
+ await this.settingsIcon.click();
2969
+ await this.getDataSupportMenu.click();
2970
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2971
+ name: "Get data for support"
2972
+ })).toBeVisible();
2973
+ await (0, $hOLA6$expect)(this.page.locator("support-accelerator-modal")).toContainText("See https://support.digital.ai for more information or to open a support request.");
2974
+ }
2975
+ async downloadSupportData() {
2976
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
2977
+ this.page.on("download", ()=>{});
2978
+ const downloadPromise = this.page.waitForEvent("download");
2979
+ await this.page.getByRole("button", {
2980
+ name: "Download"
2981
+ }).click();
2982
+ await downloadPromise;
2983
+ }
2984
+ async openRenewLicense() {
2985
+ await this.settingsIcon.click();
2986
+ const page1Promise = this.page.waitForEvent("popup");
2987
+ await this.page.getByText("Renew license").click();
2988
+ const page1 = await page1Promise;
2989
+ (0, $hOLA6$expect)(page1.url()).toContain("/productregistration");
2990
+ await (0, $hOLA6$expect)(page1.getByRole("button", {
2991
+ name: "Install license"
2992
+ })).toBeVisible();
2993
+ await this.page.bringToFront();
2994
+ }
2995
+ async getVersionNumber() {
2996
+ await this.settingsIcon.click();
2997
+ await this.aboutMenu.click();
2998
+ const versionNumber = await this.page.locator(".version-text").innerText();
2999
+ await this.closeIcon.click();
3000
+ return versionNumber;
3001
+ }
3002
+ async openAbout() {
3003
+ await this.settingsIcon.click();
3004
+ await this.aboutMenu.click();
3005
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
3006
+ name: "About"
3007
+ })).toBeVisible();
3008
+ await this.closeIcon.click();
2288
3009
  }
2289
3010
  }
2290
3011
 
@@ -2301,7 +3022,7 @@ class $9ca6e63d357957dd$export$922081b54f2ab994 extends (0, $9626bc9256ce31f7$ex
2301
3022
 
2302
3023
  class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
2303
3024
  async openReleaseCalendarPage() {
2304
- await this.page.goto("./#/calendar");
3025
+ await this.page.goto("./#/releases/calendar");
2305
3026
  //Define date format to verify different calendar views
2306
3027
  const today = new Date();
2307
3028
  let options = {
@@ -2319,7 +3040,7 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
2319
3040
  };
2320
3041
  this.monthFormat = today.toLocaleDateString("en-US", options);
2321
3042
  this.monthFormat = this.monthFormat.replace(/(\w+) (\d+)/, "$1, $2");
2322
- await (0, $hOLA6$expect)(this.page).toHaveTitle("Release calendar / Home - Digital.ai Release");
3043
+ await (0, $hOLA6$expect)(this.page.locator(".tl-viewport")).toBeVisible();
2323
3044
  return this;
2324
3045
  }
2325
3046
  async exportCalendar() {
@@ -3380,6 +4101,181 @@ class $171d52b372748c0b$export$7e1d435fa474ee21 extends (0, $9626bc9256ce31f7$ex
3380
4101
 
3381
4102
 
3382
4103
 
4104
+
4105
+
4106
+
4107
+
4108
+ class $dc3f86da33696c85$export$97f7a3219fa8d586 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
4109
+ constructor(page){
4110
+ super(page);
4111
+ this.roleName = page.locator("Role name *");
4112
+ this.newRoleName = page.locator("Role name *");
4113
+ this.addPrincipal = page.locator("Add a principal...");
4114
+ this.saveButton = page.getByRole("button", {
4115
+ name: "Save"
4116
+ });
4117
+ this.editIcon = page.getByRole("row", {
4118
+ name: ""
4119
+ }).getByLabel("Edit", {
4120
+ exact: true
4121
+ });
4122
+ this.deleteButton = page.getByRole("button", {
4123
+ name: "Delete"
4124
+ });
4125
+ this.searchRoles = page.getByPlaceholder("Search roles...");
4126
+ }
4127
+ async setRoleName(roleName) {
4128
+ return await this.page.getByLabel("Role name *").fill(roleName, {
4129
+ timeout: 1000
4130
+ });
4131
+ }
4132
+ async editRoleName(newRoleName) {
4133
+ return await this.page.getByLabel("Role name *").fill(newRoleName, {
4134
+ timeout: 1000
4135
+ });
4136
+ }
4137
+ async setPrincipal(addPrincipal) {
4138
+ await this.page.getByPlaceholder("Add a principal...").fill(addPrincipal, {
4139
+ timeout: 1000
4140
+ });
4141
+ }
4142
+ async searchRoleByRoleName(searchRoles) {
4143
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
4144
+ timeout: 1000
4145
+ });
4146
+ }
4147
+ async save() {
4148
+ await this.saveButton.isEnabled();
4149
+ await (0, $hOLA6$expect)(this.saveButton).not.toBeDisabled();
4150
+ await this.saveButton.focus();
4151
+ await this.saveButton.click();
4152
+ }
4153
+ async delete() {
4154
+ await this.deleteButton.click();
4155
+ }
4156
+ }
4157
+
4158
+
4159
+ class $208f399edeb35aa2$export$7a5b979a220f477c extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
4160
+ constructor(page){
4161
+ super(page);
4162
+ this.page = page;
4163
+ this.newRoleButton = this.page.getByTestId("new-role-btn");
4164
+ this.modal = new (0, $dc3f86da33696c85$export$97f7a3219fa8d586)(page);
4165
+ }
4166
+ async createRole(roleName, addPrincipal) {
4167
+ await this.newRoleButton.click();
4168
+ await this.modal.setRoleName(roleName);
4169
+ await this.modal.setPrincipal(addPrincipal);
4170
+ await this.modal.save();
4171
+ await this.expectToViewCreatedRole(roleName);
4172
+ }
4173
+ async editRole(roleName, newRoleName) {
4174
+ await this.page.getByRole("row", {
4175
+ name: roleName
4176
+ }).getByLabel("Edit", {
4177
+ exact: true
4178
+ }).click();
4179
+ await this.modal.editRoleName(newRoleName);
4180
+ await this.modal.save();
4181
+ }
4182
+ async searchRoleByRoleName(searchRoles) {
4183
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
4184
+ timeout: 1000
4185
+ });
4186
+ }
4187
+ async searchRoleByAssignedUsername(searchRolesByUsername) {
4188
+ await this.page.getByPlaceholder("Search assigned usernames or external groups...").fill(searchRolesByUsername, {
4189
+ timeout: 1000
4190
+ });
4191
+ }
4192
+ async deleteRole(roleName) {
4193
+ await this.page.getByRole("row", {
4194
+ name: roleName
4195
+ }).getByLabel("Delete", {
4196
+ exact: true
4197
+ }).click();
4198
+ await this.modal.delete();
4199
+ }
4200
+ async expectToViewRolesPage() {
4201
+ await (0, $hOLA6$expect)(this.page.locator("text=Principals")).toBeVisible();
4202
+ }
4203
+ async expectToViewCreatedRole(roleName) {
4204
+ await (0, $hOLA6$expect)(this.page.getByRole("cell", {
4205
+ name: roleName
4206
+ })).toBeVisible();
4207
+ }
4208
+ async expectToViewEditedRole(roleName) {
4209
+ await (0, $hOLA6$expect)(this.page.getByRole("cell", {
4210
+ name: roleName
4211
+ })).toBeVisible();
4212
+ }
4213
+ async expectRoleToBeDeleted(roleName) {
4214
+ await (0, $hOLA6$expect)(this.page.getByRole("cell", {
4215
+ name: roleName
4216
+ })).toBeHidden();
4217
+ }
4218
+ async expectToViewSearchedRole(roleName) {
4219
+ await (0, $hOLA6$expect)(this.page.locator("roles-page")).toContainText(roleName);
4220
+ }
4221
+ async expectToViewSearchedRoleByUsername(userName) {
4222
+ await (0, $hOLA6$expect)(this.page.locator("roles-page")).toContainText(userName);
4223
+ }
4224
+ }
4225
+
4226
+
4227
+
4228
+
4229
+
4230
+
4231
+ class $2cbb78eec86d0a9f$export$2edf430132ca35d0 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
4232
+ constructor(page){
4233
+ super(page);
4234
+ this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
4235
+ }
4236
+ async openGeneralSettings() {
4237
+ await this.util.openSideNavMenu("General");
4238
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("General")).toBeVisible();
4239
+ }
4240
+ async openReleasesAndTriggers() {
4241
+ await this.util.openSideNavMenu("Releases and Triggers");
4242
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Releases and Triggers")).toBeVisible();
4243
+ }
4244
+ async openTasks() {
4245
+ await this.util.openSideNavMenu("Tasks");
4246
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Tasks")).toBeVisible();
4247
+ }
4248
+ async openReports() {
4249
+ await this.util.openSideNavMenu("Reports");
4250
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Reports")).toBeVisible();
4251
+ }
4252
+ async openAdvanced() {
4253
+ await this.util.openSideNavMenu("Advanced");
4254
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Advanced")).toBeVisible();
4255
+ }
4256
+ async openExperimental() {
4257
+ await this.util.openSideNavMenu("Experimental");
4258
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Experimental")).toBeVisible();
4259
+ }
4260
+ async openNotifications() {
4261
+ await this.util.openSideNavMenu("Notifications");
4262
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
4263
+ }
4264
+ async openRiskProfiles() {
4265
+ await this.util.openSideNavMenu("Risk profiles");
4266
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Risk profiles")).toBeVisible();
4267
+ }
4268
+ async openWorkflowCategories() {
4269
+ await this.util.openSideNavMenu("Workflow categories");
4270
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Workflow categories")).toBeVisible();
4271
+ }
4272
+ async openSMTPServer() {
4273
+ await this.util.openSideNavMenu("SMTP server");
4274
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("SMTP server")).toBeVisible();
4275
+ }
4276
+ }
4277
+
4278
+
3383
4279
  class $e72552cbf941ecfa$export$b8a61e5c71402559 {
3384
4280
  constructor(page){
3385
4281
  this.page = page;
@@ -3388,20 +4284,25 @@ class $e72552cbf941ecfa$export$b8a61e5c71402559 {
3388
4284
  this.folderPage = new (0, $50c91328c9110668$export$b453f08936c58edb)(page);
3389
4285
  this.globalvariable = new (0, $3df1257265fba073$export$74ca1eaaa9a0054)(page);
3390
4286
  this.homePage = new (0, $2174535b78371022$export$36d69433c4f81145)(page);
4287
+ this.header = new (0, $aa1ba8c8de3c0679$export$2fb4351c41ce6e7a)(page);
4288
+ this.managePluginsPage = new (0, $ecd0868a4240184d$export$7b434e00c788d0bf)(page);
3391
4289
  this.releasePage = new (0, $43cbcdfccb6c2a76$export$f43492e8ac3c566)(page);
3392
4290
  this.settingsMenu = new (0, $f1bf370bb7f683ca$export$1d7840d5cdc861d5)(page);
4291
+ this.systemSettingsPage = new (0, $2cbb78eec86d0a9f$export$2edf430132ca35d0)(page);
3393
4292
  this.usersPage = new (0, $2cb6a6ac6b17e85f$export$107317390f5aa598)(page);
3394
4293
  this.applicationPage = new (0, $c313b10398604df2$export$1533b625ec0c75e2)(page);
3395
4294
  this.taskDetailsPage = new (0, $9ca6e63d357957dd$export$922081b54f2ab994)(page);
3396
4295
  this.taskListPage = new (0, $c37c93912f458e81$export$60c3bfa6385e2a10)(page);
3397
4296
  this.templatePage = new (0, $0c4084f199d70d72$export$8c8e7207254accc2)(page);
3398
4297
  this.templateListPage = new (0, $171d52b372748c0b$export$7e1d435fa474ee21)(page);
3399
- this.randomString = new (0, $b14c3492cf934ea2$export$e40b5d3c74b04c89)();
4298
+ this.personalSettingsPage = new (0, $a5932af323ac015a$export$3cf9c90f870f31bd)(page);
3400
4299
  this.releaseCalendarPage = new (0, $3a340a3f4fd8f04d$export$43682cddead1dd78)(page);
3401
4300
  this.releaseGroupPage = new (0, $cc2d15e53de5cef7$export$b6fbc3e67030138f)(page);
3402
4301
  this.releaseGroupTimelinePage = new (0, $cc231ea61b77c7a2$export$1a0994e9c202d529)(page);
3403
4302
  this.releaseListPage = new (0, $5359280e98d97ff9$export$a678525e79c4ccc4)(page);
4303
+ this.rolesPage = new (0, $208f399edeb35aa2$export$7a5b979a220f477c)(page);
3404
4304
  this.util = new (0, $87bbb6d35ad31a00$export$f8f26dd395d7e1bd)(page);
4305
+ this.workflowCatalogPage = new (0, $2c7e9876d54521fb$export$5628dfd1b9e94785)(page);
3405
4306
  }
3406
4307
  async openTemplate(id) {
3407
4308
  return this.openReleaseOrTemplate(id, false);
@@ -3758,17 +4659,41 @@ class $80c3ae34677b4324$var$Fixtures {
3758
4659
  getParentId(id) {
3759
4660
  return id.substring(0, id.lastIndexOf("/"));
3760
4661
  }
4662
+ addSystemTeams(teams) {
4663
+ const systemTeams = [
4664
+ "Folder Owner",
4665
+ "Release Admin",
4666
+ "Template Owner"
4667
+ ];
4668
+ const teamsToUpdate = teams.map((team)=>team.teamName);
4669
+ systemTeams.forEach((teamName)=>{
4670
+ if (teamsToUpdate.indexOf(teamName) === -1) teams.push({
4671
+ type: "xlrelease.Team",
4672
+ teamName: teamName,
4673
+ members: [],
4674
+ permissions: []
4675
+ });
4676
+ });
4677
+ return teams;
4678
+ }
3761
4679
  async folder(folder) {
3762
4680
  const parentId = this.getParentId(folder.id);
3763
4681
  folder.type = "xlrelease.Folder";
3764
- //ToDo: Add system teams
3765
- const teams = folder.teams;
4682
+ let teams = folder.teams;
3766
4683
  delete folder.teams;
3767
4684
  //ToDo: Add Children
3768
4685
  /* eslint-disable @typescript-eslint/no-unused-vars */ const children = folder.children || [];
3769
4686
  delete folder.children;
3770
- if (teams) return this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
3771
- return this.doPost(`api/v1/folders/${parentId}`, folder);
4687
+ const response = await this.doPost(`api/v1/folders/${parentId}`, folder);
4688
+ // Add the folder ID to the list
4689
+ this.folderIds.push(folder.id);
4690
+ // If teams are provided, send a request to add teams to the folder
4691
+ if (teams) {
4692
+ teams = this.addSystemTeams(teams);
4693
+ const newresponse = await this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
4694
+ return newresponse;
4695
+ }
4696
+ return response;
3772
4697
  }
3773
4698
  createFolder(folderJson) {
3774
4699
  folderJson.type = "xlrelease.Folder";