@digital-ai/devops-page-object-release 0.0.38 → 0.0.40

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
@@ -161,6 +161,22 @@ class $5359280e98d97ff9$export$a678525e79c4ccc4 extends (0, $9626bc9256ce31f7$ex
161
161
  });
162
162
  await (0, $hOLA6$expect)(releaseStatus).toBeVisible();
163
163
  }
164
+ async expectReleaseFailing(releaseTitle) {
165
+ const releaseStatus = this.page.locator(".release").filter({
166
+ hasText: releaseTitle
167
+ }).locator(".release-status").filter({
168
+ hasText: "Failing"
169
+ });
170
+ await (0, $hOLA6$expect)(releaseStatus).toBeVisible();
171
+ }
172
+ async expectReleaseCompleted(releaseTitle) {
173
+ const releaseStatus = this.page.locator(".release").filter({
174
+ hasText: releaseTitle
175
+ }).locator(".release-status").filter({
176
+ hasText: "Completed"
177
+ });
178
+ await (0, $hOLA6$expect)(releaseStatus).toBeVisible();
179
+ }
164
180
  async filterReleaseByAllStatus() {
165
181
  await this.page.locator(".ci-status .remaining-tags").getByText("more").click();
166
182
  await this.page.locator(".ci-status .xl-react-link").getByText("Select all").click();
@@ -621,16 +637,25 @@ class $dfc4ce40cbd0eb71$var$VariableModal extends (0, $9626bc9256ce31f7$export$2
621
637
  }
622
638
  async createPossibleValuesVariable(variableName) {
623
639
  await this.page.locator(".variable-toggle button").click();
624
- await this.page.locator(".ui-autocomplete-input").fill(variableName);
625
- const check = await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
626
- exact: true
627
- }).isVisible();
628
- if (check) await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
629
- exact: true
630
- }).click();
631
- else await this.page.locator(".ui-menu-item-wrapper").filter({
632
- hasText: `${variableName}`
633
- }).click();
640
+ await (0, $hOLA6$expect)(async ()=>{
641
+ await this.page.locator(".ui-autocomplete-input").clear();
642
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
643
+ const check = await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
644
+ exact: true
645
+ }).isVisible({
646
+ timeout: 1000
647
+ });
648
+ if (check) await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
649
+ exact: true
650
+ }).click({
651
+ timeout: 1000
652
+ });
653
+ else await this.page.locator(".ui-menu-item-wrapper").filter({
654
+ hasText: `${variableName}`
655
+ }).click({
656
+ timeout: 1000
657
+ });
658
+ }).toPass();
634
659
  }
635
660
  async expectVariableValueToBe(value) {
636
661
  (0, $hOLA6$expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
@@ -1100,6 +1125,11 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1100
1125
  await (0, $hOLA6$expect)(this.page.locator(`[data-test-id="${propertyName}"]`).getByText(value)).toBeVisible();
1101
1126
  return this;
1102
1127
  }
1128
+ async expectDisabledInputField(propertyName) {
1129
+ const inputField = this.railLocator.locator(`.task-input-property input[id="${propertyName}"]`);
1130
+ if (await inputField.isVisible()) await (0, $hOLA6$expect)(inputField).toHaveAttribute("readonly", "");
1131
+ return this;
1132
+ }
1103
1133
  async expectRiskProfileValue(value) {
1104
1134
  await (0, $hOLA6$expect)(this.railLocator.locator("#riskProfileId")).toHaveValue(value);
1105
1135
  }
@@ -1758,9 +1788,16 @@ class $499d3d8c8706756b$export$e3515314c13bc477 extends (0, $9626bc9256ce31f7$ex
1758
1788
  }).locator(".task-date").waitFor({
1759
1789
  timeout: 10000
1760
1790
  });
1761
- await this.page.locator(".flex-section.column").filter({
1762
- hasText: "Start date"
1763
- }).locator(".task-date").click();
1791
+ // reclick if the date picker is not visible
1792
+ await (0, $hOLA6$expect)(async ()=>{
1793
+ await this.page.locator(".flex-section.column").filter({
1794
+ hasText: "Start date"
1795
+ }).locator(".task-date").click();
1796
+ // month + year, we check for 20xx year
1797
+ await (0, $hOLA6$expect)(this.page.locator(".MuiPickersCalendarHeader-label")).toContainText("20", {
1798
+ timeout: 100
1799
+ });
1800
+ }).toPass();
1764
1801
  await this.setDate(date, monthYear);
1765
1802
  }
1766
1803
  async setEndDate(date, monthYear) {
@@ -1769,9 +1806,16 @@ class $499d3d8c8706756b$export$e3515314c13bc477 extends (0, $9626bc9256ce31f7$ex
1769
1806
  }).locator(".task-date").waitFor({
1770
1807
  timeout: 10000
1771
1808
  });
1772
- await this.page.locator(".flex-section.column").filter({
1773
- hasText: "End date"
1774
- }).locator(".task-date").click();
1809
+ // reclick if the date picker is not visible
1810
+ await (0, $hOLA6$expect)(async ()=>{
1811
+ await this.page.locator(".flex-section.column").filter({
1812
+ hasText: "End date"
1813
+ }).locator(".task-date").click();
1814
+ // month + year, we check for 20xx year
1815
+ await (0, $hOLA6$expect)(this.page.locator(".MuiPickersCalendarHeader-label")).toContainText("20", {
1816
+ timeout: 100
1817
+ });
1818
+ }).toPass();
1775
1819
  await this.setDate(date, monthYear);
1776
1820
  }
1777
1821
  async setDate(date, monthYear) {
@@ -1824,6 +1868,10 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
1824
1868
  });
1825
1869
  this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
1826
1870
  }
1871
+ async waitForTaskDrawer() {
1872
+ const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
1873
+ await handle?.waitForElementState("stable");
1874
+ }
1827
1875
  async openOverviewRail() {
1828
1876
  await this.openRail("Overview");
1829
1877
  }
@@ -2157,6 +2205,7 @@ class $a546aadb4e6fa16a$export$5a82be0a2a261cc6 extends (0, $9626bc9256ce31f7$ex
2157
2205
  }
2158
2206
  async openTaskDrawer(title) {
2159
2207
  await this.page.getByTitle(title).dblclick();
2208
+ await this.taskDrawer.waitForTaskDrawer();
2160
2209
  return this.taskDrawer;
2161
2210
  }
2162
2211
  async openPhaseDetails(phaseName) {
@@ -2503,6 +2552,8 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2503
2552
  constructor(page){
2504
2553
  super(page);
2505
2554
  this.commentBox = this.page.locator(`.input-block-level`);
2555
+ this.contextMenuButton = this.page.locator("#context-menu-container li");
2556
+ this.completeButton = this.page.getByTestId("release-grid-complete-btn");
2506
2557
  this.dateUtil = new (0, $71075ce65fcede1d$export$9b575f14aa5e09a1)(page);
2507
2558
  this.refreshButton = this.page.getByTestId("refresh-btn");
2508
2559
  this.taskDrawer = new (0, $8e39246218b802fc$export$e946776eae644790)(page);
@@ -2514,8 +2565,12 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2514
2565
  }
2515
2566
  // eslint-disable-next-line max-params
2516
2567
  async callMenuOptionsForTask(taskTitle, option, taskGroup, taskType) {
2517
- await this.openContextMenuForTask(taskTitle);
2518
- await this.page.locator(".dropdown-menu li").getByText(option).click();
2568
+ await (0, $hOLA6$expect)(async ()=>{
2569
+ await this.openContextMenuForTask(taskTitle);
2570
+ await this.page.locator(".dropdown-menu li").getByText(option).click({
2571
+ timeout: 1000
2572
+ });
2573
+ }).toPass();
2519
2574
  if (await this.commentBox.isVisible()) await this.commentBox.fill(" Automation Test Comment");
2520
2575
  else if (await this.page.getByRole("heading", {
2521
2576
  name: "Change task type"
@@ -2549,9 +2604,9 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2549
2604
  }
2550
2605
  async expectTaskRowCountToBe(title, expectedCount) {
2551
2606
  await this.refreshButton.click();
2552
- (0, $hOLA6$expect)(await this.page.locator(".name-cell-title").filter({
2607
+ await (0, $hOLA6$expect)(this.page.locator(".name-cell-title").filter({
2553
2608
  hasText: title
2554
- }).count()).toBe(expectedCount);
2609
+ })).toHaveCount(expectedCount);
2555
2610
  }
2556
2611
  async setHeaderFilter(columnTitle, valueToFilter) {
2557
2612
  const filter = this.page.locator(`.ui-grid-header-cell`).filter({
@@ -2561,8 +2616,7 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2561
2616
  await filter.fill(valueToFilter);
2562
2617
  }
2563
2618
  async expectRowCountToBe(cellCount) {
2564
- const cont = await this.page.locator(".ui-grid-canvas .name-cell").count();
2565
- (0, $hOLA6$expect)(cont).toBe(cellCount);
2619
+ await (0, $hOLA6$expect)(this.page.locator(".ui-grid-canvas .name-cell")).toHaveCount(cellCount);
2566
2620
  }
2567
2621
  async filterStartDate(date, monthYear) {
2568
2622
  await this.page.locator(`.ui-grid-header-cell`).filter({
@@ -2580,6 +2634,7 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2580
2634
  await this.page.locator(".name-cell-title").filter({
2581
2635
  hasText: taskTitle
2582
2636
  }).click();
2637
+ await this.taskDrawer.waitForTaskDrawer();
2583
2638
  return this.taskDrawer;
2584
2639
  }
2585
2640
  async collapseNthRowByIndex(Indexnumber) {
@@ -2590,25 +2645,31 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2590
2645
  }
2591
2646
  async expectTaskToHaveStatus(taskTitle, status) {
2592
2647
  await this.refreshButton.click();
2593
- (0, $hOLA6$expect)(await this.page.locator(".ui-grid-row").filter({
2648
+ await (0, $hOLA6$expect)(this.page.locator(".ui-grid-row").filter({
2594
2649
  hasText: taskTitle
2595
- }).locator(".label ").textContent()).toContain(status);
2650
+ }).locator(".label")).toContainText(status);
2596
2651
  }
2597
2652
  async expectOverdueOnEndDate(taskTitle) {
2598
- (0, $hOLA6$expect)(await this.page.locator(`.ui-grid-row`).filter({
2653
+ await (0, $hOLA6$expect)(this.page.locator(`.ui-grid-row`).filter({
2599
2654
  hasText: taskTitle
2600
- }).locator(`i.xl-icon.delay-icon.overdue-icon`).isVisible()).toBe(true);
2655
+ }).locator(`i.xl-icon.delay-icon.overdue-icon`)).toBeVisible();
2601
2656
  }
2602
2657
  async selectTask(taskTitle) {
2603
- await this.page.locator(`.ui-grid-cell-contents`).filter({
2658
+ const checkboxLocator = this.page.locator(`.ui-grid-cell-contents`).filter({
2604
2659
  hasText: taskTitle
2605
- }).locator(`.item-selector`).click({
2606
- force: true
2607
- });
2660
+ }).locator(`input.item-selector`);
2661
+ await (0, $hOLA6$expect)(async ()=>{
2662
+ await checkboxLocator.click({
2663
+ force: true
2664
+ });
2665
+ await (0, $hOLA6$expect)(checkboxLocator).toBeChecked({
2666
+ timeout: 1000
2667
+ });
2668
+ }).toPass();
2608
2669
  }
2609
2670
  async expectSelectedTasksCounter(text) {
2610
2671
  await (0, $hOLA6$expect)(this.page.getByTestId("release-grid-selected-tasks")).toBeVisible();
2611
- (0, $hOLA6$expect)(await this.page.getByTestId("release-grid-selected-tasks").textContent()).toContain(text);
2672
+ await (0, $hOLA6$expect)(this.page.getByTestId("release-grid-selected-tasks")).toContainText(text);
2612
2673
  }
2613
2674
  async clearSelection() {
2614
2675
  await this.page.getByTestId("release-grid-unselect-btn").click();
@@ -2643,9 +2704,9 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2643
2704
  return this;
2644
2705
  }
2645
2706
  async completeSelectedTasks(comment) {
2646
- await this.page.getByTestId("release-grid-complete-btn").click();
2707
+ await this.completeButton.click();
2647
2708
  await this.page.getByPlaceholder("Give feedback or place a").fill(comment);
2648
- await this.page.getByRole("button", {
2709
+ await this.page.locator(".modal-footer").getByRole("button", {
2649
2710
  name: "Complete"
2650
2711
  }).click();
2651
2712
  return this;
@@ -2655,11 +2716,13 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2655
2716
  await this.page.getByRole("menuitem", {
2656
2717
  name: menuItem
2657
2718
  }).click();
2658
- if (await this.commentBox.isVisible() == true) await this.commentBox.fill(" Automation Test Comment");
2659
- if (await this.page.getByRole("button", {
2660
- name: menuItem,
2661
- exact: true
2662
- }).isVisible() == true) await this.page.getByRole("button", {
2719
+ if ([
2720
+ "Skip",
2721
+ "Reopen",
2722
+ "Retry",
2723
+ "Fail"
2724
+ ].includes(menuItem)) await this.commentBox.fill("Automation Test Comment");
2725
+ await this.page.getByRole("button", {
2663
2726
  name: menuItem,
2664
2727
  exact: true
2665
2728
  }).click();
@@ -2698,6 +2761,47 @@ class $19b7e7e46cfe3be0$export$649fde34d823ece7 extends (0, $9626bc9256ce31f7$ex
2698
2761
  await this.page.keyboard.up("Shift");
2699
2762
  return this;
2700
2763
  }
2764
+ async isContextualMenuItemEnabled(menuName, taskTitle) {
2765
+ await this.openContextMenuForTask(taskTitle);
2766
+ await (0, $hOLA6$expect)(this.contextMenuButton.filter({
2767
+ hasText: menuName
2768
+ })).not.toHaveClass(/disabled/);
2769
+ await (0, $hOLA6$expect)(this.contextMenuButton.filter({
2770
+ hasText: menuName
2771
+ }).locator("a")).not.toBeDisabled();
2772
+ await this.closeContextMenu();
2773
+ }
2774
+ async isContextualMenuItemDisabled(menuName, taskTitle) {
2775
+ await this.openContextMenuForTask(taskTitle);
2776
+ const menuItem = this.contextMenuButton.filter({
2777
+ hasText: menuName
2778
+ });
2779
+ await (0, $hOLA6$expect)(menuItem).toHaveClass(/disabled/);
2780
+ const anchorTag = menuItem.locator("a");
2781
+ const disabledAttribute = await anchorTag.getAttribute("disabled");
2782
+ (0, $hOLA6$expect)(disabledAttribute).not.toBeNull();
2783
+ await this.closeContextMenu();
2784
+ }
2785
+ async closeContextMenu() {
2786
+ await this.page.locator("#release-header").click();
2787
+ }
2788
+ async expectDisabledActions(actionName) {
2789
+ await (0, $hOLA6$expect)(this.page.getByTestId(`release-grid-${actionName}-btn`)).toBeDisabled();
2790
+ return this;
2791
+ }
2792
+ async expectDisabledActionsOnMoreActionsMenu(menuItem) {
2793
+ await this.page.getByTestId("release-grid-dropdown-btn").click();
2794
+ if (menuItem instanceof Array) for (const val of menuItem)await (0, $hOLA6$expect)(this.page.getByRole("button", {
2795
+ name: val,
2796
+ exact: true
2797
+ })).toBeDisabled();
2798
+ else await (0, $hOLA6$expect)(this.page.getByRole("button", {
2799
+ name: menuItem,
2800
+ exact: true
2801
+ })).toBeDisabled();
2802
+ await this.closeContextMenu();
2803
+ return this;
2804
+ }
2701
2805
  }
2702
2806
 
2703
2807
 
@@ -2975,18 +3079,21 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
2975
3079
  await this.page.locator(".task-header").getByText(taskName, {
2976
3080
  exact: true
2977
3081
  }).click();
3082
+ await this.taskDrawer.waitForTaskDrawer();
2978
3083
  return this.taskDrawer;
2979
3084
  }
2980
3085
  async openTaskDrawerFromTableView(taskName) {
2981
3086
  await this.page.locator(".name-cell-title").getByText(taskName, {
2982
3087
  exact: true
2983
3088
  }).click();
3089
+ await this.taskDrawer.waitForTaskDrawer();
2984
3090
  return this.taskDrawer;
2985
3091
  }
2986
3092
  async openTaskDrawerFromGrantt(taskName) {
2987
3093
  await this.page.locator(".gantt_tree_content").getByText(taskName, {
2988
3094
  exact: true
2989
3095
  }).dblclick();
3096
+ await this.taskDrawer.waitForTaskDrawer();
2990
3097
  return this.taskDrawer;
2991
3098
  }
2992
3099
  async openVariables() {
@@ -3142,12 +3249,12 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3142
3249
  await downloadPromise;
3143
3250
  }
3144
3251
  async expectTaskToBePresent(taskName) {
3145
- await (0, $hOLA6$expect)(this.page.locator(".task").filter({
3252
+ await (0, $hOLA6$expect)(this.page.locator(".task .task-title").filter({
3146
3253
  hasText: taskName
3147
3254
  })).toBeVisible();
3148
3255
  }
3149
3256
  async expectTaskNotToBePresent(taskName) {
3150
- await (0, $hOLA6$expect)(this.page.locator(".task").filter({
3257
+ await (0, $hOLA6$expect)(this.page.locator(".task .task-title").filter({
3151
3258
  hasText: taskName
3152
3259
  })).not.toBeVisible();
3153
3260
  }
@@ -3185,6 +3292,12 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3185
3292
  async expectAddTaskNotVisible() {
3186
3293
  await (0, $hOLA6$expect)(this.page.locator(".add-task.link")).not.toBeVisible();
3187
3294
  }
3295
+ async expectTaskCount(count) {
3296
+ (0, $hOLA6$expect)(await this.page.locator(".task-container").count()).toBe(count);
3297
+ }
3298
+ async expectCurrentTaskCount(count) {
3299
+ (0, $hOLA6$expect)(await this.page.locator(".task.active").count()).toBe(count);
3300
+ }
3188
3301
  }
3189
3302
  class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3190
3303
  constructor(page, phaseName){
@@ -3202,8 +3315,8 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3202
3315
  await this.phaseLocator.locator(".phase-header input").fill(title);
3203
3316
  await this.phaseLocator.locator(".phase-header input").blur();
3204
3317
  }
3205
- async isMenuItemEnabled(menuName, taskTitle) {
3206
- await this.openContextMenuForTask(taskTitle);
3318
+ async isMenuItemEnabled(menuName, taskTitle, group = false) {
3319
+ await this.openContextMenuForTask(taskTitle, group);
3207
3320
  await (0, $hOLA6$expect)(this.contextMenuButton.filter({
3208
3321
  hasText: menuName
3209
3322
  })).not.toHaveClass(/disabled/);
@@ -3212,8 +3325,8 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3212
3325
  }).locator("a")).not.toBeDisabled();
3213
3326
  await this.closeContextMenu();
3214
3327
  }
3215
- async isMenuItemDisabled(menuName, taskTitle) {
3216
- await this.openContextMenuForTask(taskTitle);
3328
+ async isMenuItemDisabled(menuName, taskTitle, group = false) {
3329
+ await this.openContextMenuForTask(taskTitle, group);
3217
3330
  const menuItem = this.contextMenuButton.filter({
3218
3331
  hasText: menuName
3219
3332
  });
@@ -3266,8 +3379,11 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3266
3379
  async expectToHaveTitle(phaseTitle) {
3267
3380
  await (0, $hOLA6$expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
3268
3381
  }
3269
- async openContextMenuForTask(taskTitle) {
3270
- await this.phaseLocator.locator(".task").filter({
3382
+ async openContextMenuForTask(taskTitle, group = false) {
3383
+ if (!group) await this.phaseLocator.locator(".task").filter({
3384
+ hasText: taskTitle
3385
+ }).locator(".context-menu-button").click();
3386
+ else await this.phaseLocator.locator(".task-group .task").filter({
3271
3387
  hasText: taskTitle
3272
3388
  }).locator(".context-menu-button").click();
3273
3389
  }
@@ -3299,6 +3415,16 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3299
3415
  }).click();
3300
3416
  return this;
3301
3417
  }
3418
+ async unlockFromContextMenu(taskTitle, group = false) {
3419
+ await this.openContextMenuForTask(taskTitle, group);
3420
+ await this.page.locator(".dropdown-menu li").getByText("Unlock").click();
3421
+ await this.expectLockCheckMark(taskTitle, false);
3422
+ }
3423
+ async lockFromContextMenu(taskTitle, group = false) {
3424
+ await this.openContextMenuForTask(taskTitle, group);
3425
+ await this.page.locator(".dropdown-menu li").getByText("Lock").click();
3426
+ await this.expectLockCheckMark(taskTitle, true);
3427
+ }
3302
3428
  async expectChangeTypeContextMenuDisabled(taskTitle, taskGroup, taskType) {
3303
3429
  await this.openContextMenuForTask(taskTitle);
3304
3430
  await this.page.locator(".dropdown-menu li").getByText("Change type").click();
@@ -3316,6 +3442,15 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3316
3442
  await (0, $hOLA6$expect)(this.page.locator(".task-type-gatetask .marker-check-icon")).toBeVisible();
3317
3443
  return this;
3318
3444
  }
3445
+ async expectLockCheckMark(taskTitle, isVisible = true) {
3446
+ if (isVisible) await (0, $hOLA6$expect)(this.page.locator(".task-header").filter({
3447
+ hasText: taskTitle
3448
+ }).locator(".lock-icon")).toBeVisible();
3449
+ else await (0, $hOLA6$expect)(this.page.locator(".task-header").filter({
3450
+ hasText: taskTitle
3451
+ }).locator(".lock-icon")).not.toBeVisible();
3452
+ return this;
3453
+ }
3319
3454
  async expectFailureHandlerCheckMar(taskTitle, isVisible = true) {
3320
3455
  if (isVisible) await (0, $hOLA6$expect)(this.page.locator(".task").filter({
3321
3456
  hasText: taskTitle
@@ -3428,10 +3563,10 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3428
3563
  await this.page.getByText("View all completed phases").click();
3429
3564
  }
3430
3565
  async expectTaskToBePresent(taskName, visible = true) {
3431
- if (visible) await (0, $hOLA6$expect)(this.phaseLocator.locator(".task").filter({
3566
+ if (visible) await (0, $hOLA6$expect)(this.phaseLocator.locator(".task .task-title").filter({
3432
3567
  hasText: taskName
3433
3568
  })).toBeVisible();
3434
- else await (0, $hOLA6$expect)(this.phaseLocator.locator(".task").filter({
3569
+ else await (0, $hOLA6$expect)(this.phaseLocator.locator(".task .task-title").filter({
3435
3570
  hasText: taskName
3436
3571
  })).not.toBeVisible();
3437
3572
  }
@@ -3505,6 +3640,21 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3505
3640
  hasText: "Your request has been rejected, your permissions may have been revoked."
3506
3641
  })).toBeVisible();
3507
3642
  }
3643
+ async expectCurrentTaskCount(count) {
3644
+ (0, $hOLA6$expect)(await this.phaseLocator.locator(".task.active").count()).toBe(count);
3645
+ }
3646
+ async expectCompletedTaskCount(count) {
3647
+ (0, $hOLA6$expect)(await this.phaseLocator.locator(".task.completed").count()).toBe(count);
3648
+ }
3649
+ async expectFailedTaskCount(count) {
3650
+ (0, $hOLA6$expect)(await this.phaseLocator.locator(".task.failed").count()).toBe(count);
3651
+ }
3652
+ async expectFailingTaskCount(count) {
3653
+ (0, $hOLA6$expect)(await this.phaseLocator.locator(".task.failing").count()).toBe(count);
3654
+ }
3655
+ async expectSkippedTaskCount(count) {
3656
+ (0, $hOLA6$expect)(await this.phaseLocator.locator(".task.skipped").count()).toBe(count);
3657
+ }
3508
3658
  }
3509
3659
  class $43cbcdfccb6c2a76$var$RestartPhaseModel extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
3510
3660
  constructor(page){
@@ -5160,18 +5310,21 @@ class $3a340a3f4fd8f04d$export$43682cddead1dd78 extends (0, $9626bc9256ce31f7$ex
5160
5310
  await this.page.getByRole("button", {
5161
5311
  name: "Today"
5162
5312
  }).click();
5163
- await this.page.locator(".tl-event-title").getByText(release_title).scrollIntoViewIfNeeded();
5164
- await this.page.locator(".tl-event-title").getByText(release_title).click();
5165
- const modalWindow = await this.page.locator(".release-modal-container").isVisible();
5166
- if (!modalWindow) {
5167
- await this.page.locator(".tl-event-title").getByText(release_title).scrollIntoViewIfNeeded();
5168
- await this.page.locator(".tl-event-title").getByText(release_title).click();
5169
- }
5313
+ await (0, $hOLA6$expect)(async ()=>{
5314
+ await this.page.locator(".tl-event-title").getByText(release_title).scrollIntoViewIfNeeded({
5315
+ timeout: 1000
5316
+ });
5317
+ await this.page.locator(".tl-event-title").getByText(release_title).click({
5318
+ timeout: 1000
5319
+ });
5320
+ await (0, $hOLA6$expect)(this.page.locator(".release-modal-container .xl-icon.release-icon")).toBeVisible({
5321
+ timeout: 1000
5322
+ });
5323
+ }).toPass();
5170
5324
  await this.page.locator(".release-modal-container").locator(".xl-icon.release-icon").click();
5171
5325
  const releaseurl = `/#/releases/${release_id}`;
5172
- const currentURL = await this.page.url();
5173
5326
  // Check if the release name present in redirected URL
5174
- (0, $hOLA6$expect)(currentURL).toContain(releaseurl);
5327
+ (0, $hOLA6$expect)(this.page.url()).toContain(releaseurl);
5175
5328
  }
5176
5329
  async viewDependency(source_release, dest_release) {
5177
5330
  const source_text = source_release + "dependencies";
@@ -5232,12 +5385,12 @@ class $cc2d15e53de5cef7$export$b6fbc3e67030138f extends (0, $9626bc9256ce31f7$ex
5232
5385
  await (0, $hOLA6$expect)(this.page.locator(".release-status")).toContainText(status);
5233
5386
  }
5234
5387
  async expectReleaseGroupDisplayed(title) {
5235
- await (0, $hOLA6$expect)(this.page.getByText(title, {
5388
+ await (0, $hOLA6$expect)(this.page.locator(".row").getByText(title, {
5236
5389
  exact: true
5237
5390
  })).toBeVisible();
5238
5391
  }
5239
5392
  async expectReleaseGroupNotDisplayed(title) {
5240
- await (0, $hOLA6$expect)(this.page.getByText(title, {
5393
+ await (0, $hOLA6$expect)(this.page.locator(".row").getByText(title, {
5241
5394
  exact: true
5242
5395
  })).not.toBeVisible();
5243
5396
  }
@@ -5738,6 +5891,7 @@ class $c37c93912f458e81$export$60c3bfa6385e2a10 extends (0, $9626bc9256ce31f7$ex
5738
5891
  await this.page.locator(`.row.task-inner`, {
5739
5892
  hasText: taskName
5740
5893
  }).getByText(taskName).click();
5894
+ await this.taskDrawer.waitForTaskDrawer();
5741
5895
  }
5742
5896
  async filterTaskByTitle(taskname) {
5743
5897
  await this.page.locator(".searchFilter").click();
@@ -5928,6 +6082,7 @@ class $c37c93912f458e81$var$GridView extends (0, $9626bc9256ce31f7$export$2b65d1
5928
6082
  await this.page.locator(`[data-test-id="${taskId}"] .title`).filter({
5929
6083
  hasText: taskTitle
5930
6084
  }).click();
6085
+ await this.taskDrawer.waitForTaskDrawer();
5931
6086
  return this.taskDrawer;
5932
6087
  }
5933
6088
  async openContextualMenu(taskId) {
@@ -6174,18 +6329,21 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
6174
6329
  await this.page.getByText(taskName, {
6175
6330
  exact: true
6176
6331
  }).click();
6332
+ await this.taskDrawer.waitForTaskDrawer();
6177
6333
  return this.taskDrawer;
6178
6334
  }
6179
6335
  async openTaskDrawerFromTableView(taskName) {
6180
6336
  await this.page.locator(".name-cell-title").getByText(taskName, {
6181
6337
  exact: true
6182
6338
  }).click();
6339
+ await this.taskDrawer.waitForTaskDrawer();
6183
6340
  return this.taskDrawer;
6184
6341
  }
6185
6342
  async openTaskDrawerFromGrantt(taskName) {
6186
6343
  await this.page.locator(".gantt_tree_content").getByText(taskName, {
6187
6344
  exact: true
6188
6345
  }).dblclick();
6346
+ await this.taskDrawer.waitForTaskDrawer();
6189
6347
  return this.taskDrawer;
6190
6348
  }
6191
6349
  async openProperties() {
@@ -7700,6 +7858,9 @@ class $80c3ae34677b4324$var$Fixtures {
7700
7858
  deleteFolder(folderId) {
7701
7859
  return this.doDelete(`api/v1/folders/${folderId}`);
7702
7860
  }
7861
+ deleteGlobalVariables() {
7862
+ return this.doDelete("fixtures/globalVariables");
7863
+ }
7703
7864
  activityLogs(id, logs) {
7704
7865
  return this.doPost(`fixtures/activityLogs/${id}`, logs);
7705
7866
  }
@@ -7751,6 +7912,8 @@ class $80c3ae34677b4324$var$Fixtures {
7751
7912
  for (const releaseId of this.releaseIds.reverse())await this.deleteRelease(releaseId);
7752
7913
  for (const confId of this.configurationIds)await this.deleteConfiguration(confId);
7753
7914
  for (const folderId of this.folderIds.reverse())await this.deleteFolder(folderId);
7915
+ await this.deleteGlobalVariables();
7916
+ this.globalVariableIds = [];
7754
7917
  this.folderIds = [];
7755
7918
  this.releaseIds = [];
7756
7919
  this.triggerIds = [];