@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/main.js CHANGED
@@ -1029,6 +1029,18 @@ class $87643f2d97b0644e$export$a678525e79c4ccc4 extends (0, $f8721861c660dd88$ex
1029
1029
  await this.releaseCreatePage.create();
1030
1030
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Flow")).toBeVisible();
1031
1031
  }
1032
+ async gotoListView() {
1033
+ await this.page.getByRole("tab", {
1034
+ name: "release icon List"
1035
+ }).click();
1036
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release-list")).toBeVisible();
1037
+ }
1038
+ async gotoCalendarView() {
1039
+ await this.page.getByRole("tab", {
1040
+ name: "calendar icon Calendar"
1041
+ }).click();
1042
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-viewport")).toBeVisible();
1043
+ }
1032
1044
  }
1033
1045
 
1034
1046
 
@@ -1335,7 +1347,7 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
1335
1347
  async clickEditDependency(dependencies) {
1336
1348
  const depOptionsIcon = this.page.locator(".dependency").filter({
1337
1349
  has: this.page.getByLabel(dependencies)
1338
- }).locator(".actions");
1350
+ }).first().locator(".actions");
1339
1351
  await depOptionsIcon.isVisible();
1340
1352
  await depOptionsIcon.click();
1341
1353
  const frame = this.page.getByTestId("undefined-menu");
@@ -1564,7 +1576,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
1564
1576
  await this.page.waitForTimeout(1000);
1565
1577
  await this.retryButton.click();
1566
1578
  await this.commentBox.fill(comment);
1567
- await this.confirm.click();
1579
+ await this.page.getByTestId("popper-test-id-content-wrapper").getByTestId("dot-button").click();
1568
1580
  }
1569
1581
  async skipTask(comment) {
1570
1582
  await this.openMenu.click();
@@ -1857,6 +1869,10 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
1857
1869
  }
1858
1870
  await this.page.keyboard.press("Escape");
1859
1871
  }
1872
+ async checkAbortOnFailure() {
1873
+ await this.page.locator("#release-form-abort-on-failure").check();
1874
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-form-abort-on-failure")).toBeChecked();
1875
+ }
1860
1876
  }
1861
1877
 
1862
1878
 
@@ -1981,9 +1997,51 @@ class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$ex
1981
1997
  exact: true
1982
1998
  }).click();
1983
1999
  }
2000
+ async openNestedMenuItem(nestedMenuItem) {
2001
+ await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
2002
+ exact: true
2003
+ }).scrollIntoViewIfNeeded();
2004
+ await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
2005
+ exact: true
2006
+ }).click();
2007
+ }
1984
2008
  async clickCloseIcon() {
1985
2009
  await this.closeIcon.click();
1986
2010
  }
2011
+ async clickOnStatusField() {
2012
+ await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
2013
+ }
2014
+ async clickOnStatus(statusNames) {
2015
+ await this.clickOnStatusClearAll();
2016
+ await this.clickOnStatusField();
2017
+ for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
2018
+ // Clicking outside to close the grid dropdown
2019
+ await this.page.getByText("Status").click();
2020
+ }
2021
+ async clickOnStatusClearAll() {
2022
+ await this.clickOnStatusField();
2023
+ await this.page.locator("a.xl-react-link", {
2024
+ hasText: "Clear all"
2025
+ }).click();
2026
+ await this.page.getByText("Status").click();
2027
+ }
2028
+ async clickOnStatusSelectAll() {
2029
+ await this.clickOnStatusField();
2030
+ await this.page.locator("a.xl-react-link", {
2031
+ hasText: "Select all"
2032
+ }).click();
2033
+ await this.page.getByText("Status").click();
2034
+ }
2035
+ async setOrderBy(orderBy) {
2036
+ await this.page.locator(".order-by-filter .btn:first-child").click();
2037
+ await this.page.locator(`.order-by-filter .bootstrap-link:has-text('${orderBy}')`).click();
2038
+ }
2039
+ async setSearchFilter(filterText) {
2040
+ await this.page.locator(".searchFilter").fill(filterText);
2041
+ }
2042
+ async clearSearchFilter() {
2043
+ await this.page.locator(".searchFilter").clear();
2044
+ }
1987
2045
  }
1988
2046
 
1989
2047
 
@@ -2013,9 +2071,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2013
2071
  async expectNotFlagged() {
2014
2072
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flag-none-icon")).toBeHidden();
2015
2073
  }
2016
- async expectFlagOnTaskCard() {
2074
+ async expectRiskFlagOnTaskCard() {
2017
2075
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".risk-flag-icon")).toBeVisible();
2018
2076
  }
2077
+ async expectFlagOnCompletedTaskCard() {
2078
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flag-count")).toBeVisible();
2079
+ }
2019
2080
  async refresh() {
2020
2081
  await this.page.reload();
2021
2082
  await this.page.waitForSelector("#release");
@@ -2096,9 +2157,9 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2096
2157
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible();
2097
2158
  }
2098
2159
  async expectTaskCompletedInAdvance(taskTitle) {
2099
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-content").getByRole("list").locator("div").filter({
2160
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-content .completed_in_advance .task-title").filter({
2100
2161
  hasText: taskTitle
2101
- }).locator('span.pull-right.ng-binding.ng-scope:has-text("Completed on")')).toBeVisible();
2162
+ })).toBeVisible();
2102
2163
  }
2103
2164
  async expectTaskPending(taskTitle) {
2104
2165
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.pending").getByText(taskTitle, {
@@ -2278,6 +2339,38 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2278
2339
  }).click();
2279
2340
  await downloadPromise;
2280
2341
  }
2342
+ async expectTaskToBePresent(taskName) {
2343
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
2344
+ hasText: taskName
2345
+ })).toBeVisible();
2346
+ }
2347
+ async expectTaskNotToBePresent(taskName) {
2348
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
2349
+ hasText: taskName
2350
+ })).not.toBeVisible();
2351
+ }
2352
+ async toggleTaskFilter(filterOption) {
2353
+ this.clickFilterOptions();
2354
+ await this.page.locator(`#filter-container #${filterOption}`).click();
2355
+ this.clickFilterOptions();
2356
+ }
2357
+ async clickFilterOptions() {
2358
+ await this.page.locator("#release-header .dropdown-button").click();
2359
+ }
2360
+ async expectTaskToHaveFailed(title, failCount) {
2361
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2362
+ hasText: title
2363
+ }).locator(`.task-infos .failure-count.count-warning`)).toBeVisible();
2364
+ const count = await this.page.locator(`.task`).filter({
2365
+ hasText: title
2366
+ }).locator(`.task-infos .failure-count.count-warning`).innerText();
2367
+ (0, $kKeXs$playwrighttest.expect)(count).toContain(failCount.toString());
2368
+ }
2369
+ async expectTaskToHaveBeenDelayed(title) {
2370
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2371
+ hasText: title
2372
+ }).locator(`.task-infos .delay-count`)).toBeVisible();
2373
+ }
2281
2374
  }
2282
2375
  class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2283
2376
  constructor(page, phaseName){
@@ -2500,146 +2593,51 @@ class $ce55a4fc3c0aa96a$export$e40b5d3c74b04c89 {
2500
2593
 
2501
2594
 
2502
2595
 
2503
-
2504
-
2505
- class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2596
+ class $b2d8d8d82fc8146c$export$eace2be4de1d3377 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2506
2597
  constructor(page){
2507
2598
  super(page);
2508
2599
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2509
2600
  this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
2510
2601
  this.addDescription = page.getByPlaceholder("Set description...");
2511
- }
2512
- async clickNewDeliveryPattern() {
2513
- await this.page.getByTestId("dot-button").click();
2514
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
2515
- name: "Create delivery pattern"
2516
- })).toBeVisible();
2517
- }
2518
- async setPatternName(patternName) {
2519
- await this.addName.click();
2520
- await this.addName.clear();
2521
- await this.addName.fill(patternName);
2522
- }
2523
- async setPatternDescription(patternDescription) {
2524
- await this.page.getByPlaceholder("Set description...").click();
2525
- await this.page.getByPlaceholder("Set description...").clear();
2526
- await this.page.getByPlaceholder("Set description...").fill(patternDescription);
2527
- }
2528
- async enableAutoComplete() {
2529
- await this.page.getByRole("checkbox").check();
2530
- }
2531
- async disableAutoComplete() {
2532
- await this.page.getByRole("checkbox").uncheck();
2533
- }
2534
- async setDuration(month, days, hours) {
2535
- await this.page.getByRole("group", {
2536
- name: "Pattern details"
2537
- }).getByRole("textbox").click();
2538
- await this.page.locator('input[name="months"]').click();
2539
- await this.page.locator('input[name="months"]').fill(month.toString());
2540
- await this.page.locator('input[name="days"]').click();
2541
- await this.page.locator('input[name="days"]').fill(days.toString());
2542
- await this.page.locator('input[name="hours"]').click();
2543
- await this.page.locator('input[name="hours"]').fill(hours.toString());
2544
- }
2545
- async createNewPattern(patternName, patternDescription) {
2546
- await this.clickNewDeliveryPattern();
2547
- await this.setPatternName(patternName);
2548
- await this.setPatternDescription(patternDescription);
2549
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
2550
- hasText: "Create"
2551
- })).toBeEnabled();
2552
- await this.page.locator(".action-toolbar-actions button").filter({
2553
- hasText: "Create"
2554
- }).click({
2555
- force: true
2602
+ this.searchForDelivery = page.getByPlaceholder("Search for deliveries...", {
2603
+ exact: true
2556
2604
  });
2557
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2558
- }
2559
- async clickEditPatternIcon(patternName) {
2560
- await this.page.locator(".delivery-pattern-row").filter({
2561
- hasText: patternName
2562
- }).locator(".edit").click();
2563
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2564
- }
2565
- async clickCopyPatternIcon(patternName) {
2566
- await this.page.locator(".delivery-pattern-row").filter({
2567
- hasText: patternName
2568
- }).locator(".copy").click();
2569
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Copy delivery pattern")).toBeVisible();
2570
- }
2571
- async filterPatternByName(patternName) {
2572
- await this.page.getByPlaceholder("Filter by name...").click();
2573
- await this.page.getByPlaceholder("Filter by name...").clear();
2574
- await this.page.getByPlaceholder("Filter by name...").fill(patternName);
2575
- await this.page.getByPlaceholder("Filter by name...").press("Enter");
2576
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".delivery-pattern-row").filter({
2577
- hasText: patternName
2578
- })).toBeVisible();
2579
2605
  }
2580
- async openProperties() {
2606
+ async filterDeliveryByName(deliveryName) {
2607
+ await this.searchForDelivery.click();
2608
+ await this.searchForDelivery.clear();
2609
+ await this.searchForDelivery.fill(deliveryName);
2610
+ await this.searchForDelivery.press("Enter");
2611
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("xlr-delivery-row").filter({
2612
+ hasText: deliveryName
2613
+ }).getByRole("link").first()).toBeVisible();
2614
+ }
2615
+ async editDelivery(deliveryName, newDeliveryName) {
2616
+ await this.page.locator("xlr-delivery-row").filter({
2617
+ hasText: deliveryName
2618
+ }).locator(".fc-list-item-actions .edit-icon").click();
2581
2619
  await this.util.openSideNavMenu("Properties");
2582
- return new $ceb2e9e08e1837c2$var$Properties(this.page);
2583
- }
2584
- async back() {
2585
- await this.page.getByTestId("back-button").click();
2586
- }
2587
- async copyPattern(existingPatternName, NewPatternName) {
2588
- await this.clickCopyPatternIcon(existingPatternName);
2589
- await this.page.locator(".xl-icon.close-icon").first().click();
2590
- await this.addName.fill(NewPatternName);
2620
+ await this.addName.click();
2621
+ await this.addName.clear();
2622
+ await this.addName.fill(newDeliveryName);
2591
2623
  await this.page.getByRole("button", {
2592
- name: "Continue"
2624
+ name: "Save"
2593
2625
  }).click();
2594
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2626
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
2595
2627
  }
2596
- async clickDeletePattern(patternName) {
2597
- await this.page.locator(".delivery-pattern-row").filter({
2598
- hasText: patternName
2599
- }).locator(".delete").click();
2600
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Delete delivery pattern", {
2628
+ async deleteDelivery(deliveryName) {
2629
+ await this.page.locator("xlr-delivery-row").filter({
2630
+ hasText: deliveryName
2631
+ }).locator(".fc-list-item-actions .delete-icon").click();
2632
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Delete release delivery", {
2601
2633
  exact: true
2602
2634
  })).toBeVisible();
2603
2635
  await this.page.getByRole("button", {
2604
2636
  name: "Delete"
2605
2637
  }).click();
2606
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".delivery-pattern-row").filter({
2607
- hasText: patternName
2608
- })).not.toBeVisible();
2609
- }
2610
- }
2611
- class $ceb2e9e08e1837c2$var$Properties extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2612
- constructor(page){
2613
- super(page);
2614
- this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
2615
- this.addDescription = page.getByPlaceholder("Set description...");
2616
- }
2617
- async editName(name) {
2618
- await this.addName.click();
2619
- await this.addName.clear();
2620
- await this.addName.fill(name);
2621
- }
2622
- async editDescription(description) {
2623
- await this.page.getByPlaceholder("Set description...").click();
2624
- await this.page.getByPlaceholder("Set description...").clear();
2625
- await this.page.getByPlaceholder("Set description...").fill(description);
2626
- }
2627
- async editDuration(month, days, hours) {
2628
- await this.page.getByRole("group", {
2629
- name: "Pattern details"
2630
- }).getByRole("textbox").click();
2631
- await this.page.locator('input[name="months"]').click();
2632
- await this.page.locator('input[name="months"]').fill(month.toString());
2633
- await this.page.locator('input[name="days"]').click();
2634
- await this.page.locator('input[name="days"]').fill(days.toString());
2635
- await this.page.locator('input[name="hours"]').click();
2636
- await this.page.locator('input[name="hours"]').fill(hours.toString());
2637
- }
2638
- async save() {
2639
- await this.page.getByRole("button", {
2640
- name: "Save"
2641
- }).click();
2642
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
2638
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
2639
+ hasText: "Deleted release delivery successfully"
2640
+ })).toBeVisible();
2643
2641
  }
2644
2642
  }
2645
2643
 
@@ -2791,13 +2789,241 @@ class $0767ec703ce1f9a5$export$572f40d328c1d028 extends (0, $f8721861c660dd88$ex
2791
2789
  }
2792
2790
 
2793
2791
 
2792
+
2793
+
2794
+
2795
+ class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2796
+ constructor(page){
2797
+ super(page);
2798
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2799
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
2800
+ this.addDescription = page.getByPlaceholder("Set description...");
2801
+ }
2802
+ async clickNewDeliveryPattern() {
2803
+ await this.page.getByTestId("dot-button").click();
2804
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
2805
+ name: "Create delivery pattern"
2806
+ })).toBeVisible();
2807
+ }
2808
+ async setPatternName(patternName) {
2809
+ await this.addName.click();
2810
+ await this.addName.clear();
2811
+ await this.addName.fill(patternName);
2812
+ }
2813
+ async setPatternDescription(patternDescription) {
2814
+ await this.page.getByPlaceholder("Set description...").click();
2815
+ await this.page.getByPlaceholder("Set description...").clear();
2816
+ await this.page.getByPlaceholder("Set description...").fill(patternDescription);
2817
+ }
2818
+ async enableAutoComplete() {
2819
+ await this.page.getByRole("checkbox").check();
2820
+ }
2821
+ async disableAutoComplete() {
2822
+ await this.page.getByRole("checkbox").uncheck();
2823
+ }
2824
+ async setDuration(month, days, hours) {
2825
+ await this.page.getByRole("group", {
2826
+ name: "Pattern details"
2827
+ }).getByRole("textbox").click();
2828
+ await this.page.locator('input[name="months"]').click();
2829
+ await this.page.locator('input[name="months"]').fill(month.toString());
2830
+ await this.page.locator('input[name="days"]').click();
2831
+ await this.page.locator('input[name="days"]').fill(days.toString());
2832
+ await this.page.locator('input[name="hours"]').click();
2833
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
2834
+ }
2835
+ async createNewPattern(patternName, patternDescription) {
2836
+ await this.clickNewDeliveryPattern();
2837
+ await this.setPatternName(patternName);
2838
+ await this.setPatternDescription(patternDescription);
2839
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
2840
+ hasText: "Create"
2841
+ })).toBeEnabled();
2842
+ await this.page.locator(".action-toolbar-actions button").filter({
2843
+ hasText: "Create"
2844
+ }).click({
2845
+ force: true
2846
+ });
2847
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2848
+ }
2849
+ async clickEditPatternIcon(patternName) {
2850
+ await this.page.locator(".delivery-pattern-row").filter({
2851
+ hasText: patternName
2852
+ }).locator(".edit").click();
2853
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2854
+ }
2855
+ async clickCopyPatternIcon(patternName) {
2856
+ await this.page.locator(".delivery-pattern-row").filter({
2857
+ hasText: patternName
2858
+ }).locator(".copy").click();
2859
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Copy delivery pattern")).toBeVisible();
2860
+ }
2861
+ async filterPatternByName(patternName) {
2862
+ await this.page.getByPlaceholder("Filter by name...").click();
2863
+ await this.page.getByPlaceholder("Filter by name...").clear();
2864
+ await this.page.getByPlaceholder("Filter by name...").fill(patternName);
2865
+ await this.page.getByPlaceholder("Filter by name...").press("Enter");
2866
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".delivery-pattern-row").filter({
2867
+ hasText: patternName
2868
+ })).toBeVisible();
2869
+ }
2870
+ async openProperties() {
2871
+ await this.util.openSideNavMenu("Properties");
2872
+ return new $ceb2e9e08e1837c2$var$Properties(this.page);
2873
+ }
2874
+ async back() {
2875
+ await this.page.getByTestId("back-button").click();
2876
+ }
2877
+ async copyPattern(existingPatternName, NewPatternName) {
2878
+ await this.clickCopyPatternIcon(existingPatternName);
2879
+ await this.page.locator(".xl-icon.close-icon").first().click();
2880
+ await this.addName.fill(NewPatternName);
2881
+ await this.page.getByRole("button", {
2882
+ name: "Continue"
2883
+ }).click();
2884
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
2885
+ }
2886
+ async clickDeletePattern(patternName) {
2887
+ await this.page.locator(".delivery-pattern-row").filter({
2888
+ hasText: patternName
2889
+ }).locator(".delete").click();
2890
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Delete delivery pattern", {
2891
+ exact: true
2892
+ })).toBeVisible();
2893
+ await this.page.getByRole("button", {
2894
+ name: "Delete"
2895
+ }).click();
2896
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".delivery-pattern-row").filter({
2897
+ hasText: patternName
2898
+ })).not.toBeVisible();
2899
+ }
2900
+ async createNewDelivery(deliveryName, deliveryDes, setAutoComplete) {
2901
+ await this.page.getByTestId("dot-button").click();
2902
+ await this.addName.fill(deliveryName);
2903
+ await this.addDescription.click();
2904
+ if (deliveryDes) await this.addDescription.fill(deliveryDes);
2905
+ else await this.addDescription.fill("Description");
2906
+ if (setAutoComplete) await this.page.getByRole("checkbox").check();
2907
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
2908
+ hasText: "Create"
2909
+ })).toBeEnabled();
2910
+ await this.page.locator(".action-toolbar-actions button").filter({
2911
+ hasText: "Create"
2912
+ }).click({
2913
+ force: true
2914
+ });
2915
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
2916
+ name: `${deliveryName}`
2917
+ })).toBeVisible();
2918
+ }
2919
+ }
2920
+ class $ceb2e9e08e1837c2$var$Properties extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2921
+ constructor(page){
2922
+ super(page);
2923
+ this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
2924
+ this.addDescription = page.getByPlaceholder("Set description...");
2925
+ }
2926
+ async editName(name) {
2927
+ await this.addName.click();
2928
+ await this.addName.clear();
2929
+ await this.addName.fill(name);
2930
+ }
2931
+ async editDescription(description) {
2932
+ await this.page.getByPlaceholder("Set description...").click();
2933
+ await this.page.getByPlaceholder("Set description...").clear();
2934
+ await this.page.getByPlaceholder("Set description...").fill(description);
2935
+ }
2936
+ async editDuration(month, days, hours) {
2937
+ await this.page.getByRole("group", {
2938
+ name: "Pattern details"
2939
+ }).getByRole("textbox").click();
2940
+ await this.page.locator('input[name="months"]').click();
2941
+ await this.page.locator('input[name="months"]').fill(month.toString());
2942
+ await this.page.locator('input[name="days"]').click();
2943
+ await this.page.locator('input[name="days"]').fill(days.toString());
2944
+ await this.page.locator('input[name="hours"]').click();
2945
+ await this.page.locator('input[name="hours"]').fill(hours.toString());
2946
+ }
2947
+ async save() {
2948
+ await this.page.getByRole("button", {
2949
+ name: "Save"
2950
+ }).click();
2951
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
2952
+ }
2953
+ }
2954
+
2955
+
2956
+
2957
+
2958
+
2959
+ class $04ff53be95b7a0a4$export$32284f8bcf0bc407 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2960
+ constructor(page){
2961
+ super(page);
2962
+ this.inheritCheckbox = page.getByRole("checkbox");
2963
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2964
+ }
2965
+ async checkInheritNotifications() {
2966
+ await this.inheritCheckbox.click();
2967
+ if (await this.page.getByText("Override notification settings").isVisible()) await this.page.getByRole("button", {
2968
+ name: "Ok"
2969
+ }).click();
2970
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("checkbox")).toBeChecked();
2971
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".xl-icon.edit-icon")).not.toBeVisible();
2972
+ }
2973
+ async uncheckInheritNotifications() {
2974
+ await this.inheritCheckbox.dblclick();
2975
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("checkbox")).not.toBeChecked();
2976
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".xl-icon.edit-icon").first()).toBeVisible();
2977
+ }
2978
+ async expectRecipientsNotToBeEditable(eventName) {
2979
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2980
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).not.toBeVisible();
2981
+ }
2982
+ async deleteTeam(eventName, teamName) {
2983
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2984
+ await this.page.locator(`[data-test="${eventName}"] div.role`).filter({
2985
+ hasText: teamName
2986
+ }).locator("a.tag-close").click();
2987
+ }
2988
+ async expectEditMessageIsVisible(eventName) {
2989
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2990
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).toBeVisible();
2991
+ }
2992
+ async addTeam(eventName, teamName) {
2993
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2994
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").click();
2995
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").fill(teamName);
2996
+ await this.page.locator(`[data-test="${eventName}"]`).getByText(teamName).click();
2997
+ }
2998
+ async clickEditMessage(eventName) {
2999
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
3000
+ await this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message").click();
3001
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Edit message: Active task")).toBeVisible();
3002
+ }
3003
+ async editPriority(eventName, priority) {
3004
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
3005
+ await this.page.getByRole("combobox").locator("i").click();
3006
+ await this.page.getByRole("option", {
3007
+ name: priority
3008
+ }).click();
3009
+ await this.page.getByRole("button", {
3010
+ name: "Save"
3011
+ }).click();
3012
+ }
3013
+ }
3014
+
3015
+
3016
+
3017
+
2794
3018
  class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2795
3019
  constructor(page){
2796
3020
  super(page);
3021
+ this.deliveryPage = new (0, $b2d8d8d82fc8146c$export$eace2be4de1d3377)(page);
2797
3022
  this.expandButton = this.page.getByRole("button", {
2798
3023
  name: " Expand"
2799
3024
  });
2800
3025
  this.folderGroupsPage = new (0, $0767ec703ce1f9a5$export$572f40d328c1d028)(page);
3026
+ this.notificationPage = new (0, $04ff53be95b7a0a4$export$32284f8bcf0bc407)(page);
2801
3027
  this.patternPage = new (0, $ceb2e9e08e1837c2$export$9b9454a7f137e99b)(page);
2802
3028
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2803
3029
  }
@@ -2828,7 +3054,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
2828
3054
  }
2829
3055
  async openFolder(folderName) {
2830
3056
  await this.page.getByTitle(folderName).waitFor({
2831
- timeout: 500
3057
+ timeout: 1000
2832
3058
  });
2833
3059
  await this.page.getByTitle(folderName).click();
2834
3060
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
@@ -2914,7 +3140,8 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
2914
3140
  })).toBeVisible();
2915
3141
  }
2916
3142
  async openPatterns() {
2917
- await this.util.openSideNavMenu("Patterns");
3143
+ await this.util.openSideNavMenu("Deliveries");
3144
+ await this.util.openNestedMenuItem("Patterns");
2918
3145
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Patterns")).toBeVisible();
2919
3146
  return this.patternPage;
2920
3147
  }
@@ -2926,6 +3153,16 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
2926
3153
  async clickExpandButton() {
2927
3154
  if (await this.expandButton.isEnabled()) await this.expandButton.click();
2928
3155
  }
3156
+ async openDeliveriesOverview() {
3157
+ await this.util.openSideNavMenu("Deliveries");
3158
+ await this.util.openNestedMenuItem("Deliveries overview");
3159
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Deliveries")).toBeVisible();
3160
+ return this.deliveryPage;
3161
+ }
3162
+ async openNotifications() {
3163
+ await this.util.openSideNavMenu("Notifications");
3164
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
3165
+ }
2929
3166
  }
2930
3167
 
2931
3168
 
@@ -3025,50 +3262,321 @@ class $506d511737b3ea46$export$74ca1eaaa9a0054 extends (0, $f8721861c660dd88$exp
3025
3262
  await this.addVariablelabel.fill(labelname);
3026
3263
  await this.page.locator(".variable-description input").fill(description);
3027
3264
  }
3028
- async verifyGlobalVariableCreation(variableName) {
3029
- await this.page.locator("[id='variables-filter']").fill(variableName);
3030
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable.ui-sortable-handle").filter({
3031
- hasText: variableName
3265
+ async verifyGlobalVariableCreation(variableName) {
3266
+ await this.page.locator("[id='variables-filter']").fill(variableName);
3267
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable.ui-sortable-handle").filter({
3268
+ hasText: variableName
3269
+ })).toBeVisible();
3270
+ }
3271
+ async submitTheVariable() {
3272
+ const pagesubmit = await this.page.locator(".button.save");
3273
+ await pagesubmit.hover();
3274
+ await pagesubmit.click();
3275
+ }
3276
+ async deleteGlobalVariable(variableName) {
3277
+ await this.page.locator("[id='variables-filter']").fill(variableName);
3278
+ await this.page.getByText("Delete").click();
3279
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("h4.ng-binding")).toContainText(variableName);
3280
+ await this.page.getByRole("button", {
3281
+ name: "Cancel"
3282
+ }).click();
3283
+ await this.verifyGlobalVariableCreation(variableName);
3284
+ await this.page.getByText("Delete").click();
3285
+ await this.page.getByRole("button", {
3286
+ name: "Delete"
3287
+ }).click();
3288
+ await this.page.locator("alert.notice.ng-scope").isVisible();
3289
+ }
3290
+ async editVariable(variableName, editedvariabletext) {
3291
+ await this.page.locator("[id='variables-filter']").fill(variableName);
3292
+ await this.page.getByText("Edit").click();
3293
+ await this.addVariablelabel.clear();
3294
+ await this.addVariablelabel.fill(editedvariabletext);
3295
+ await this.page.getByRole("button", {
3296
+ name: "Save"
3297
+ }).click();
3298
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable.ui-sortable-handle").getByText(editedvariabletext, {
3299
+ exact: true
3300
+ })).toBeVisible();
3301
+ }
3302
+ }
3303
+
3304
+
3305
+
3306
+
3307
+ class $9ef669cf95557cb5$export$36d69433c4f81145 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3308
+ constructor(page){
3309
+ super(page);
3310
+ this.configureButton = this.page.getByRole("button", {
3311
+ name: "Configure"
3312
+ });
3313
+ this.viewModeButton = this.page.getByRole("button", {
3314
+ name: "back icon Back to view mode"
3315
+ });
3316
+ }
3317
+ async verifyHomePage() {
3318
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3319
+ name: "Digital.ai Release Home"
3320
+ })).toBeVisible();
3321
+ }
3322
+ async verifyConfigureButton() {
3323
+ await this.configureButton.click();
3324
+ await (0, $kKeXs$playwrighttest.expect)(this.viewModeButton).toBeVisible();
3325
+ await this.viewModeButton.click();
3326
+ }
3327
+ async addReleaseTiles() {
3328
+ await this.configureButton.click();
3329
+ await this.page.getByRole("button", {
3330
+ name: "Add tiles"
3331
+ }).click();
3332
+ await this.page.getByPlaceholder("Search...").fill("releases");
3333
+ await this.page.getByPlaceholder("Search...").click();
3334
+ await this.page.getByText("Release tile (Global)").hover();
3335
+ await this.page.locator("xlr-tile-card").filter({
3336
+ hasText: "Release tile (Global) Add See"
3337
+ }).getByRole("button").click();
3338
+ await this.page.getByRole("button", {
3339
+ name: "back icon Back to view mode"
3340
+ }).click();
3341
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3342
+ name: "Releases"
3343
+ }).first()).toBeVisible();
3344
+ }
3345
+ async addWorkflowTiles() {
3346
+ await this.page.getByRole("button", {
3347
+ name: "Add tiles"
3348
+ }).click();
3349
+ await this.page.getByText("Workflow tile (Global)").hover();
3350
+ await this.page.locator("xlr-tile-card").filter({
3351
+ hasText: "Workflow tile (Global) Add"
3352
+ }).getByRole("button").click();
3353
+ await this.page.getByRole("button", {
3354
+ name: "back icon Back to view mode"
3355
+ }).click();
3356
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3357
+ name: "Introducing Workflows"
3358
+ }).first()).toBeVisible();
3359
+ }
3360
+ async addApplicationTiles() {
3361
+ await this.page.getByRole("button", {
3362
+ name: "Add tiles"
3363
+ }).click();
3364
+ await this.page.getByText("Application tile (Global)").hover();
3365
+ await this.page.locator("xlr-tile-card").filter({
3366
+ hasText: "Application tile (Global) Add"
3367
+ }).getByRole("button").click();
3368
+ await this.page.getByRole("button", {
3369
+ name: "back icon Back to view mode"
3370
+ }).click();
3371
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3372
+ name: "Applications"
3373
+ }).first()).toBeVisible();
3374
+ }
3375
+ async addTemplateTiles() {
3376
+ await this.page.getByRole("button", {
3377
+ name: "Add tiles"
3378
+ }).click();
3379
+ await this.page.getByText("Template tile (Global)").hover();
3380
+ await this.page.locator("xlr-tile-card").filter({
3381
+ hasText: "Template tile (Global) Add"
3382
+ }).getByRole("button").click();
3383
+ await this.page.getByRole("button", {
3384
+ name: "back icon Back to view mode"
3385
+ }).click();
3386
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3387
+ name: "Templates"
3388
+ }).first()).toBeVisible();
3389
+ }
3390
+ async addAnnouncementTiles() {
3391
+ await this.page.getByRole("button", {
3392
+ name: "Add tiles"
3393
+ }).click();
3394
+ await this.page.getByText("Announcement tile (Global)").hover();
3395
+ await this.page.locator("xlr-tile-card").filter({
3396
+ hasText: "Announcement tile (Global) Add"
3397
+ }).getByRole("button").click();
3398
+ await this.page.getByRole("button", {
3399
+ name: "back icon Back to view mode"
3400
+ }).click();
3401
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3402
+ name: "Getting started"
3403
+ }).first()).toBeVisible();
3404
+ }
3405
+ async addAnaslyticsTiles() {
3406
+ await this.page.getByRole("button", {
3407
+ name: "Add tiles"
3408
+ }).click();
3409
+ await this.page.getByText("Analytics tile (Global)").hover();
3410
+ await this.page.locator("xlr-tile-card").filter({
3411
+ hasText: "Analytics tile (Global) Add"
3412
+ }).getByRole("button").click();
3413
+ await this.page.getByRole("button", {
3414
+ name: "back icon Back to view mode"
3415
+ }).click();
3416
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
3417
+ name: "View Analytics"
3418
+ }).nth(1)).toBeVisible();
3419
+ }
3420
+ /**
3421
+ * Remove the tiles from the home page
3422
+ * @param tileName name of the tile to be removed
3423
+ * tileName TileName should be "Releases", "Workflows", "Applications", "Templates", "Announcements", "Analytics"
3424
+ */ async removeTiles(tileName) {
3425
+ await this.configureButton.click();
3426
+ await this.page.locator('.xlr-tile-container[data-title="' + tileName + '"]').last().hover();
3427
+ await this.page.locator('[data-title="' + tileName + '"] .delete-icon').last().click();
3428
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3429
+ name: "Delete tile"
3430
+ })).toBeVisible();
3431
+ await this.page.getByRole("button", {
3432
+ name: "Delete"
3433
+ }).click();
3434
+ await this.viewModeButton.click();
3435
+ }
3436
+ async verifyWhatsNewButton() {
3437
+ await this.page.getByText(`What's new`).waitFor({
3438
+ state: "visible"
3439
+ });
3440
+ await this.page.getByText(`What's new`).click();
3441
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Introducing Analytics")).toBeVisible();
3442
+ await this.page.getByLabel("Close").click();
3443
+ }
3444
+ }
3445
+
3446
+
3447
+
3448
+
3449
+
3450
+ class $00fc48341ebf7de4$export$2fb4351c41ce6e7a extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3451
+ constructor(page){
3452
+ super(page);
3453
+ this.announcementIcon = this.page.getByLabel("Open Resource Center");
3454
+ this.settingsIcon = this.page.locator('i[aria-label="settings-admin-opaque icon"]');
3455
+ this.aboutMenu = this.page.getByText("About Digital.ai Release");
3456
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
3457
+ }
3458
+ async verifyVersionNumber(versionNumber) {
3459
+ const year = new Date().getFullYear();
3460
+ await this.settingsIcon.click();
3461
+ await this.aboutMenu.click();
3462
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Version " + versionNumber)).toBeVisible();
3463
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("img", {
3464
+ name: "Release"
3032
3465
  })).toBeVisible();
3466
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(`ⓒ ${year} Digital.ai Software,`)).toBeVisible();
3467
+ await this.util.clickCloseIcon();
3033
3468
  }
3034
- async submitTheVariable() {
3035
- const pagesubmit = await this.page.locator(".button.save");
3036
- await pagesubmit.hover();
3037
- await pagesubmit.click();
3469
+ async verifyProductAnnouncements() {
3470
+ await (0, $kKeXs$playwrighttest.expect)(this.announcementIcon).toBeVisible();
3471
+ await this.announcementIcon.click();
3472
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator("#pendo-guide-container").innerText()).toContain("Product updates");
3038
3473
  }
3039
- async deleteGlobalVariable(variableName) {
3040
- await this.page.locator("[id='variables-filter']").fill(variableName);
3041
- await this.page.getByText("Delete").click();
3042
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator("h4.ng-binding")).toContainText(variableName);
3043
- await this.page.getByRole("button", {
3044
- name: "Cancel"
3045
- }).click();
3046
- await this.verifyGlobalVariableCreation(variableName);
3047
- await this.page.getByText("Delete").click();
3048
- await this.page.getByRole("button", {
3049
- name: "Delete"
3474
+ async clickHelpIcon() {
3475
+ await this.page.getByTestId("right-side-nav").getByRole("button", {
3476
+ name: "Help"
3050
3477
  }).click();
3051
- await this.page.locator("alert.notice.ng-scope").isVisible();
3052
3478
  }
3053
- async editVariable(variableName, editedvariabletext) {
3054
- await this.page.locator("[id='variables-filter']").fill(variableName);
3055
- await this.page.getByText("Edit").click();
3056
- await this.addVariablelabel.clear();
3057
- await this.addVariablelabel.fill(editedvariabletext);
3058
- await this.page.getByRole("button", {
3059
- name: "Save"
3479
+ async verifyOnlineDocumentation() {
3480
+ const versionNumber = await this.getVersionNumber();
3481
+ await this.clickHelpIcon();
3482
+ const page2Promise = this.page.waitForEvent("popup");
3483
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Online documentation")).toBeVisible();
3484
+ await this.page.getByText("Online documentation").click();
3485
+ const page2 = await page2Promise;
3486
+ (0, $kKeXs$playwrighttest.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");
3487
+ await this.page.bringToFront();
3488
+ }
3489
+ async verifySupportRequest() {
3490
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("menuitem", {
3491
+ name: "Submit a support request"
3492
+ })).toBeVisible();
3493
+ const page2Promise = this.page.waitForEvent("popup");
3494
+ await this.page.getByRole("menuitem", {
3495
+ name: "Submit a support request"
3060
3496
  }).click();
3061
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable.ui-sortable-handle").getByText(editedvariabletext, {
3497
+ const page2 = await page2Promise;
3498
+ (0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://support.digital.ai/hc/en-us/");
3499
+ await this.page.bringToFront();
3500
+ }
3501
+ async verifySuggestAFeature() {
3502
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Suggest a feature")).toBeVisible();
3503
+ const page2Promise = this.page.waitForEvent("popup");
3504
+ await this.page.getByText("Suggest a feature").click();
3505
+ const page2 = await page2Promise;
3506
+ (0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://ideas.digital.ai/devops");
3507
+ await this.page.bringToFront();
3508
+ }
3509
+ async verifyDigitalAiWebsite() {
3510
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Digital.ai website")).toBeVisible();
3511
+ const page2Promise = this.page.waitForEvent("popup");
3512
+ await this.page.getByText("Digital.ai website").click();
3513
+ const page2 = await page2Promise;
3514
+ (0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://digital.ai/");
3515
+ await this.page.bringToFront();
3516
+ }
3517
+ async clickAvatarIcon(username) {
3518
+ await this.page.getByLabel(username, {
3062
3519
  exact: true
3520
+ }).click();
3521
+ }
3522
+ async verifyUser(userFullName) {
3523
+ await this.page.locator("li").getByLabel(userFullName).click();
3524
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3525
+ name: "Personal settings for admin"
3063
3526
  })).toBeVisible();
3064
3527
  }
3528
+ async clickAccessTokens() {
3529
+ await this.page.getByText("Access tokens").click();
3530
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Access tokens")).toBeVisible();
3531
+ }
3532
+ async getVersionNumber() {
3533
+ await this.settingsIcon.click();
3534
+ await this.aboutMenu.click();
3535
+ const versionNumber = await this.page.locator(".version-text").innerText();
3536
+ await this.util.clickCloseIcon();
3537
+ return versionNumber;
3538
+ }
3065
3539
  }
3066
3540
 
3067
3541
 
3068
3542
 
3069
- class $9ef669cf95557cb5$export$36d69433c4f81145 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3543
+
3544
+
3545
+ class $b4d98f757ef92467$export$7b434e00c788d0bf extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3070
3546
  constructor(page){
3071
3547
  super(page);
3548
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
3549
+ }
3550
+ async openPluginGallery() {
3551
+ await this.util.openSideNavMenu("Plugin gallery");
3552
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
3553
+ }
3554
+ async openInstalledPlugins() {
3555
+ await this.util.openSideNavMenu("Installed plugins");
3556
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Installed plugins")).toBeVisible();
3557
+ }
3558
+ async searchForPlugins(searchText) {
3559
+ await this.page.getByPlaceholder("Search for plugin").fill(searchText);
3560
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".PluginTile__title-and-version___1HsNr span").count()).toBeGreaterThan(0);
3561
+ }
3562
+ async refreshPluginList() {
3563
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("plugin-refresh-btn")).toBeVisible();
3564
+ await this.page.getByTestId("plugin-refresh-btn").click();
3565
+ }
3566
+ async clickInstallNow(pluginName) {
3567
+ await this.page.locator("div").filter({
3568
+ hasText: "Install now" + pluginName
3569
+ }).getByRole("button").click();
3570
+ }
3571
+ async expectRestartInfo() {
3572
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("info")).toContainText("Restart Digital.ai Release to finish installing the plugin.");
3573
+ }
3574
+ async expectNewPluginInstallationInfo(pluginName) {
3575
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("New plugin installedPlugin")).toBeVisible();
3576
+ await (0, $kKeXs$playwrighttest.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");
3577
+ }
3578
+ async clickUpload() {
3579
+ await this.page.getByTestId("dot-button").click();
3072
3580
  }
3073
3581
  }
3074
3582
 
@@ -3095,6 +3603,61 @@ class $be4dd73206d8e76b$export$3cac5fd37ae64b91 extends (0, $f8721861c660dd88$ex
3095
3603
 
3096
3604
 
3097
3605
 
3606
+ class $010122e1d9b28b80$export$3cf9c90f870f31bd extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3607
+ constructor(page){
3608
+ super(page);
3609
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
3610
+ }
3611
+ async openProfile() {
3612
+ await this.util.openSideNavMenu("Profile");
3613
+ }
3614
+ async openAccessToken() {
3615
+ await this.util.openSideNavMenu("Access tokens");
3616
+ }
3617
+ async editUserProfile(email) {
3618
+ await this.page.getByLabel("Email address").click();
3619
+ await this.page.getByLabel("Email address").fill(email);
3620
+ await this.page.getByTestId("dot-button").click();
3621
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
3622
+ }
3623
+ async generateNewAccessToken(tokenName, expiryOptions) {
3624
+ await this.page.getByRole("button", {
3625
+ name: "Generate token"
3626
+ }).click();
3627
+ await this.page.getByLabel("Token name").click();
3628
+ await this.page.getByLabel("Token name").fill(tokenName);
3629
+ await this.page.getByRole("textbox", {
3630
+ name: "Token expiration"
3631
+ }).getByLabel("Token expiration").selectOption(expiryOptions);
3632
+ await this.page.locator("label").filter({
3633
+ hasText: "Use all permissions"
3634
+ }).getByTestId("RadioButtonCheckedIcon").click();
3635
+ await this.page.getByRole("button", {
3636
+ name: "Generate",
3637
+ exact: true
3638
+ }).click();
3639
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("alert-button-tooltip").getByTestId("dot-button")).toBeVisible();
3640
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(tokenName)).toBeVisible();
3641
+ }
3642
+ async deleteAccessToken(tokenName) {
3643
+ await this.page.locator(".MuiTableRow-root").filter({
3644
+ hasText: tokenName
3645
+ }).getByTestId("button-icon-i").click();
3646
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3647
+ name: "Delete token"
3648
+ })).toBeVisible();
3649
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Delete token")).toContainText("Delete token");
3650
+ await this.page.getByRole("button", {
3651
+ name: "delete icon Delete token"
3652
+ }).click();
3653
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(tokenName)).not.toBeVisible();
3654
+ }
3655
+ }
3656
+
3657
+
3658
+
3659
+
3660
+
3098
3661
 
3099
3662
  class $bb5572a48b31014a$export$e2e2e1ffdce20c30 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3100
3663
  constructor(page){
@@ -3201,6 +3764,51 @@ class $3ceab7c613cabfd6$export$107317390f5aa598 extends (0, $f8721861c660dd88$ex
3201
3764
 
3202
3765
 
3203
3766
 
3767
+
3768
+
3769
+
3770
+ class $7bcc05352d6debcf$export$5628dfd1b9e94785 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3771
+ constructor(page){
3772
+ super(page);
3773
+ }
3774
+ async installReleaseRunner(headingName) {
3775
+ await this.page.locator(".workflow-card").filter({
3776
+ hasText: headingName
3777
+ }).getByTestId("dot-button").click();
3778
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3779
+ name: "Choose folder"
3780
+ })).toBeVisible();
3781
+ await this.page.locator(".xl__dropdown-indicator-container").click();
3782
+ await this.page.getByText("Samples & Tutorials").click();
3783
+ await this.page.getByRole("button", {
3784
+ name: "Run workflow"
3785
+ }).click();
3786
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).toBeVisible();
3787
+ await this.page.getByRole("heading", {
3788
+ name: "Prepare Digital.ai Release URL"
3789
+ }).waitFor();
3790
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3791
+ name: "Prepare Digital.ai Release URL"
3792
+ })).toBeVisible();
3793
+ await this.page.getByRole("heading", {
3794
+ name: "Digital.ai Release URL"
3795
+ }).nth(2).waitFor();
3796
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3797
+ name: "Digital.ai Release URL"
3798
+ }).nth(2)).toBeVisible();
3799
+ }
3800
+ async abortInstallation() {
3801
+ await this.page.getByRole("button", {
3802
+ name: "Abort"
3803
+ }).click();
3804
+ await this.page.getByRole("button", {
3805
+ name: "cancel icon Abort"
3806
+ }).click();
3807
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).not.toBeVisible();
3808
+ }
3809
+ }
3810
+
3811
+
3204
3812
  class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3205
3813
  constructor(page){
3206
3814
  super(page);
@@ -3213,6 +3821,19 @@ class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$ex
3213
3821
  this.managePluginMenu = this.page.getByRole("menuitem", {
3214
3822
  name: "plugins icon Manage plugins"
3215
3823
  });
3824
+ this.systemSettingsMenu = this.page.getByRole("menuitem", {
3825
+ name: "System settings"
3826
+ });
3827
+ this.runnerMenu = this.page.getByText("Runners");
3828
+ this.configureSystemMessageMenu = this.page.getByText("Configure system message");
3829
+ this.taskManagerMenu = this.page.getByText("Task manager");
3830
+ this.viewSystemInfoMenu = this.page.getByText("View system information");
3831
+ this.getDataSupportMenu = this.page.getByText("Get data for support");
3832
+ this.renewLicenseMenu = this.page.getByText("Renew license");
3833
+ this.aboutMenu = this.page.getByText("About Digital.ai Release");
3834
+ this.closeIcon = this.page.locator(".xl-icon.close-icon");
3835
+ this.installRunnerButton = this.page.getByTestId("create-btn");
3836
+ this.workflowCatalogPage = new (0, $7bcc05352d6debcf$export$5628dfd1b9e94785)(page);
3216
3837
  }
3217
3838
  async openUsersAndPermissions() {
3218
3839
  await this.settingsIcon.click();
@@ -3221,6 +3842,106 @@ class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$ex
3221
3842
  async openManagePlugin() {
3222
3843
  await this.settingsIcon.click();
3223
3844
  await this.managePluginMenu.click();
3845
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
3846
+ }
3847
+ async openSystemSettings() {
3848
+ await this.settingsIcon.click();
3849
+ await this.systemSettingsMenu.click();
3850
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("System settings")).toBeVisible();
3851
+ }
3852
+ async openRunner() {
3853
+ await this.settingsIcon.click();
3854
+ await this.runnerMenu.click();
3855
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
3856
+ name: "Runners"
3857
+ })).toBeVisible();
3858
+ }
3859
+ async openConfigureSystemMessage() {
3860
+ await this.settingsIcon.click();
3861
+ await this.configureSystemMessageMenu.click();
3862
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3863
+ name: "System message"
3864
+ })).toBeVisible();
3865
+ await this.closeIcon.click();
3866
+ }
3867
+ async configureSystemMessage(message) {
3868
+ await this.settingsIcon.click();
3869
+ await this.configureSystemMessageMenu.click();
3870
+ await this.page.getByLabel("Enable system message").check();
3871
+ await this.page.getByLabel("Type here...").locator("div").nth(2).click();
3872
+ await this.page.getByLabel("Type here...").fill(message);
3873
+ await this.page.getByRole("button", {
3874
+ name: "Save"
3875
+ }).click();
3876
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("system-message")).toContainText(message);
3877
+ }
3878
+ async disableSystemMessage() {
3879
+ await this.settingsIcon.click();
3880
+ await this.configureSystemMessageMenu.click();
3881
+ await this.page.getByLabel("Enable system message").uncheck();
3882
+ await this.page.getByRole("button", {
3883
+ name: "Save"
3884
+ }).click();
3885
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("alert")).not.toBeVisible();
3886
+ }
3887
+ async openTaskManager() {
3888
+ await this.settingsIcon.click();
3889
+ await this.taskManagerMenu.click();
3890
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
3891
+ name: "Task manager"
3892
+ })).toBeVisible();
3893
+ }
3894
+ async openViewSystemInformation() {
3895
+ const versionNumber = await this.getVersionNumber();
3896
+ await this.settingsIcon.click();
3897
+ await this.viewSystemInfoMenu.click();
3898
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3899
+ name: "Release system information"
3900
+ })).toBeVisible();
3901
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("rowgroup")).toContainText(versionNumber);
3902
+ }
3903
+ async openGetDataForSupport() {
3904
+ await this.settingsIcon.click();
3905
+ await this.getDataSupportMenu.click();
3906
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3907
+ name: "Get data for support"
3908
+ })).toBeVisible();
3909
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("support-accelerator-modal")).toContainText("See https://support.digital.ai for more information or to open a support request.");
3910
+ }
3911
+ async downloadSupportData() {
3912
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3913
+ this.page.on("download", ()=>{});
3914
+ const downloadPromise = this.page.waitForEvent("download");
3915
+ await this.page.getByRole("button", {
3916
+ name: "Download"
3917
+ }).click();
3918
+ await downloadPromise;
3919
+ }
3920
+ async openRenewLicense() {
3921
+ await this.settingsIcon.click();
3922
+ const page1Promise = this.page.waitForEvent("popup");
3923
+ await this.page.getByText("Renew license").click();
3924
+ const page1 = await page1Promise;
3925
+ (0, $kKeXs$playwrighttest.expect)(page1.url()).toContain("/productregistration");
3926
+ await (0, $kKeXs$playwrighttest.expect)(page1.getByRole("button", {
3927
+ name: "Install license"
3928
+ })).toBeVisible();
3929
+ await this.page.bringToFront();
3930
+ }
3931
+ async getVersionNumber() {
3932
+ await this.settingsIcon.click();
3933
+ await this.aboutMenu.click();
3934
+ const versionNumber = await this.page.locator(".version-text").innerText();
3935
+ await this.closeIcon.click();
3936
+ return versionNumber;
3937
+ }
3938
+ async openAbout() {
3939
+ await this.settingsIcon.click();
3940
+ await this.aboutMenu.click();
3941
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3942
+ name: "About"
3943
+ })).toBeVisible();
3944
+ await this.closeIcon.click();
3224
3945
  }
3225
3946
  }
3226
3947
 
@@ -3237,7 +3958,7 @@ class $a642d735048996f9$export$922081b54f2ab994 extends (0, $f8721861c660dd88$ex
3237
3958
 
3238
3959
  class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3239
3960
  async openReleaseCalendarPage() {
3240
- await this.page.goto("./#/calendar");
3961
+ await this.page.goto("./#/releases/calendar");
3241
3962
  //Define date format to verify different calendar views
3242
3963
  const today = new Date();
3243
3964
  let options = {
@@ -3255,7 +3976,7 @@ class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$ex
3255
3976
  };
3256
3977
  this.monthFormat = today.toLocaleDateString("en-US", options);
3257
3978
  this.monthFormat = this.monthFormat.replace(/(\w+) (\d+)/, "$1, $2");
3258
- await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Release calendar / Home - Digital.ai Release");
3979
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-viewport")).toBeVisible();
3259
3980
  return this;
3260
3981
  }
3261
3982
  async exportCalendar() {
@@ -4316,6 +5037,181 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
4316
5037
 
4317
5038
 
4318
5039
 
5040
+
5041
+
5042
+
5043
+
5044
+ class $2d500a377e2eb070$export$97f7a3219fa8d586 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5045
+ constructor(page){
5046
+ super(page);
5047
+ this.roleName = page.locator("Role name *");
5048
+ this.newRoleName = page.locator("Role name *");
5049
+ this.addPrincipal = page.locator("Add a principal...");
5050
+ this.saveButton = page.getByRole("button", {
5051
+ name: "Save"
5052
+ });
5053
+ this.editIcon = page.getByRole("row", {
5054
+ name: ""
5055
+ }).getByLabel("Edit", {
5056
+ exact: true
5057
+ });
5058
+ this.deleteButton = page.getByRole("button", {
5059
+ name: "Delete"
5060
+ });
5061
+ this.searchRoles = page.getByPlaceholder("Search roles...");
5062
+ }
5063
+ async setRoleName(roleName) {
5064
+ return await this.page.getByLabel("Role name *").fill(roleName, {
5065
+ timeout: 1000
5066
+ });
5067
+ }
5068
+ async editRoleName(newRoleName) {
5069
+ return await this.page.getByLabel("Role name *").fill(newRoleName, {
5070
+ timeout: 1000
5071
+ });
5072
+ }
5073
+ async setPrincipal(addPrincipal) {
5074
+ await this.page.getByPlaceholder("Add a principal...").fill(addPrincipal, {
5075
+ timeout: 1000
5076
+ });
5077
+ }
5078
+ async searchRoleByRoleName(searchRoles) {
5079
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
5080
+ timeout: 1000
5081
+ });
5082
+ }
5083
+ async save() {
5084
+ await this.saveButton.isEnabled();
5085
+ await (0, $kKeXs$playwrighttest.expect)(this.saveButton).not.toBeDisabled();
5086
+ await this.saveButton.focus();
5087
+ await this.saveButton.click();
5088
+ }
5089
+ async delete() {
5090
+ await this.deleteButton.click();
5091
+ }
5092
+ }
5093
+
5094
+
5095
+ class $84dbf24c796d0540$export$7a5b979a220f477c extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5096
+ constructor(page){
5097
+ super(page);
5098
+ this.page = page;
5099
+ this.newRoleButton = this.page.getByTestId("new-role-btn");
5100
+ this.modal = new (0, $2d500a377e2eb070$export$97f7a3219fa8d586)(page);
5101
+ }
5102
+ async createRole(roleName, addPrincipal) {
5103
+ await this.newRoleButton.click();
5104
+ await this.modal.setRoleName(roleName);
5105
+ await this.modal.setPrincipal(addPrincipal);
5106
+ await this.modal.save();
5107
+ await this.expectToViewCreatedRole(roleName);
5108
+ }
5109
+ async editRole(roleName, newRoleName) {
5110
+ await this.page.getByRole("row", {
5111
+ name: roleName
5112
+ }).getByLabel("Edit", {
5113
+ exact: true
5114
+ }).click();
5115
+ await this.modal.editRoleName(newRoleName);
5116
+ await this.modal.save();
5117
+ }
5118
+ async searchRoleByRoleName(searchRoles) {
5119
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
5120
+ timeout: 1000
5121
+ });
5122
+ }
5123
+ async searchRoleByAssignedUsername(searchRolesByUsername) {
5124
+ await this.page.getByPlaceholder("Search assigned usernames or external groups...").fill(searchRolesByUsername, {
5125
+ timeout: 1000
5126
+ });
5127
+ }
5128
+ async deleteRole(roleName) {
5129
+ await this.page.getByRole("row", {
5130
+ name: roleName
5131
+ }).getByLabel("Delete", {
5132
+ exact: true
5133
+ }).click();
5134
+ await this.modal.delete();
5135
+ }
5136
+ async expectToViewRolesPage() {
5137
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("text=Principals")).toBeVisible();
5138
+ }
5139
+ async expectToViewCreatedRole(roleName) {
5140
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5141
+ name: roleName
5142
+ })).toBeVisible();
5143
+ }
5144
+ async expectToViewEditedRole(roleName) {
5145
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5146
+ name: roleName
5147
+ })).toBeVisible();
5148
+ }
5149
+ async expectRoleToBeDeleted(roleName) {
5150
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5151
+ name: roleName
5152
+ })).toBeHidden();
5153
+ }
5154
+ async expectToViewSearchedRole(roleName) {
5155
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("roles-page")).toContainText(roleName);
5156
+ }
5157
+ async expectToViewSearchedRoleByUsername(userName) {
5158
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("roles-page")).toContainText(userName);
5159
+ }
5160
+ }
5161
+
5162
+
5163
+
5164
+
5165
+
5166
+
5167
+ class $dbc8f157e7b24b12$export$2edf430132ca35d0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5168
+ constructor(page){
5169
+ super(page);
5170
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
5171
+ }
5172
+ async openGeneralSettings() {
5173
+ await this.util.openSideNavMenu("General");
5174
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("General")).toBeVisible();
5175
+ }
5176
+ async openReleasesAndTriggers() {
5177
+ await this.util.openSideNavMenu("Releases and Triggers");
5178
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Releases and Triggers")).toBeVisible();
5179
+ }
5180
+ async openTasks() {
5181
+ await this.util.openSideNavMenu("Tasks");
5182
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Tasks")).toBeVisible();
5183
+ }
5184
+ async openReports() {
5185
+ await this.util.openSideNavMenu("Reports");
5186
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Reports")).toBeVisible();
5187
+ }
5188
+ async openAdvanced() {
5189
+ await this.util.openSideNavMenu("Advanced");
5190
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Advanced")).toBeVisible();
5191
+ }
5192
+ async openExperimental() {
5193
+ await this.util.openSideNavMenu("Experimental");
5194
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Experimental")).toBeVisible();
5195
+ }
5196
+ async openNotifications() {
5197
+ await this.util.openSideNavMenu("Notifications");
5198
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
5199
+ }
5200
+ async openRiskProfiles() {
5201
+ await this.util.openSideNavMenu("Risk profiles");
5202
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Risk profiles")).toBeVisible();
5203
+ }
5204
+ async openWorkflowCategories() {
5205
+ await this.util.openSideNavMenu("Workflow categories");
5206
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Workflow categories")).toBeVisible();
5207
+ }
5208
+ async openSMTPServer() {
5209
+ await this.util.openSideNavMenu("SMTP server");
5210
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("SMTP server")).toBeVisible();
5211
+ }
5212
+ }
5213
+
5214
+
4319
5215
  class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
4320
5216
  constructor(page){
4321
5217
  this.page = page;
@@ -4324,20 +5220,25 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
4324
5220
  this.folderPage = new (0, $9058d40a81bdb1f5$export$b453f08936c58edb)(page);
4325
5221
  this.globalvariable = new (0, $506d511737b3ea46$export$74ca1eaaa9a0054)(page);
4326
5222
  this.homePage = new (0, $9ef669cf95557cb5$export$36d69433c4f81145)(page);
5223
+ this.header = new (0, $00fc48341ebf7de4$export$2fb4351c41ce6e7a)(page);
5224
+ this.managePluginsPage = new (0, $b4d98f757ef92467$export$7b434e00c788d0bf)(page);
4327
5225
  this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
4328
5226
  this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
5227
+ this.systemSettingsPage = new (0, $dbc8f157e7b24b12$export$2edf430132ca35d0)(page);
4329
5228
  this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
4330
5229
  this.applicationPage = new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(page);
4331
5230
  this.taskDetailsPage = new (0, $a642d735048996f9$export$922081b54f2ab994)(page);
4332
5231
  this.taskListPage = new (0, $ed2d4739e27d43c1$export$60c3bfa6385e2a10)(page);
4333
5232
  this.templatePage = new (0, $959d38250779aa22$export$8c8e7207254accc2)(page);
4334
5233
  this.templateListPage = new (0, $8b6ce149dd48e48b$export$7e1d435fa474ee21)(page);
4335
- this.randomString = new (0, $ce55a4fc3c0aa96a$export$e40b5d3c74b04c89)();
5234
+ this.personalSettingsPage = new (0, $010122e1d9b28b80$export$3cf9c90f870f31bd)(page);
4336
5235
  this.releaseCalendarPage = new (0, $a8855257f8bb2b12$export$43682cddead1dd78)(page);
4337
5236
  this.releaseGroupPage = new (0, $a6a3c1345fc4767e$export$b6fbc3e67030138f)(page);
4338
5237
  this.releaseGroupTimelinePage = new (0, $3fad6a9449b6416f$export$1a0994e9c202d529)(page);
4339
5238
  this.releaseListPage = new (0, $87643f2d97b0644e$export$a678525e79c4ccc4)(page);
5239
+ this.rolesPage = new (0, $84dbf24c796d0540$export$7a5b979a220f477c)(page);
4340
5240
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
5241
+ this.workflowCatalogPage = new (0, $7bcc05352d6debcf$export$5628dfd1b9e94785)(page);
4341
5242
  }
4342
5243
  async openTemplate(id) {
4343
5244
  return this.openReleaseOrTemplate(id, false);
@@ -5368,17 +6269,41 @@ class $6998c6a53a9eb4fa$var$Fixtures {
5368
6269
  getParentId(id) {
5369
6270
  return id.substring(0, id.lastIndexOf("/"));
5370
6271
  }
6272
+ addSystemTeams(teams) {
6273
+ const systemTeams = [
6274
+ "Folder Owner",
6275
+ "Release Admin",
6276
+ "Template Owner"
6277
+ ];
6278
+ const teamsToUpdate = teams.map((team)=>team.teamName);
6279
+ systemTeams.forEach((teamName)=>{
6280
+ if (teamsToUpdate.indexOf(teamName) === -1) teams.push({
6281
+ type: "xlrelease.Team",
6282
+ teamName: teamName,
6283
+ members: [],
6284
+ permissions: []
6285
+ });
6286
+ });
6287
+ return teams;
6288
+ }
5371
6289
  async folder(folder) {
5372
6290
  const parentId = this.getParentId(folder.id);
5373
6291
  folder.type = "xlrelease.Folder";
5374
- //ToDo: Add system teams
5375
- const teams = folder.teams;
6292
+ let teams = folder.teams;
5376
6293
  delete folder.teams;
5377
6294
  //ToDo: Add Children
5378
6295
  /* eslint-disable @typescript-eslint/no-unused-vars */ const children = folder.children || [];
5379
6296
  delete folder.children;
5380
- if (teams) return this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
5381
- return this.doPost(`api/v1/folders/${parentId}`, folder);
6297
+ const response = await this.doPost(`api/v1/folders/${parentId}`, folder);
6298
+ // Add the folder ID to the list
6299
+ this.folderIds.push(folder.id);
6300
+ // If teams are provided, send a request to add teams to the folder
6301
+ if (teams) {
6302
+ teams = this.addSystemTeams(teams);
6303
+ const newresponse = await this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
6304
+ return newresponse;
6305
+ }
6306
+ return response;
5382
6307
  }
5383
6308
  createFolder(folderJson) {
5384
6309
  folderJson.type = "xlrelease.Folder";