@digital-ai/devops-page-object-release 0.0.39 → 0.0.41

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @digital-ai/devops-page-object-release
2
2
 
3
+ ## 0.0.41
4
+
5
+ ### Patch Changes
6
+
7
+ - e080216: Replace isVisible with expectation
8
+
9
+ ## 0.0.40
10
+
11
+ ### Patch Changes
12
+
13
+ - 4067557: S-118970: Migrated task-lock-scenario in playwright
14
+ - 5d8b574: Reduce flaky v2
15
+ - b3befac: S-119232: Migrated parallel-task-scenario in playwright
16
+
3
17
  ## 0.0.39
4
18
 
5
19
  ### Patch Changes
package/dist/main.js CHANGED
@@ -1097,6 +1097,22 @@ class $87643f2d97b0644e$export$a678525e79c4ccc4 extends (0, $f8721861c660dd88$ex
1097
1097
  });
1098
1098
  await (0, $kKeXs$playwrighttest.expect)(releaseStatus).toBeVisible();
1099
1099
  }
1100
+ async expectReleaseFailing(releaseTitle) {
1101
+ const releaseStatus = this.page.locator(".release").filter({
1102
+ hasText: releaseTitle
1103
+ }).locator(".release-status").filter({
1104
+ hasText: "Failing"
1105
+ });
1106
+ await (0, $kKeXs$playwrighttest.expect)(releaseStatus).toBeVisible();
1107
+ }
1108
+ async expectReleaseCompleted(releaseTitle) {
1109
+ const releaseStatus = this.page.locator(".release").filter({
1110
+ hasText: releaseTitle
1111
+ }).locator(".release-status").filter({
1112
+ hasText: "Completed"
1113
+ });
1114
+ await (0, $kKeXs$playwrighttest.expect)(releaseStatus).toBeVisible();
1115
+ }
1100
1116
  async filterReleaseByAllStatus() {
1101
1117
  await this.page.locator(".ci-status .remaining-tags").getByText("more").click();
1102
1118
  await this.page.locator(".ci-status .xl-react-link").getByText("Select all").click();
@@ -1557,16 +1573,25 @@ class $59543fc69900e8db$var$VariableModal extends (0, $f8721861c660dd88$export$2
1557
1573
  }
1558
1574
  async createPossibleValuesVariable(variableName) {
1559
1575
  await this.page.locator(".variable-toggle button").click();
1560
- await this.page.locator(".ui-autocomplete-input").fill(variableName);
1561
- const check = await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
1562
- exact: true
1563
- }).isVisible();
1564
- if (check) await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
1565
- exact: true
1566
- }).click();
1567
- else await this.page.locator(".ui-menu-item-wrapper").filter({
1568
- hasText: `${variableName}`
1569
- }).click();
1576
+ await (0, $kKeXs$playwrighttest.expect)(async ()=>{
1577
+ await this.page.locator(".ui-autocomplete-input").clear();
1578
+ await this.page.locator(".ui-autocomplete-input").fill(variableName);
1579
+ const check = await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
1580
+ exact: true
1581
+ }).isVisible({
1582
+ timeout: 1000
1583
+ });
1584
+ if (check) await this.page.locator(".ui-menu-item-wrapper").getByText("${" + variableName + "}", {
1585
+ exact: true
1586
+ }).click({
1587
+ timeout: 1000
1588
+ });
1589
+ else await this.page.locator(".ui-menu-item-wrapper").filter({
1590
+ hasText: `${variableName}`
1591
+ }).click({
1592
+ timeout: 1000
1593
+ });
1594
+ }).toPass();
1570
1595
  }
1571
1596
  async expectVariableValueToBe(value) {
1572
1597
  (0, $kKeXs$playwrighttest.expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
@@ -1711,7 +1736,6 @@ class $6c924a95a765a086$export$15d3f9b095bb5188 extends (0, $f8721861c660dd88$ex
1711
1736
  class $f9016705c1a1eb20$export$aa59788fdecae2f2 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
1712
1737
  async expectWithAttachment(filename) {
1713
1738
  const test = this.page.locator(".task-attachments-grid .file-item-text");
1714
- await test.isVisible();
1715
1739
  await (0, $kKeXs$playwrighttest.expect)(test).toContainText(filename);
1716
1740
  }
1717
1741
  async getAttachmentsListCount() {
@@ -1809,10 +1833,10 @@ class $9c0b0c2caed50730$export$d4865631ba74f3e2 extends (0, $f8721861c660dd88$ex
1809
1833
  await this.page.waitForTimeout(1000);
1810
1834
  }
1811
1835
  async expectPreconditionEditable() {
1812
- await this.textEditor.isVisible();
1836
+ await (0, $kKeXs$playwrighttest.expect)(this.textEditor).toBeVisible();
1813
1837
  }
1814
1838
  async expectPreconditionNotEditable() {
1815
- await this.textEditor.isHidden();
1839
+ await (0, $kKeXs$playwrighttest.expect)(this.textEditor).not.toBeEditable();
1816
1840
  }
1817
1841
  async enableFailureHandler() {
1818
1842
  await this.page.getByLabel("Enable failure handler").check();
@@ -2036,6 +2060,11 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2036
2060
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test-id="${propertyName}"]`).getByText(value)).toBeVisible();
2037
2061
  return this;
2038
2062
  }
2063
+ async expectDisabledInputField(propertyName) {
2064
+ const inputField = this.railLocator.locator(`.task-input-property input[id="${propertyName}"]`);
2065
+ if (await inputField.isVisible()) await (0, $kKeXs$playwrighttest.expect)(inputField).toHaveAttribute("readonly", "");
2066
+ return this;
2067
+ }
2039
2068
  async expectRiskProfileValue(value) {
2040
2069
  await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator("#riskProfileId")).toHaveValue(value);
2041
2070
  }
@@ -2123,7 +2152,6 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2123
2152
  })
2124
2153
  }).locator(".icon-options");
2125
2154
  if (canDelete) {
2126
- await depOptionsIcon.isVisible();
2127
2155
  await depOptionsIcon.click();
2128
2156
  await (0, $kKeXs$playwrighttest.expect)(this.railLocator.getByRole("menuitem", {
2129
2157
  name: "Remove"
@@ -2151,7 +2179,6 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2151
2179
  exact: true
2152
2180
  })
2153
2181
  }).locator(".icon-options");
2154
- await depOptionsIcon.isVisible();
2155
2182
  await depOptionsIcon.click();
2156
2183
  await this.railLocator.getByRole("menuitem", {
2157
2184
  name: "Remove"
@@ -2182,7 +2209,6 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2182
2209
  const depOptionsIcon = this.page.locator(".dependency").filter({
2183
2210
  has: this.page.getByLabel(dependencies)
2184
2211
  }).first().locator(".actions");
2185
- await depOptionsIcon.isVisible();
2186
2212
  await depOptionsIcon.click();
2187
2213
  const frame = this.page.getByTestId("undefined-menu");
2188
2214
  if (await frame.isVisible()) await this.railLocator.getByRole("menuitem", {
@@ -2244,9 +2270,11 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2244
2270
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#dialogTitle")).toContainText(errorMessage);
2245
2271
  }
2246
2272
  async isButtonVisible(buttonName, visible = true) {
2247
- (0, $kKeXs$playwrighttest.expect)(await this.page.getByRole("button", {
2273
+ const locator = this.page.getByRole("button", {
2248
2274
  name: buttonName
2249
- }).isVisible()).toBe(visible);
2275
+ });
2276
+ if (visible) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
2277
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
2250
2278
  }
2251
2279
  async cancelDialogWindow() {
2252
2280
  await this.page.getByRole("button", {
@@ -2295,9 +2323,11 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
2295
2323
  await this.page.locator(`input[name='${fieldID}']`).fill(value);
2296
2324
  }
2297
2325
  async abortButtonVisibility(visible = true) {
2298
- (0, $kKeXs$playwrighttest.expect)(await this.page.getByRole("button", {
2326
+ const locator = this.page.getByRole("button", {
2299
2327
  name: "Abort"
2300
- }).isVisible()).toBe(visible);
2328
+ });
2329
+ if (visible) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
2330
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
2301
2331
  }
2302
2332
  async setPattern(patternName) {
2303
2333
  await this.page.locator("#patternId").click();
@@ -2463,15 +2493,12 @@ class $eb81c1b930e440ff$export$fbbf45eff21470e3 extends (0, $f8721861c660dd88$ex
2463
2493
  this.task = this.dependencyLocator.locator("#task-dependency");
2464
2494
  }
2465
2495
  async getRelease() {
2466
- await this.release.isVisible();
2467
2496
  return await this.release.getAttribute("value");
2468
2497
  }
2469
2498
  async getPhase() {
2470
- await this.phase.isVisible();
2471
2499
  return await this.phase.getAttribute("value");
2472
2500
  }
2473
2501
  async getTask() {
2474
- await this.task.isVisible();
2475
2502
  return await this.task.getAttribute("value");
2476
2503
  }
2477
2504
  async setRelease(releaseTitle) {
@@ -2654,14 +2681,14 @@ class $1fbdec5dc9cde599$export$e3515314c13bc477 extends (0, $f8721861c660dd88$ex
2654
2681
  this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
2655
2682
  }
2656
2683
  async expectStartDateToBeDisplayed() {
2657
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".flex-section.column").filter({
2684
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flex-section.column").filter({
2658
2685
  hasText: "Start Date"
2659
- }).locator(".task-date-view-content").isVisible()).toBe(true);
2686
+ }).locator(".task-date-view-content")).toBeVisible();
2660
2687
  }
2661
2688
  async expectEndDateToBeDisplayed() {
2662
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".flex-section.column").filter({
2689
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flex-section.column").filter({
2663
2690
  hasText: "End Date"
2664
- }).locator(".task-date-view-content").isVisible()).toBe(true);
2691
+ }).locator(".task-date-view-content")).toBeVisible();
2665
2692
  }
2666
2693
  async switchWaitForScheduledDate() {
2667
2694
  await this.page.locator(".wait-for-start input").click();
@@ -3458,6 +3485,8 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
3458
3485
  constructor(page){
3459
3486
  super(page);
3460
3487
  this.commentBox = this.page.locator(`.input-block-level`);
3488
+ this.contextMenuButton = this.page.locator("#context-menu-container li");
3489
+ this.completeButton = this.page.getByTestId("release-grid-complete-btn");
3461
3490
  this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
3462
3491
  this.refreshButton = this.page.getByTestId("refresh-btn");
3463
3492
  this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
@@ -3469,8 +3498,12 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
3469
3498
  }
3470
3499
  // eslint-disable-next-line max-params
3471
3500
  async callMenuOptionsForTask(taskTitle, option, taskGroup, taskType) {
3472
- await this.openContextMenuForTask(taskTitle);
3473
- await this.page.locator(".dropdown-menu li").getByText(option).click();
3501
+ await (0, $kKeXs$playwrighttest.expect)(async ()=>{
3502
+ await this.openContextMenuForTask(taskTitle);
3503
+ await this.page.locator(".dropdown-menu li").getByText(option).click({
3504
+ timeout: 1000
3505
+ });
3506
+ }).toPass();
3474
3507
  if (await this.commentBox.isVisible()) await this.commentBox.fill(" Automation Test Comment");
3475
3508
  else if (await this.page.getByRole("heading", {
3476
3509
  name: "Change task type"
@@ -3604,7 +3637,7 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
3604
3637
  return this;
3605
3638
  }
3606
3639
  async completeSelectedTasks(comment) {
3607
- await this.page.getByTestId("release-grid-complete-btn").click();
3640
+ await this.completeButton.click();
3608
3641
  await this.page.getByPlaceholder("Give feedback or place a").fill(comment);
3609
3642
  await this.page.locator(".modal-footer").getByRole("button", {
3610
3643
  name: "Complete"
@@ -3661,6 +3694,47 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
3661
3694
  await this.page.keyboard.up("Shift");
3662
3695
  return this;
3663
3696
  }
3697
+ async isContextualMenuItemEnabled(menuName, taskTitle) {
3698
+ await this.openContextMenuForTask(taskTitle);
3699
+ await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
3700
+ hasText: menuName
3701
+ })).not.toHaveClass(/disabled/);
3702
+ await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
3703
+ hasText: menuName
3704
+ }).locator("a")).not.toBeDisabled();
3705
+ await this.closeContextMenu();
3706
+ }
3707
+ async isContextualMenuItemDisabled(menuName, taskTitle) {
3708
+ await this.openContextMenuForTask(taskTitle);
3709
+ const menuItem = this.contextMenuButton.filter({
3710
+ hasText: menuName
3711
+ });
3712
+ await (0, $kKeXs$playwrighttest.expect)(menuItem).toHaveClass(/disabled/);
3713
+ const anchorTag = menuItem.locator("a");
3714
+ const disabledAttribute = await anchorTag.getAttribute("disabled");
3715
+ (0, $kKeXs$playwrighttest.expect)(disabledAttribute).not.toBeNull();
3716
+ await this.closeContextMenu();
3717
+ }
3718
+ async closeContextMenu() {
3719
+ await this.page.locator("#release-header").click();
3720
+ }
3721
+ async expectDisabledActions(actionName) {
3722
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId(`release-grid-${actionName}-btn`)).toBeDisabled();
3723
+ return this;
3724
+ }
3725
+ async expectDisabledActionsOnMoreActionsMenu(menuItem) {
3726
+ await this.page.getByTestId("release-grid-dropdown-btn").click();
3727
+ if (menuItem instanceof Array) for (const val of menuItem)await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
3728
+ name: val,
3729
+ exact: true
3730
+ })).toBeDisabled();
3731
+ else await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
3732
+ name: menuItem,
3733
+ exact: true
3734
+ })).toBeDisabled();
3735
+ await this.closeContextMenu();
3736
+ return this;
3737
+ }
3664
3738
  }
3665
3739
 
3666
3740
 
@@ -4108,12 +4182,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
4108
4182
  await downloadPromise;
4109
4183
  }
4110
4184
  async expectTaskToBePresent(taskName) {
4111
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
4185
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .task-title").filter({
4112
4186
  hasText: taskName
4113
4187
  })).toBeVisible();
4114
4188
  }
4115
4189
  async expectTaskNotToBePresent(taskName) {
4116
- await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
4190
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .task-title").filter({
4117
4191
  hasText: taskName
4118
4192
  })).not.toBeVisible();
4119
4193
  }
@@ -4151,6 +4225,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
4151
4225
  async expectAddTaskNotVisible() {
4152
4226
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".add-task.link")).not.toBeVisible();
4153
4227
  }
4228
+ async expectTaskCount(count) {
4229
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task-container").count()).toBe(count);
4230
+ }
4231
+ async expectCurrentTaskCount(count) {
4232
+ (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task.active").count()).toBe(count);
4233
+ }
4154
4234
  }
4155
4235
  class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
4156
4236
  constructor(page, phaseName){
@@ -4168,8 +4248,8 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4168
4248
  await this.phaseLocator.locator(".phase-header input").fill(title);
4169
4249
  await this.phaseLocator.locator(".phase-header input").blur();
4170
4250
  }
4171
- async isMenuItemEnabled(menuName, taskTitle) {
4172
- await this.openContextMenuForTask(taskTitle);
4251
+ async isMenuItemEnabled(menuName, taskTitle, group = false) {
4252
+ await this.openContextMenuForTask(taskTitle, group);
4173
4253
  await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
4174
4254
  hasText: menuName
4175
4255
  })).not.toHaveClass(/disabled/);
@@ -4178,8 +4258,8 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4178
4258
  }).locator("a")).not.toBeDisabled();
4179
4259
  await this.closeContextMenu();
4180
4260
  }
4181
- async isMenuItemDisabled(menuName, taskTitle) {
4182
- await this.openContextMenuForTask(taskTitle);
4261
+ async isMenuItemDisabled(menuName, taskTitle, group = false) {
4262
+ await this.openContextMenuForTask(taskTitle, group);
4183
4263
  const menuItem = this.contextMenuButton.filter({
4184
4264
  hasText: menuName
4185
4265
  });
@@ -4232,8 +4312,11 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4232
4312
  async expectToHaveTitle(phaseTitle) {
4233
4313
  await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
4234
4314
  }
4235
- async openContextMenuForTask(taskTitle) {
4236
- await this.phaseLocator.locator(".task").filter({
4315
+ async openContextMenuForTask(taskTitle, group = false) {
4316
+ if (!group) await this.phaseLocator.locator(".task").filter({
4317
+ hasText: taskTitle
4318
+ }).locator(".context-menu-button").click();
4319
+ else await this.phaseLocator.locator(".task-group .task").filter({
4237
4320
  hasText: taskTitle
4238
4321
  }).locator(".context-menu-button").click();
4239
4322
  }
@@ -4265,6 +4348,16 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4265
4348
  }).click();
4266
4349
  return this;
4267
4350
  }
4351
+ async unlockFromContextMenu(taskTitle, group = false) {
4352
+ await this.openContextMenuForTask(taskTitle, group);
4353
+ await this.page.locator(".dropdown-menu li").getByText("Unlock").click();
4354
+ await this.expectLockCheckMark(taskTitle, false);
4355
+ }
4356
+ async lockFromContextMenu(taskTitle, group = false) {
4357
+ await this.openContextMenuForTask(taskTitle, group);
4358
+ await this.page.locator(".dropdown-menu li").getByText("Lock").click();
4359
+ await this.expectLockCheckMark(taskTitle, true);
4360
+ }
4268
4361
  async expectChangeTypeContextMenuDisabled(taskTitle, taskGroup, taskType) {
4269
4362
  await this.openContextMenuForTask(taskTitle);
4270
4363
  await this.page.locator(".dropdown-menu li").getByText("Change type").click();
@@ -4282,6 +4375,15 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4282
4375
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-type-gatetask .marker-check-icon")).toBeVisible();
4283
4376
  return this;
4284
4377
  }
4378
+ async expectLockCheckMark(taskTitle, isVisible = true) {
4379
+ if (isVisible) await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-header").filter({
4380
+ hasText: taskTitle
4381
+ }).locator(".lock-icon")).toBeVisible();
4382
+ else await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-header").filter({
4383
+ hasText: taskTitle
4384
+ }).locator(".lock-icon")).not.toBeVisible();
4385
+ return this;
4386
+ }
4285
4387
  async expectFailureHandlerCheckMar(taskTitle, isVisible = true) {
4286
4388
  if (isVisible) await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
4287
4389
  hasText: taskTitle
@@ -4394,10 +4496,10 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4394
4496
  await this.page.getByText("View all completed phases").click();
4395
4497
  }
4396
4498
  async expectTaskToBePresent(taskName, visible = true) {
4397
- if (visible) await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task").filter({
4499
+ if (visible) await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task .task-title").filter({
4398
4500
  hasText: taskName
4399
4501
  })).toBeVisible();
4400
- else await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task").filter({
4502
+ else await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task .task-title").filter({
4401
4503
  hasText: taskName
4402
4504
  })).not.toBeVisible();
4403
4505
  }
@@ -4471,6 +4573,21 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
4471
4573
  hasText: "Your request has been rejected, your permissions may have been revoked."
4472
4574
  })).toBeVisible();
4473
4575
  }
4576
+ async expectCurrentTaskCount(count) {
4577
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.active").count()).toBe(count);
4578
+ }
4579
+ async expectCompletedTaskCount(count) {
4580
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.completed").count()).toBe(count);
4581
+ }
4582
+ async expectFailedTaskCount(count) {
4583
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.failed").count()).toBe(count);
4584
+ }
4585
+ async expectFailingTaskCount(count) {
4586
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.failing").count()).toBe(count);
4587
+ }
4588
+ async expectSkippedTaskCount(count) {
4589
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.skipped").count()).toBe(count);
4590
+ }
4474
4591
  }
4475
4592
  class $9b9a8c3da392d020$var$RestartPhaseModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
4476
4593
  constructor(page){
@@ -4486,7 +4603,7 @@ class $9b9a8c3da392d020$var$RestartPhaseModel extends (0, $f8721861c660dd88$expo
4486
4603
  await this.page.locator('.modal select[data-test="fromTask"]').selectOption(task);
4487
4604
  }
4488
4605
  async expectNoTaskSelectorVisible() {
4489
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator('.modal select[data-test="fromTask"]').isVisible()).toHaveLength(0);
4606
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.modal select[data-test="fromTask"]')).not.toBeVisible();
4490
4607
  }
4491
4608
  async continue() {
4492
4609
  await this.page.locator(".modal .continue").click();
@@ -5001,7 +5118,6 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
5001
5118
  async backToAllFolders() {
5002
5119
  await this.page.locator(".icon-back.dot-i").click();
5003
5120
  await (0, $kKeXs$playwrighttest.expect)(this.page).toHaveTitle("Folders - Digital.ai Release");
5004
- await this.page.locator("button.btn-add-folder").isVisible();
5005
5121
  return this;
5006
5122
  }
5007
5123
  async createFolder(folderName) {
@@ -5279,7 +5395,6 @@ class $506d511737b3ea46$export$74ca1eaaa9a0054 extends (0, $f8721861c660dd88$exp
5279
5395
  await this.page.getByRole("button", {
5280
5396
  name: "Delete"
5281
5397
  }).click();
5282
- await this.page.locator("alert.notice.ng-scope").isVisible();
5283
5398
  }
5284
5399
  async editVariable(variableName, editedvariabletext) {
5285
5400
  await this.page.locator("[id='variables-filter']").fill(variableName);
@@ -6919,7 +7034,6 @@ class $ed2d4739e27d43c1$var$GridView extends (0, $f8721861c660dd88$export$2b65d1
6919
7034
  hasText: action
6920
7035
  }).click();
6921
7036
  if (action === "Complete") {
6922
- await this.page.locator("#modal textarea[mentio]").isVisible();
6923
7037
  await this.page.locator("#modal textarea[mentio]").fill("complete");
6924
7038
  await this.page.locator("#modal button.primary").filter({
6925
7039
  hasText: "Complete"
@@ -7653,10 +7767,14 @@ class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$ex
7653
7767
  (0, $kKeXs$playwrighttest.expect)(await this.getValue(identifier)).toEqual(value.toString());
7654
7768
  }
7655
7769
  async shouldHaveEditButton(present = true) {
7656
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator("#editRisk").isVisible()).toBe(present);
7770
+ const locator = this.page.locator("#editRisk");
7771
+ if (present) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7772
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7657
7773
  }
7658
7774
  async shouldHaveSaveButton(present = true) {
7659
- (0, $kKeXs$playwrighttest.expect)(await this.page.getByTestId("save-btn").isVisible()).toBe(present);
7775
+ const locator = this.page.getByTestId("save-btn");
7776
+ if (present) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7777
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7660
7778
  }
7661
7779
  async startEditGlobalRiskThreshold() {
7662
7780
  await this.page.locator("#editRisk").click();
@@ -7678,9 +7796,11 @@ class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$ex
7678
7796
  await this.page.locator("#risk-profile-table").waitFor({
7679
7797
  state: "visible"
7680
7798
  });
7681
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".risk-profile .data-row").filter({
7799
+ const locator = this.page.locator(".risk-profile .data-row").filter({
7682
7800
  hasText: title
7683
- }).isVisible()).toBe(present);
7801
+ });
7802
+ if (present) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7803
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7684
7804
  }
7685
7805
  async expectDefaultRiskProfileToBeFirst() {
7686
7806
  await this.page.locator("#risk-profile-table").waitFor({
@@ -7703,9 +7823,11 @@ class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$ex
7703
7823
  }).waitFor({
7704
7824
  state: "visible"
7705
7825
  });
7706
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(".risk-profile .data-row").filter({
7826
+ const locator = this.page.locator(".risk-profile .data-row").filter({
7707
7827
  hasText: title
7708
- }).locator(".copy-action").isVisible()).toBe(enabled);
7828
+ }).locator(".copy-action");
7829
+ if (enabled) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7830
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7709
7831
  }
7710
7832
  async shouldHaveDeleteButtonEnabledForRiskProfile(title, enabled = true) {
7711
7833
  await this.page.locator(".risk-profile .data-row").filter({
@@ -7713,9 +7835,11 @@ class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$ex
7713
7835
  }).waitFor({
7714
7836
  state: "visible"
7715
7837
  });
7716
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(`.risk-profile .data-row`).filter({
7838
+ const locator = this.page.locator(`.risk-profile .data-row`).filter({
7717
7839
  hasText: title
7718
- }).locator(`.remove-action`).isVisible()).toBe(enabled);
7840
+ }).locator(`.remove-action`);
7841
+ if (enabled) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7842
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7719
7843
  }
7720
7844
  async clickNewRiskProfile() {
7721
7845
  await this.page.getByTestId("new-risk-btn").waitFor({
@@ -7771,7 +7895,9 @@ class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$ex
7771
7895
  (0, $kKeXs$playwrighttest.expect)(await this.page.locator("#risk-profile-table .data-row").count()).toEqual(numberOfVisibleRiskProfiles);
7772
7896
  }
7773
7897
  async shouldHaveNewRiskProfileButton(present = true) {
7774
- (0, $kKeXs$playwrighttest.expect)(await this.page.getByTestId("new-risk-btn").isVisible()).toBe(present);
7898
+ const locator = this.page.getByTestId("new-risk-btn");
7899
+ if (present) await (0, $kKeXs$playwrighttest.expect)(locator).toBeVisible();
7900
+ else await (0, $kKeXs$playwrighttest.expect)(locator).not.toBeVisible();
7775
7901
  }
7776
7902
  }
7777
7903
  class $ea5452748687c9a2$var$RisksProfilePage extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
@@ -7867,18 +7993,18 @@ class $3ec0e9cf832fdde8$export$9823ddf5e80770e7 extends (0, $f8721861c660dd88$ex
7867
7993
  state: "visible",
7868
7994
  timeout: 200000
7869
7995
  });
7870
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(`.configuration-instance`).filter({
7996
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.configuration-instance`).filter({
7871
7997
  hasText: instanceName
7872
- }).isVisible()).toBe(true);
7998
+ })).toBeVisible();
7873
7999
  return this;
7874
8000
  }
7875
8001
  async expectInstanceNotDisplayed(instanceName) {
7876
8002
  await this.page.locator("#configuration").waitFor({
7877
8003
  state: "visible"
7878
8004
  });
7879
- (0, $kKeXs$playwrighttest.expect)(await this.page.locator(`.configuration-instance`).filter({
8005
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.configuration-instance`).filter({
7880
8006
  hasText: instanceName
7881
- }).isVisible()).toBe(false);
8007
+ })).not.toBeVisible();
7882
8008
  return this;
7883
8009
  }
7884
8010
  async openInstance(instanceName) {
@@ -8099,7 +8225,6 @@ class $267ea1f27d28a032$export$8da2fa93430be6ca extends (0, $f8721861c660dd88$ex
8099
8225
  exact: true
8100
8226
  })
8101
8227
  }).getByRole("checkbox").click();
8102
- await this.page.getByTestId("save-btn").isVisible();
8103
8228
  await this.page.getByTestId("save-btn").click();
8104
8229
  await this.page.locator(".saved-text").waitFor();
8105
8230
  } else if (!isChecked && enable) {
@@ -8113,7 +8238,6 @@ class $267ea1f27d28a032$export$8da2fa93430be6ca extends (0, $f8721861c660dd88$ex
8113
8238
  exact: true
8114
8239
  })
8115
8240
  }).getByRole("checkbox").click();
8116
- await this.page.getByTestId("save-btn").isVisible();
8117
8241
  await this.page.getByTestId("save-btn").click();
8118
8242
  await this.page.locator(".saved-text").waitFor();
8119
8243
  }