@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/CHANGELOG.md +14 -0
- package/dist/main.js +222 -59
- package/dist/main.js.map +1 -1
- package/dist/module.js +222 -59
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +25 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @digital-ai/devops-page-object-release
|
|
2
2
|
|
|
3
|
+
## 0.0.40
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4067557: S-118970: Migrated task-lock-scenario in playwright
|
|
8
|
+
- 5d8b574: Reduce flaky v2
|
|
9
|
+
- b3befac: S-119232: Migrated parallel-task-scenario in playwright
|
|
10
|
+
|
|
11
|
+
## 0.0.39
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 6c894d5: Try to reduce flaky
|
|
16
|
+
|
|
3
17
|
## 0.0.38
|
|
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
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
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);
|
|
@@ -2036,6 +2061,11 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
|
|
|
2036
2061
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test-id="${propertyName}"]`).getByText(value)).toBeVisible();
|
|
2037
2062
|
return this;
|
|
2038
2063
|
}
|
|
2064
|
+
async expectDisabledInputField(propertyName) {
|
|
2065
|
+
const inputField = this.railLocator.locator(`.task-input-property input[id="${propertyName}"]`);
|
|
2066
|
+
if (await inputField.isVisible()) await (0, $kKeXs$playwrighttest.expect)(inputField).toHaveAttribute("readonly", "");
|
|
2067
|
+
return this;
|
|
2068
|
+
}
|
|
2039
2069
|
async expectRiskProfileValue(value) {
|
|
2040
2070
|
await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator("#riskProfileId")).toHaveValue(value);
|
|
2041
2071
|
}
|
|
@@ -2694,9 +2724,16 @@ class $1fbdec5dc9cde599$export$e3515314c13bc477 extends (0, $f8721861c660dd88$ex
|
|
|
2694
2724
|
}).locator(".task-date").waitFor({
|
|
2695
2725
|
timeout: 10000
|
|
2696
2726
|
});
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2727
|
+
// reclick if the date picker is not visible
|
|
2728
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
2729
|
+
await this.page.locator(".flex-section.column").filter({
|
|
2730
|
+
hasText: "Start date"
|
|
2731
|
+
}).locator(".task-date").click();
|
|
2732
|
+
// month + year, we check for 20xx year
|
|
2733
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiPickersCalendarHeader-label")).toContainText("20", {
|
|
2734
|
+
timeout: 100
|
|
2735
|
+
});
|
|
2736
|
+
}).toPass();
|
|
2700
2737
|
await this.setDate(date, monthYear);
|
|
2701
2738
|
}
|
|
2702
2739
|
async setEndDate(date, monthYear) {
|
|
@@ -2705,9 +2742,16 @@ class $1fbdec5dc9cde599$export$e3515314c13bc477 extends (0, $f8721861c660dd88$ex
|
|
|
2705
2742
|
}).locator(".task-date").waitFor({
|
|
2706
2743
|
timeout: 10000
|
|
2707
2744
|
});
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2745
|
+
// reclick if the date picker is not visible
|
|
2746
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
2747
|
+
await this.page.locator(".flex-section.column").filter({
|
|
2748
|
+
hasText: "End date"
|
|
2749
|
+
}).locator(".task-date").click();
|
|
2750
|
+
// month + year, we check for 20xx year
|
|
2751
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiPickersCalendarHeader-label")).toContainText("20", {
|
|
2752
|
+
timeout: 100
|
|
2753
|
+
});
|
|
2754
|
+
}).toPass();
|
|
2711
2755
|
await this.setDate(date, monthYear);
|
|
2712
2756
|
}
|
|
2713
2757
|
async setDate(date, monthYear) {
|
|
@@ -2760,6 +2804,10 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
2760
2804
|
});
|
|
2761
2805
|
this.taskDrawerLocator = this.page.locator("task-drawer .dot-drawer");
|
|
2762
2806
|
}
|
|
2807
|
+
async waitForTaskDrawer() {
|
|
2808
|
+
const handle = await this.page.locator(".dot-drawer-paper").elementHandle();
|
|
2809
|
+
await handle?.waitForElementState("stable");
|
|
2810
|
+
}
|
|
2763
2811
|
async openOverviewRail() {
|
|
2764
2812
|
await this.openRail("Overview");
|
|
2765
2813
|
}
|
|
@@ -3093,6 +3141,7 @@ class $e8395395d01b66bb$export$5a82be0a2a261cc6 extends (0, $f8721861c660dd88$ex
|
|
|
3093
3141
|
}
|
|
3094
3142
|
async openTaskDrawer(title) {
|
|
3095
3143
|
await this.page.getByTitle(title).dblclick();
|
|
3144
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
3096
3145
|
return this.taskDrawer;
|
|
3097
3146
|
}
|
|
3098
3147
|
async openPhaseDetails(phaseName) {
|
|
@@ -3439,6 +3488,8 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3439
3488
|
constructor(page){
|
|
3440
3489
|
super(page);
|
|
3441
3490
|
this.commentBox = this.page.locator(`.input-block-level`);
|
|
3491
|
+
this.contextMenuButton = this.page.locator("#context-menu-container li");
|
|
3492
|
+
this.completeButton = this.page.getByTestId("release-grid-complete-btn");
|
|
3442
3493
|
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
3443
3494
|
this.refreshButton = this.page.getByTestId("refresh-btn");
|
|
3444
3495
|
this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
|
|
@@ -3450,8 +3501,12 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3450
3501
|
}
|
|
3451
3502
|
// eslint-disable-next-line max-params
|
|
3452
3503
|
async callMenuOptionsForTask(taskTitle, option, taskGroup, taskType) {
|
|
3453
|
-
await
|
|
3454
|
-
|
|
3504
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
3505
|
+
await this.openContextMenuForTask(taskTitle);
|
|
3506
|
+
await this.page.locator(".dropdown-menu li").getByText(option).click({
|
|
3507
|
+
timeout: 1000
|
|
3508
|
+
});
|
|
3509
|
+
}).toPass();
|
|
3455
3510
|
if (await this.commentBox.isVisible()) await this.commentBox.fill(" Automation Test Comment");
|
|
3456
3511
|
else if (await this.page.getByRole("heading", {
|
|
3457
3512
|
name: "Change task type"
|
|
@@ -3485,9 +3540,9 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3485
3540
|
}
|
|
3486
3541
|
async expectTaskRowCountToBe(title, expectedCount) {
|
|
3487
3542
|
await this.refreshButton.click();
|
|
3488
|
-
(0, $kKeXs$playwrighttest.expect)(
|
|
3543
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".name-cell-title").filter({
|
|
3489
3544
|
hasText: title
|
|
3490
|
-
})
|
|
3545
|
+
})).toHaveCount(expectedCount);
|
|
3491
3546
|
}
|
|
3492
3547
|
async setHeaderFilter(columnTitle, valueToFilter) {
|
|
3493
3548
|
const filter = this.page.locator(`.ui-grid-header-cell`).filter({
|
|
@@ -3497,8 +3552,7 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3497
3552
|
await filter.fill(valueToFilter);
|
|
3498
3553
|
}
|
|
3499
3554
|
async expectRowCountToBe(cellCount) {
|
|
3500
|
-
|
|
3501
|
-
(0, $kKeXs$playwrighttest.expect)(cont).toBe(cellCount);
|
|
3555
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".ui-grid-canvas .name-cell")).toHaveCount(cellCount);
|
|
3502
3556
|
}
|
|
3503
3557
|
async filterStartDate(date, monthYear) {
|
|
3504
3558
|
await this.page.locator(`.ui-grid-header-cell`).filter({
|
|
@@ -3516,6 +3570,7 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3516
3570
|
await this.page.locator(".name-cell-title").filter({
|
|
3517
3571
|
hasText: taskTitle
|
|
3518
3572
|
}).click();
|
|
3573
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
3519
3574
|
return this.taskDrawer;
|
|
3520
3575
|
}
|
|
3521
3576
|
async collapseNthRowByIndex(Indexnumber) {
|
|
@@ -3526,25 +3581,31 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3526
3581
|
}
|
|
3527
3582
|
async expectTaskToHaveStatus(taskTitle, status) {
|
|
3528
3583
|
await this.refreshButton.click();
|
|
3529
|
-
(0, $kKeXs$playwrighttest.expect)(
|
|
3584
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".ui-grid-row").filter({
|
|
3530
3585
|
hasText: taskTitle
|
|
3531
|
-
}).locator(".label
|
|
3586
|
+
}).locator(".label")).toContainText(status);
|
|
3532
3587
|
}
|
|
3533
3588
|
async expectOverdueOnEndDate(taskTitle) {
|
|
3534
|
-
(0, $kKeXs$playwrighttest.expect)(
|
|
3589
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.ui-grid-row`).filter({
|
|
3535
3590
|
hasText: taskTitle
|
|
3536
|
-
}).locator(`i.xl-icon.delay-icon.overdue-icon`)
|
|
3591
|
+
}).locator(`i.xl-icon.delay-icon.overdue-icon`)).toBeVisible();
|
|
3537
3592
|
}
|
|
3538
3593
|
async selectTask(taskTitle) {
|
|
3539
|
-
|
|
3594
|
+
const checkboxLocator = this.page.locator(`.ui-grid-cell-contents`).filter({
|
|
3540
3595
|
hasText: taskTitle
|
|
3541
|
-
}).locator(
|
|
3542
|
-
|
|
3543
|
-
|
|
3596
|
+
}).locator(`input.item-selector`);
|
|
3597
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
3598
|
+
await checkboxLocator.click({
|
|
3599
|
+
force: true
|
|
3600
|
+
});
|
|
3601
|
+
await (0, $kKeXs$playwrighttest.expect)(checkboxLocator).toBeChecked({
|
|
3602
|
+
timeout: 1000
|
|
3603
|
+
});
|
|
3604
|
+
}).toPass();
|
|
3544
3605
|
}
|
|
3545
3606
|
async expectSelectedTasksCounter(text) {
|
|
3546
3607
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("release-grid-selected-tasks")).toBeVisible();
|
|
3547
|
-
(0, $kKeXs$playwrighttest.expect)(
|
|
3608
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("release-grid-selected-tasks")).toContainText(text);
|
|
3548
3609
|
}
|
|
3549
3610
|
async clearSelection() {
|
|
3550
3611
|
await this.page.getByTestId("release-grid-unselect-btn").click();
|
|
@@ -3579,9 +3640,9 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3579
3640
|
return this;
|
|
3580
3641
|
}
|
|
3581
3642
|
async completeSelectedTasks(comment) {
|
|
3582
|
-
await this.
|
|
3643
|
+
await this.completeButton.click();
|
|
3583
3644
|
await this.page.getByPlaceholder("Give feedback or place a").fill(comment);
|
|
3584
|
-
await this.page.getByRole("button", {
|
|
3645
|
+
await this.page.locator(".modal-footer").getByRole("button", {
|
|
3585
3646
|
name: "Complete"
|
|
3586
3647
|
}).click();
|
|
3587
3648
|
return this;
|
|
@@ -3591,11 +3652,13 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3591
3652
|
await this.page.getByRole("menuitem", {
|
|
3592
3653
|
name: menuItem
|
|
3593
3654
|
}).click();
|
|
3594
|
-
if (
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3655
|
+
if ([
|
|
3656
|
+
"Skip",
|
|
3657
|
+
"Reopen",
|
|
3658
|
+
"Retry",
|
|
3659
|
+
"Fail"
|
|
3660
|
+
].includes(menuItem)) await this.commentBox.fill("Automation Test Comment");
|
|
3661
|
+
await this.page.getByRole("button", {
|
|
3599
3662
|
name: menuItem,
|
|
3600
3663
|
exact: true
|
|
3601
3664
|
}).click();
|
|
@@ -3634,6 +3697,47 @@ class $c5c393ea4aecca6c$export$649fde34d823ece7 extends (0, $f8721861c660dd88$ex
|
|
|
3634
3697
|
await this.page.keyboard.up("Shift");
|
|
3635
3698
|
return this;
|
|
3636
3699
|
}
|
|
3700
|
+
async isContextualMenuItemEnabled(menuName, taskTitle) {
|
|
3701
|
+
await this.openContextMenuForTask(taskTitle);
|
|
3702
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
3703
|
+
hasText: menuName
|
|
3704
|
+
})).not.toHaveClass(/disabled/);
|
|
3705
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
3706
|
+
hasText: menuName
|
|
3707
|
+
}).locator("a")).not.toBeDisabled();
|
|
3708
|
+
await this.closeContextMenu();
|
|
3709
|
+
}
|
|
3710
|
+
async isContextualMenuItemDisabled(menuName, taskTitle) {
|
|
3711
|
+
await this.openContextMenuForTask(taskTitle);
|
|
3712
|
+
const menuItem = this.contextMenuButton.filter({
|
|
3713
|
+
hasText: menuName
|
|
3714
|
+
});
|
|
3715
|
+
await (0, $kKeXs$playwrighttest.expect)(menuItem).toHaveClass(/disabled/);
|
|
3716
|
+
const anchorTag = menuItem.locator("a");
|
|
3717
|
+
const disabledAttribute = await anchorTag.getAttribute("disabled");
|
|
3718
|
+
(0, $kKeXs$playwrighttest.expect)(disabledAttribute).not.toBeNull();
|
|
3719
|
+
await this.closeContextMenu();
|
|
3720
|
+
}
|
|
3721
|
+
async closeContextMenu() {
|
|
3722
|
+
await this.page.locator("#release-header").click();
|
|
3723
|
+
}
|
|
3724
|
+
async expectDisabledActions(actionName) {
|
|
3725
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId(`release-grid-${actionName}-btn`)).toBeDisabled();
|
|
3726
|
+
return this;
|
|
3727
|
+
}
|
|
3728
|
+
async expectDisabledActionsOnMoreActionsMenu(menuItem) {
|
|
3729
|
+
await this.page.getByTestId("release-grid-dropdown-btn").click();
|
|
3730
|
+
if (menuItem instanceof Array) for (const val of menuItem)await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
|
|
3731
|
+
name: val,
|
|
3732
|
+
exact: true
|
|
3733
|
+
})).toBeDisabled();
|
|
3734
|
+
else await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
|
|
3735
|
+
name: menuItem,
|
|
3736
|
+
exact: true
|
|
3737
|
+
})).toBeDisabled();
|
|
3738
|
+
await this.closeContextMenu();
|
|
3739
|
+
return this;
|
|
3740
|
+
}
|
|
3637
3741
|
}
|
|
3638
3742
|
|
|
3639
3743
|
|
|
@@ -3911,18 +4015,21 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
3911
4015
|
await this.page.locator(".task-header").getByText(taskName, {
|
|
3912
4016
|
exact: true
|
|
3913
4017
|
}).click();
|
|
4018
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
3914
4019
|
return this.taskDrawer;
|
|
3915
4020
|
}
|
|
3916
4021
|
async openTaskDrawerFromTableView(taskName) {
|
|
3917
4022
|
await this.page.locator(".name-cell-title").getByText(taskName, {
|
|
3918
4023
|
exact: true
|
|
3919
4024
|
}).click();
|
|
4025
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
3920
4026
|
return this.taskDrawer;
|
|
3921
4027
|
}
|
|
3922
4028
|
async openTaskDrawerFromGrantt(taskName) {
|
|
3923
4029
|
await this.page.locator(".gantt_tree_content").getByText(taskName, {
|
|
3924
4030
|
exact: true
|
|
3925
4031
|
}).dblclick();
|
|
4032
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
3926
4033
|
return this.taskDrawer;
|
|
3927
4034
|
}
|
|
3928
4035
|
async openVariables() {
|
|
@@ -4078,12 +4185,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
4078
4185
|
await downloadPromise;
|
|
4079
4186
|
}
|
|
4080
4187
|
async expectTaskToBePresent(taskName) {
|
|
4081
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
|
|
4188
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .task-title").filter({
|
|
4082
4189
|
hasText: taskName
|
|
4083
4190
|
})).toBeVisible();
|
|
4084
4191
|
}
|
|
4085
4192
|
async expectTaskNotToBePresent(taskName) {
|
|
4086
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
|
|
4193
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task .task-title").filter({
|
|
4087
4194
|
hasText: taskName
|
|
4088
4195
|
})).not.toBeVisible();
|
|
4089
4196
|
}
|
|
@@ -4121,6 +4228,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
4121
4228
|
async expectAddTaskNotVisible() {
|
|
4122
4229
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".add-task.link")).not.toBeVisible();
|
|
4123
4230
|
}
|
|
4231
|
+
async expectTaskCount(count) {
|
|
4232
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task-container").count()).toBe(count);
|
|
4233
|
+
}
|
|
4234
|
+
async expectCurrentTaskCount(count) {
|
|
4235
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task.active").count()).toBe(count);
|
|
4236
|
+
}
|
|
4124
4237
|
}
|
|
4125
4238
|
class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4126
4239
|
constructor(page, phaseName){
|
|
@@ -4138,8 +4251,8 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4138
4251
|
await this.phaseLocator.locator(".phase-header input").fill(title);
|
|
4139
4252
|
await this.phaseLocator.locator(".phase-header input").blur();
|
|
4140
4253
|
}
|
|
4141
|
-
async isMenuItemEnabled(menuName, taskTitle) {
|
|
4142
|
-
await this.openContextMenuForTask(taskTitle);
|
|
4254
|
+
async isMenuItemEnabled(menuName, taskTitle, group = false) {
|
|
4255
|
+
await this.openContextMenuForTask(taskTitle, group);
|
|
4143
4256
|
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
4144
4257
|
hasText: menuName
|
|
4145
4258
|
})).not.toHaveClass(/disabled/);
|
|
@@ -4148,8 +4261,8 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4148
4261
|
}).locator("a")).not.toBeDisabled();
|
|
4149
4262
|
await this.closeContextMenu();
|
|
4150
4263
|
}
|
|
4151
|
-
async isMenuItemDisabled(menuName, taskTitle) {
|
|
4152
|
-
await this.openContextMenuForTask(taskTitle);
|
|
4264
|
+
async isMenuItemDisabled(menuName, taskTitle, group = false) {
|
|
4265
|
+
await this.openContextMenuForTask(taskTitle, group);
|
|
4153
4266
|
const menuItem = this.contextMenuButton.filter({
|
|
4154
4267
|
hasText: menuName
|
|
4155
4268
|
});
|
|
@@ -4202,8 +4315,11 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4202
4315
|
async expectToHaveTitle(phaseTitle) {
|
|
4203
4316
|
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
|
|
4204
4317
|
}
|
|
4205
|
-
async openContextMenuForTask(taskTitle) {
|
|
4206
|
-
await this.phaseLocator.locator(".task").filter({
|
|
4318
|
+
async openContextMenuForTask(taskTitle, group = false) {
|
|
4319
|
+
if (!group) await this.phaseLocator.locator(".task").filter({
|
|
4320
|
+
hasText: taskTitle
|
|
4321
|
+
}).locator(".context-menu-button").click();
|
|
4322
|
+
else await this.phaseLocator.locator(".task-group .task").filter({
|
|
4207
4323
|
hasText: taskTitle
|
|
4208
4324
|
}).locator(".context-menu-button").click();
|
|
4209
4325
|
}
|
|
@@ -4235,6 +4351,16 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4235
4351
|
}).click();
|
|
4236
4352
|
return this;
|
|
4237
4353
|
}
|
|
4354
|
+
async unlockFromContextMenu(taskTitle, group = false) {
|
|
4355
|
+
await this.openContextMenuForTask(taskTitle, group);
|
|
4356
|
+
await this.page.locator(".dropdown-menu li").getByText("Unlock").click();
|
|
4357
|
+
await this.expectLockCheckMark(taskTitle, false);
|
|
4358
|
+
}
|
|
4359
|
+
async lockFromContextMenu(taskTitle, group = false) {
|
|
4360
|
+
await this.openContextMenuForTask(taskTitle, group);
|
|
4361
|
+
await this.page.locator(".dropdown-menu li").getByText("Lock").click();
|
|
4362
|
+
await this.expectLockCheckMark(taskTitle, true);
|
|
4363
|
+
}
|
|
4238
4364
|
async expectChangeTypeContextMenuDisabled(taskTitle, taskGroup, taskType) {
|
|
4239
4365
|
await this.openContextMenuForTask(taskTitle);
|
|
4240
4366
|
await this.page.locator(".dropdown-menu li").getByText("Change type").click();
|
|
@@ -4252,6 +4378,15 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4252
4378
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-type-gatetask .marker-check-icon")).toBeVisible();
|
|
4253
4379
|
return this;
|
|
4254
4380
|
}
|
|
4381
|
+
async expectLockCheckMark(taskTitle, isVisible = true) {
|
|
4382
|
+
if (isVisible) await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-header").filter({
|
|
4383
|
+
hasText: taskTitle
|
|
4384
|
+
}).locator(".lock-icon")).toBeVisible();
|
|
4385
|
+
else await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-header").filter({
|
|
4386
|
+
hasText: taskTitle
|
|
4387
|
+
}).locator(".lock-icon")).not.toBeVisible();
|
|
4388
|
+
return this;
|
|
4389
|
+
}
|
|
4255
4390
|
async expectFailureHandlerCheckMar(taskTitle, isVisible = true) {
|
|
4256
4391
|
if (isVisible) await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
|
|
4257
4392
|
hasText: taskTitle
|
|
@@ -4364,10 +4499,10 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4364
4499
|
await this.page.getByText("View all completed phases").click();
|
|
4365
4500
|
}
|
|
4366
4501
|
async expectTaskToBePresent(taskName, visible = true) {
|
|
4367
|
-
if (visible) await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task").filter({
|
|
4502
|
+
if (visible) await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task .task-title").filter({
|
|
4368
4503
|
hasText: taskName
|
|
4369
4504
|
})).toBeVisible();
|
|
4370
|
-
else await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task").filter({
|
|
4505
|
+
else await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".task .task-title").filter({
|
|
4371
4506
|
hasText: taskName
|
|
4372
4507
|
})).not.toBeVisible();
|
|
4373
4508
|
}
|
|
@@ -4441,6 +4576,21 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4441
4576
|
hasText: "Your request has been rejected, your permissions may have been revoked."
|
|
4442
4577
|
})).toBeVisible();
|
|
4443
4578
|
}
|
|
4579
|
+
async expectCurrentTaskCount(count) {
|
|
4580
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.active").count()).toBe(count);
|
|
4581
|
+
}
|
|
4582
|
+
async expectCompletedTaskCount(count) {
|
|
4583
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.completed").count()).toBe(count);
|
|
4584
|
+
}
|
|
4585
|
+
async expectFailedTaskCount(count) {
|
|
4586
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.failed").count()).toBe(count);
|
|
4587
|
+
}
|
|
4588
|
+
async expectFailingTaskCount(count) {
|
|
4589
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.failing").count()).toBe(count);
|
|
4590
|
+
}
|
|
4591
|
+
async expectSkippedTaskCount(count) {
|
|
4592
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseLocator.locator(".task.skipped").count()).toBe(count);
|
|
4593
|
+
}
|
|
4444
4594
|
}
|
|
4445
4595
|
class $9b9a8c3da392d020$var$RestartPhaseModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4446
4596
|
constructor(page){
|
|
@@ -6096,18 +6246,21 @@ class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$ex
|
|
|
6096
6246
|
await this.page.getByRole("button", {
|
|
6097
6247
|
name: "Today"
|
|
6098
6248
|
}).click();
|
|
6099
|
-
await
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
await this.page.locator(".tl-event-title").getByText(release_title).
|
|
6104
|
-
|
|
6105
|
-
|
|
6249
|
+
await (0, $kKeXs$playwrighttest.expect)(async ()=>{
|
|
6250
|
+
await this.page.locator(".tl-event-title").getByText(release_title).scrollIntoViewIfNeeded({
|
|
6251
|
+
timeout: 1000
|
|
6252
|
+
});
|
|
6253
|
+
await this.page.locator(".tl-event-title").getByText(release_title).click({
|
|
6254
|
+
timeout: 1000
|
|
6255
|
+
});
|
|
6256
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release-modal-container .xl-icon.release-icon")).toBeVisible({
|
|
6257
|
+
timeout: 1000
|
|
6258
|
+
});
|
|
6259
|
+
}).toPass();
|
|
6106
6260
|
await this.page.locator(".release-modal-container").locator(".xl-icon.release-icon").click();
|
|
6107
6261
|
const releaseurl = `/#/releases/${release_id}`;
|
|
6108
|
-
const currentURL = await this.page.url();
|
|
6109
6262
|
// Check if the release name present in redirected URL
|
|
6110
|
-
(0, $kKeXs$playwrighttest.expect)(
|
|
6263
|
+
(0, $kKeXs$playwrighttest.expect)(this.page.url()).toContain(releaseurl);
|
|
6111
6264
|
}
|
|
6112
6265
|
async viewDependency(source_release, dest_release) {
|
|
6113
6266
|
const source_text = source_release + "dependencies";
|
|
@@ -6168,12 +6321,12 @@ class $a6a3c1345fc4767e$export$b6fbc3e67030138f extends (0, $f8721861c660dd88$ex
|
|
|
6168
6321
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release-status")).toContainText(status);
|
|
6169
6322
|
}
|
|
6170
6323
|
async expectReleaseGroupDisplayed(title) {
|
|
6171
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(title, {
|
|
6324
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".row").getByText(title, {
|
|
6172
6325
|
exact: true
|
|
6173
6326
|
})).toBeVisible();
|
|
6174
6327
|
}
|
|
6175
6328
|
async expectReleaseGroupNotDisplayed(title) {
|
|
6176
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(title, {
|
|
6329
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".row").getByText(title, {
|
|
6177
6330
|
exact: true
|
|
6178
6331
|
})).not.toBeVisible();
|
|
6179
6332
|
}
|
|
@@ -6674,6 +6827,7 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
|
|
|
6674
6827
|
await this.page.locator(`.row.task-inner`, {
|
|
6675
6828
|
hasText: taskName
|
|
6676
6829
|
}).getByText(taskName).click();
|
|
6830
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
6677
6831
|
}
|
|
6678
6832
|
async filterTaskByTitle(taskname) {
|
|
6679
6833
|
await this.page.locator(".searchFilter").click();
|
|
@@ -6864,6 +7018,7 @@ class $ed2d4739e27d43c1$var$GridView extends (0, $f8721861c660dd88$export$2b65d1
|
|
|
6864
7018
|
await this.page.locator(`[data-test-id="${taskId}"] .title`).filter({
|
|
6865
7019
|
hasText: taskTitle
|
|
6866
7020
|
}).click();
|
|
7021
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
6867
7022
|
return this.taskDrawer;
|
|
6868
7023
|
}
|
|
6869
7024
|
async openContextualMenu(taskId) {
|
|
@@ -7110,18 +7265,21 @@ class $959d38250779aa22$export$8c8e7207254accc2 extends (0, $f8721861c660dd88$ex
|
|
|
7110
7265
|
await this.page.getByText(taskName, {
|
|
7111
7266
|
exact: true
|
|
7112
7267
|
}).click();
|
|
7268
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
7113
7269
|
return this.taskDrawer;
|
|
7114
7270
|
}
|
|
7115
7271
|
async openTaskDrawerFromTableView(taskName) {
|
|
7116
7272
|
await this.page.locator(".name-cell-title").getByText(taskName, {
|
|
7117
7273
|
exact: true
|
|
7118
7274
|
}).click();
|
|
7275
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
7119
7276
|
return this.taskDrawer;
|
|
7120
7277
|
}
|
|
7121
7278
|
async openTaskDrawerFromGrantt(taskName) {
|
|
7122
7279
|
await this.page.locator(".gantt_tree_content").getByText(taskName, {
|
|
7123
7280
|
exact: true
|
|
7124
7281
|
}).dblclick();
|
|
7282
|
+
await this.taskDrawer.waitForTaskDrawer();
|
|
7125
7283
|
return this.taskDrawer;
|
|
7126
7284
|
}
|
|
7127
7285
|
async openProperties() {
|
|
@@ -9310,6 +9468,9 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
9310
9468
|
deleteFolder(folderId) {
|
|
9311
9469
|
return this.doDelete(`api/v1/folders/${folderId}`);
|
|
9312
9470
|
}
|
|
9471
|
+
deleteGlobalVariables() {
|
|
9472
|
+
return this.doDelete("fixtures/globalVariables");
|
|
9473
|
+
}
|
|
9313
9474
|
activityLogs(id, logs) {
|
|
9314
9475
|
return this.doPost(`fixtures/activityLogs/${id}`, logs);
|
|
9315
9476
|
}
|
|
@@ -9361,6 +9522,8 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
9361
9522
|
for (const releaseId of this.releaseIds.reverse())await this.deleteRelease(releaseId);
|
|
9362
9523
|
for (const confId of this.configurationIds)await this.deleteConfiguration(confId);
|
|
9363
9524
|
for (const folderId of this.folderIds.reverse())await this.deleteFolder(folderId);
|
|
9525
|
+
await this.deleteGlobalVariables();
|
|
9526
|
+
this.globalVariableIds = [];
|
|
9364
9527
|
this.folderIds = [];
|
|
9365
9528
|
this.releaseIds = [];
|
|
9366
9529
|
this.triggerIds = [];
|