@digital-ai/devops-page-object-release 0.0.17 → 0.0.19
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 +19 -0
- package/dist/main.js +755 -60
- package/dist/main.js.map +1 -1
- package/dist/module.js +755 -60
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +157 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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
|
|
|
@@ -1330,18 +1342,12 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
|
|
|
1330
1342
|
}
|
|
1331
1343
|
async expectDependencyText(dependencies) {
|
|
1332
1344
|
await (0, $kKeXs$playwrighttest.expect)(this.railLocator.locator(".gate-task-dependencies")).toBeVisible();
|
|
1333
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.
|
|
1334
|
-
name: dependencies,
|
|
1335
|
-
exact: true
|
|
1336
|
-
}).first()).toBeVisible();
|
|
1345
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.gate-task-dependencies`).getByLabel(dependencies).first()).toBeVisible();
|
|
1337
1346
|
}
|
|
1338
1347
|
async clickEditDependency(dependencies) {
|
|
1339
1348
|
const depOptionsIcon = this.page.locator(".dependency").filter({
|
|
1340
|
-
has: this.page.
|
|
1341
|
-
|
|
1342
|
-
exact: true
|
|
1343
|
-
})
|
|
1344
|
-
}).locator(".icon-options");
|
|
1349
|
+
has: this.page.getByLabel(dependencies)
|
|
1350
|
+
}).first().locator(".actions");
|
|
1345
1351
|
await depOptionsIcon.isVisible();
|
|
1346
1352
|
await depOptionsIcon.click();
|
|
1347
1353
|
const frame = this.page.getByTestId("undefined-menu");
|
|
@@ -1396,12 +1402,18 @@ class $eb81c1b930e440ff$export$fbbf45eff21470e3 extends (0, $f8721861c660dd88$ex
|
|
|
1396
1402
|
async setPhase(phaseTitle) {
|
|
1397
1403
|
await this.phase.click();
|
|
1398
1404
|
await this.phase.fill("");
|
|
1399
|
-
await this.page.getByRole("option", {
|
|
1405
|
+
const count = await this.page.getByRole("option", {
|
|
1400
1406
|
name: phaseTitle
|
|
1401
|
-
}).
|
|
1402
|
-
await this.page.getByRole("option", {
|
|
1407
|
+
}).count();
|
|
1408
|
+
if (count > 0) await this.page.getByRole("option", {
|
|
1403
1409
|
name: phaseTitle
|
|
1404
1410
|
}).click();
|
|
1411
|
+
else {
|
|
1412
|
+
await this.page.locator(".phase-dependency").getByLabel("Open").click();
|
|
1413
|
+
await this.page.getByRole("option", {
|
|
1414
|
+
name: phaseTitle
|
|
1415
|
+
}).click();
|
|
1416
|
+
}
|
|
1405
1417
|
}
|
|
1406
1418
|
async setTask(taskTitle) {
|
|
1407
1419
|
await this.task.click();
|
|
@@ -1529,6 +1541,9 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
1529
1541
|
name: "arrow-down icon",
|
|
1530
1542
|
exact: true
|
|
1531
1543
|
});
|
|
1544
|
+
this.completeButton = this.page.getByRole("button", {
|
|
1545
|
+
name: "Complete"
|
|
1546
|
+
});
|
|
1532
1547
|
}
|
|
1533
1548
|
async openOverviewRail() {
|
|
1534
1549
|
await this.openRail("Overview");
|
|
@@ -1575,6 +1590,11 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
1575
1590
|
await this.commentBox.fill(comment);
|
|
1576
1591
|
await this.confirm.click();
|
|
1577
1592
|
}
|
|
1593
|
+
async completeTask(comment) {
|
|
1594
|
+
await this.completeButton.click();
|
|
1595
|
+
await this.commentBox.fill(comment);
|
|
1596
|
+
await this.confirm.click();
|
|
1597
|
+
}
|
|
1578
1598
|
async expectTaskTitle(taskTitle) {
|
|
1579
1599
|
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".task-drawer .task-title-input .dot-view-mode-typography").innerText()).toContain(taskTitle);
|
|
1580
1600
|
}
|
|
@@ -1602,6 +1622,42 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
1602
1622
|
name: username
|
|
1603
1623
|
})).toBeVisible();
|
|
1604
1624
|
}
|
|
1625
|
+
async expectStartNowButtonToBeVisible() {
|
|
1626
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("single-action-button")).toBeVisible();
|
|
1627
|
+
}
|
|
1628
|
+
async startNow(comment) {
|
|
1629
|
+
await this.page.getByTestId("single-action-button").click();
|
|
1630
|
+
await this.page.getByTestId("task-action-comment").fill(comment);
|
|
1631
|
+
await this.page.getByTestId("dot-button").click();
|
|
1632
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("single-action-button")).not.toBeVisible();
|
|
1633
|
+
}
|
|
1634
|
+
async expectCommentsToContain(text) {
|
|
1635
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-comment-body .markdown-wrapper p")).toContainText(text);
|
|
1636
|
+
}
|
|
1637
|
+
async switchWaitForScheduledDate() {
|
|
1638
|
+
await this.page.locator(".wait-for-start input").click();
|
|
1639
|
+
}
|
|
1640
|
+
async expectWaitForScheduledDateToBeChecked() {
|
|
1641
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".wait-for-start input")).toBeChecked();
|
|
1642
|
+
}
|
|
1643
|
+
async expectWaitForScheduledDateToBeUnchecked() {
|
|
1644
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".wait-for-start input")).not.toBeChecked();
|
|
1645
|
+
}
|
|
1646
|
+
// Other locators are flaky and it can be replaced if we get locator change in the frontend
|
|
1647
|
+
async clickOnStartDate() {
|
|
1648
|
+
await this.page.getByTestId("month-and-year").first().click();
|
|
1649
|
+
}
|
|
1650
|
+
async removeStartDate() {
|
|
1651
|
+
await this.page.getByRole("button", {
|
|
1652
|
+
name: "Set by user"
|
|
1653
|
+
}).locator(".MuiChip-deleteIcon").click();
|
|
1654
|
+
}
|
|
1655
|
+
async setStartDate(date) {
|
|
1656
|
+
await this.clickOnStartDate();
|
|
1657
|
+
await this.page.locator(".MuiPickersDay-root", {
|
|
1658
|
+
hasText: date
|
|
1659
|
+
}).click();
|
|
1660
|
+
}
|
|
1605
1661
|
async assignToMe(userName, existingUsername) {
|
|
1606
1662
|
await this.page.getByRole("button", {
|
|
1607
1663
|
name: existingUsername
|
|
@@ -1857,6 +1913,49 @@ class $880df57ffbf6e614$export$9b575f14aa5e09a1 extends (0, $f8721861c660dd88$ex
|
|
|
1857
1913
|
const value = await input.inputValue();
|
|
1858
1914
|
(0, $kKeXs$playwrighttest.expect)(value).toBe(formattedDate);
|
|
1859
1915
|
}
|
|
1916
|
+
/**
|
|
1917
|
+
*
|
|
1918
|
+
* @returns Getting current month and year in the format "MonthName YYYY"
|
|
1919
|
+
*/ async getCurrentMonthYear() {
|
|
1920
|
+
const monthNames = [
|
|
1921
|
+
"January",
|
|
1922
|
+
"February",
|
|
1923
|
+
"March",
|
|
1924
|
+
"April",
|
|
1925
|
+
"May",
|
|
1926
|
+
"June",
|
|
1927
|
+
"July",
|
|
1928
|
+
"August",
|
|
1929
|
+
"September",
|
|
1930
|
+
"October",
|
|
1931
|
+
"November",
|
|
1932
|
+
"December"
|
|
1933
|
+
];
|
|
1934
|
+
const d = new Date();
|
|
1935
|
+
const month = monthNames[d.getMonth()];
|
|
1936
|
+
const year = d.getFullYear();
|
|
1937
|
+
return `${month} ${year}`;
|
|
1938
|
+
}
|
|
1939
|
+
/**
|
|
1940
|
+
*
|
|
1941
|
+
* @returns Getting current date in the format "dd MonthName YYYY"
|
|
1942
|
+
*/ async getCurrentDate() {
|
|
1943
|
+
const d = new Date();
|
|
1944
|
+
const date = d.getDate();
|
|
1945
|
+
const monthYear = await this.getCurrentMonthYear();
|
|
1946
|
+
return `${date} ${monthYear}`;
|
|
1947
|
+
}
|
|
1948
|
+
/**
|
|
1949
|
+
*
|
|
1950
|
+
* @param days Number of days to add to current date within the current month
|
|
1951
|
+
* @returns
|
|
1952
|
+
*/ async getFutureDate(days) {
|
|
1953
|
+
const d = new Date();
|
|
1954
|
+
d.setDate(d.getDate() + days);
|
|
1955
|
+
const date = d.getDate();
|
|
1956
|
+
const monthYear = await this.getCurrentMonthYear();
|
|
1957
|
+
return `${date} ${monthYear}`;
|
|
1958
|
+
}
|
|
1860
1959
|
}
|
|
1861
1960
|
|
|
1862
1961
|
|
|
@@ -1889,11 +1988,56 @@ class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$ex
|
|
|
1889
1988
|
async openSideNavMenu(menuItem) {
|
|
1890
1989
|
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
1891
1990
|
exact: true
|
|
1991
|
+
}).scrollIntoViewIfNeeded();
|
|
1992
|
+
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
1993
|
+
exact: true
|
|
1994
|
+
}).click();
|
|
1995
|
+
}
|
|
1996
|
+
async openNestedMenuItem(nestedMenuItem) {
|
|
1997
|
+
await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
|
|
1998
|
+
exact: true
|
|
1999
|
+
}).scrollIntoViewIfNeeded();
|
|
2000
|
+
await this.page.locator(".MuiList-root li").getByText(nestedMenuItem, {
|
|
2001
|
+
exact: true
|
|
1892
2002
|
}).click();
|
|
1893
2003
|
}
|
|
1894
2004
|
async clickCloseIcon() {
|
|
1895
2005
|
await this.closeIcon.click();
|
|
1896
2006
|
}
|
|
2007
|
+
async clickOnStatusField() {
|
|
2008
|
+
await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
|
|
2009
|
+
}
|
|
2010
|
+
async clickOnStatus(statusNames) {
|
|
2011
|
+
await this.clickOnStatusClearAll();
|
|
2012
|
+
await this.clickOnStatusField();
|
|
2013
|
+
for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
|
|
2014
|
+
// Clicking outside to close the grid dropdown
|
|
2015
|
+
await this.page.getByText("Status").click();
|
|
2016
|
+
}
|
|
2017
|
+
async clickOnStatusClearAll() {
|
|
2018
|
+
await this.clickOnStatusField();
|
|
2019
|
+
await this.page.locator("a.xl-react-link", {
|
|
2020
|
+
hasText: "Clear all"
|
|
2021
|
+
}).click();
|
|
2022
|
+
await this.page.getByText("Status").click();
|
|
2023
|
+
}
|
|
2024
|
+
async clickOnStatusSelectAll() {
|
|
2025
|
+
await this.clickOnStatusField();
|
|
2026
|
+
await this.page.locator("a.xl-react-link", {
|
|
2027
|
+
hasText: "Select all"
|
|
2028
|
+
}).click();
|
|
2029
|
+
await this.page.getByText("Status").click();
|
|
2030
|
+
}
|
|
2031
|
+
async setOrderBy(orderBy) {
|
|
2032
|
+
await this.page.locator(".order-by-filter .btn:first-child").click();
|
|
2033
|
+
await this.page.locator(`.order-by-filter .bootstrap-link:has-text('${orderBy}')`).click();
|
|
2034
|
+
}
|
|
2035
|
+
async setSearchFilter(filterText) {
|
|
2036
|
+
await this.page.locator(".searchFilter").fill(filterText);
|
|
2037
|
+
}
|
|
2038
|
+
async clearSearchFilter() {
|
|
2039
|
+
await this.page.locator(".searchFilter").clear();
|
|
2040
|
+
}
|
|
1897
2041
|
}
|
|
1898
2042
|
|
|
1899
2043
|
|
|
@@ -1948,6 +2092,13 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
1948
2092
|
timeout: 10000
|
|
1949
2093
|
});
|
|
1950
2094
|
}
|
|
2095
|
+
async waitForTaskCompletedInAdvance(taskTitle) {
|
|
2096
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.completed_in_advance").getByText(taskTitle, {
|
|
2097
|
+
exact: true
|
|
2098
|
+
})).toBeVisible({
|
|
2099
|
+
timeout: 10000
|
|
2100
|
+
});
|
|
2101
|
+
}
|
|
1951
2102
|
async waitForTaskInProgress(taskTitle) {
|
|
1952
2103
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.in_progress").getByText(taskTitle, {
|
|
1953
2104
|
exact: true
|
|
@@ -1998,6 +2149,21 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
1998
2149
|
async waitForTaskPlanned(title) {
|
|
1999
2150
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible();
|
|
2000
2151
|
}
|
|
2152
|
+
async expectTaskCompletedInAdvance(taskTitle) {
|
|
2153
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-content .completed_in_advance .task-title").filter({
|
|
2154
|
+
hasText: taskTitle
|
|
2155
|
+
})).toBeVisible();
|
|
2156
|
+
}
|
|
2157
|
+
async expectTaskPending(taskTitle) {
|
|
2158
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.pending").getByText(taskTitle, {
|
|
2159
|
+
exact: true
|
|
2160
|
+
})).toBeVisible();
|
|
2161
|
+
}
|
|
2162
|
+
async expectCurrentTaskToContain(taskTitle) {
|
|
2163
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task.active .task-title").getByText(taskTitle, {
|
|
2164
|
+
exact: true
|
|
2165
|
+
})).toBeVisible();
|
|
2166
|
+
}
|
|
2001
2167
|
async openManualTaskDetails(title) {
|
|
2002
2168
|
await this.page.locator(`text=${title}`).click({
|
|
2003
2169
|
force: true
|
|
@@ -2175,6 +2341,7 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
2175
2341
|
});
|
|
2176
2342
|
this.commentBox = this.page.locator(`.input-block-level`);
|
|
2177
2343
|
this.confirm = this.page.getByTestId("dot-button");
|
|
2344
|
+
this.contextMenuButton = this.page.locator("#context-menu-container li");
|
|
2178
2345
|
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
2179
2346
|
}
|
|
2180
2347
|
async setTitle(title) {
|
|
@@ -2183,18 +2350,55 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
2183
2350
|
await this.phaseLocator.locator(".phase-header input").fill(title);
|
|
2184
2351
|
await this.phaseLocator.locator(".phase-header input").blur();
|
|
2185
2352
|
}
|
|
2353
|
+
async isMenuItemEnabled(menuName, taskTitle) {
|
|
2354
|
+
await this.openContextMenuForTask(taskTitle);
|
|
2355
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
2356
|
+
hasText: menuName
|
|
2357
|
+
})).not.toHaveClass(/disabled/);
|
|
2358
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
2359
|
+
hasText: menuName
|
|
2360
|
+
}).locator("a")).not.toBeDisabled();
|
|
2361
|
+
await this.closeContextMenu();
|
|
2362
|
+
}
|
|
2363
|
+
async isMenuItemDisabled(menuName, taskTitle) {
|
|
2364
|
+
await this.openContextMenuForTask(taskTitle);
|
|
2365
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
2366
|
+
hasText: menuName
|
|
2367
|
+
})).toHaveClass(/disabled/);
|
|
2368
|
+
await (0, $kKeXs$playwrighttest.expect)(this.contextMenuButton.filter({
|
|
2369
|
+
hasText: menuName
|
|
2370
|
+
}).locator("a")).toBeDisabled();
|
|
2371
|
+
await this.closeContextMenu();
|
|
2372
|
+
}
|
|
2373
|
+
async expectMenuItemIsNotVisible(menuName, taskTitle) {
|
|
2374
|
+
await this.openContextMenuForTask(taskTitle);
|
|
2375
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#context-menu-container li").filter({
|
|
2376
|
+
hasText: menuName
|
|
2377
|
+
})).not.toBeVisible();
|
|
2378
|
+
await this.closeContextMenu();
|
|
2379
|
+
}
|
|
2380
|
+
async expectMenuItemIsVisible(menuName, taskTitle) {
|
|
2381
|
+
await this.openContextMenuForTask(taskTitle);
|
|
2382
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#context-menu-container li").filter({
|
|
2383
|
+
hasText: menuName
|
|
2384
|
+
})).toBeVisible();
|
|
2385
|
+
await this.closeContextMenu();
|
|
2386
|
+
}
|
|
2387
|
+
async closeContextMenu() {
|
|
2388
|
+
await this.page.locator("#release-header").click();
|
|
2389
|
+
}
|
|
2186
2390
|
async expectTaskBorderWithColor(taskName, color) {
|
|
2187
2391
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task-box:has-text('${taskName}')`)).toHaveCSS("border-top-color", color);
|
|
2188
2392
|
}
|
|
2189
2393
|
async addTaskInPhase(taskTitle, taskGroup, taskType) {
|
|
2190
2394
|
await this.phaseLocator.getByText("Add task").click();
|
|
2191
|
-
await this.
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
await this.phaseLocator.getByPlaceholder("Start typing to filter task").fill(taskGroup);
|
|
2395
|
+
await this.page.locator("#task-selector").hover();
|
|
2396
|
+
await this.page.locator('button[aria-label="Clear"]').click();
|
|
2397
|
+
await this.page.locator("#task-selector").fill(taskGroup);
|
|
2195
2398
|
await this.page.getByTestId(taskType).click();
|
|
2196
|
-
await this.
|
|
2197
|
-
await this.
|
|
2399
|
+
await this.page.locator(".icon-close").click();
|
|
2400
|
+
await this.page.locator("#task-title").fill(taskTitle);
|
|
2401
|
+
await this.page.getByTestId("save-select-task-btn").click();
|
|
2198
2402
|
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
|
|
2199
2403
|
}
|
|
2200
2404
|
async getNumberOfTasks() {
|
|
@@ -2206,11 +2410,6 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
2206
2410
|
async expectToHaveTitle(phaseTitle) {
|
|
2207
2411
|
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.locator(".phase-title")).toContainText(phaseTitle);
|
|
2208
2412
|
}
|
|
2209
|
-
async expectTemplateLabelNotToBePresent() {
|
|
2210
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".dot-chip").filter({
|
|
2211
|
-
hasText: "TEMPLATE"
|
|
2212
|
-
})).not.toBeVisible();
|
|
2213
|
-
}
|
|
2214
2413
|
async openContextMenuForTask(taskTitle) {
|
|
2215
2414
|
await this.phaseLocator.locator(".task").filter({
|
|
2216
2415
|
hasText: taskTitle
|
|
@@ -2225,6 +2424,11 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
2225
2424
|
exact: true
|
|
2226
2425
|
}).click();
|
|
2227
2426
|
}
|
|
2427
|
+
async expectTemplateLabelNotToBePresent() {
|
|
2428
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".dot-chip").filter({
|
|
2429
|
+
hasText: "TEMPLATE"
|
|
2430
|
+
})).not.toBeVisible();
|
|
2431
|
+
}
|
|
2228
2432
|
async openPhaseDetails() {
|
|
2229
2433
|
await this.phaseLocator.locator(".phase-details").click();
|
|
2230
2434
|
}
|
|
@@ -2350,6 +2554,204 @@ class $ce55a4fc3c0aa96a$export$e40b5d3c74b04c89 {
|
|
|
2350
2554
|
|
|
2351
2555
|
|
|
2352
2556
|
|
|
2557
|
+
class $b2d8d8d82fc8146c$export$eace2be4de1d3377 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2558
|
+
constructor(page){
|
|
2559
|
+
super(page);
|
|
2560
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
2561
|
+
this.addName = page.locator('.xl-react-components input[placeholder="Add..."]');
|
|
2562
|
+
this.addDescription = page.getByPlaceholder("Set description...");
|
|
2563
|
+
this.searchForDelivery = page.getByPlaceholder("Search for deliveries...", {
|
|
2564
|
+
exact: true
|
|
2565
|
+
});
|
|
2566
|
+
}
|
|
2567
|
+
async filterDeliveryByName(deliveryName) {
|
|
2568
|
+
await this.searchForDelivery.click();
|
|
2569
|
+
await this.searchForDelivery.clear();
|
|
2570
|
+
await this.searchForDelivery.fill(deliveryName);
|
|
2571
|
+
await this.searchForDelivery.press("Enter");
|
|
2572
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("xlr-delivery-row").filter({
|
|
2573
|
+
hasText: deliveryName
|
|
2574
|
+
}).getByRole("link").first()).toBeVisible();
|
|
2575
|
+
}
|
|
2576
|
+
async editDelivery(deliveryName, newDeliveryName) {
|
|
2577
|
+
await this.page.locator("xlr-delivery-row").filter({
|
|
2578
|
+
hasText: deliveryName
|
|
2579
|
+
}).locator(".fc-list-item-actions .edit-icon").click();
|
|
2580
|
+
await this.util.openSideNavMenu("Properties");
|
|
2581
|
+
await this.addName.click();
|
|
2582
|
+
await this.addName.clear();
|
|
2583
|
+
await this.addName.fill(newDeliveryName);
|
|
2584
|
+
await this.page.getByRole("button", {
|
|
2585
|
+
name: "Save"
|
|
2586
|
+
}).click();
|
|
2587
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
|
|
2588
|
+
}
|
|
2589
|
+
async deleteDelivery(deliveryName) {
|
|
2590
|
+
await this.page.locator("xlr-delivery-row").filter({
|
|
2591
|
+
hasText: deliveryName
|
|
2592
|
+
}).locator(".fc-list-item-actions .delete-icon").click();
|
|
2593
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Delete release delivery", {
|
|
2594
|
+
exact: true
|
|
2595
|
+
})).toBeVisible();
|
|
2596
|
+
await this.page.getByRole("button", {
|
|
2597
|
+
name: "Delete"
|
|
2598
|
+
}).click();
|
|
2599
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
2600
|
+
hasText: "Deleted release delivery successfully"
|
|
2601
|
+
})).toBeVisible();
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
|
|
2605
|
+
|
|
2606
|
+
|
|
2607
|
+
|
|
2608
|
+
|
|
2609
|
+
|
|
2610
|
+
class $0767ec703ce1f9a5$export$572f40d328c1d028 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2611
|
+
constructor(page){
|
|
2612
|
+
super(page);
|
|
2613
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
2614
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
2615
|
+
this.newReleaseGroupButton = page.getByTestId("dot-button");
|
|
2616
|
+
this.dateMonth = new Date();
|
|
2617
|
+
}
|
|
2618
|
+
async createGroup(groupName, startDate, endDate) {
|
|
2619
|
+
await this.newReleaseGroupButton.click();
|
|
2620
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Create new release group")).toBeVisible();
|
|
2621
|
+
await this.enterGroupName(groupName);
|
|
2622
|
+
const monthYear = await this.dateUtil.getCurrentMonthYear();
|
|
2623
|
+
if (startDate) await this.enterStartDate(startDate, monthYear);
|
|
2624
|
+
if (endDate) await this.enterEndDate(endDate, monthYear);
|
|
2625
|
+
await this.clickCreate();
|
|
2626
|
+
await this.expectSuccessMessageOnReleaseGroupCreation();
|
|
2627
|
+
}
|
|
2628
|
+
async addReleaseToGroup(releaseName) {
|
|
2629
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
|
|
2630
|
+
hasText: "Add release"
|
|
2631
|
+
})).toBeEnabled();
|
|
2632
|
+
await this.page.locator(".action-toolbar-actions button").filter({
|
|
2633
|
+
hasText: "Add release"
|
|
2634
|
+
}).click({
|
|
2635
|
+
force: true
|
|
2636
|
+
});
|
|
2637
|
+
await this.page.getByPlaceholder("Search for a release...").click();
|
|
2638
|
+
await this.page.getByPlaceholder("Search for a release...").fill(releaseName);
|
|
2639
|
+
await this.page.keyboard.press("Enter");
|
|
2640
|
+
await this.page.locator("release-list-modal-release-row").filter({
|
|
2641
|
+
hasText: releaseName
|
|
2642
|
+
}).getByRole("checkbox").check();
|
|
2643
|
+
await this.page.getByRole("button", {
|
|
2644
|
+
name: "Add"
|
|
2645
|
+
}).click();
|
|
2646
|
+
await this.expectSuccessMessageOnAddingReleaseToGroup();
|
|
2647
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
|
|
2648
|
+
name: releaseName
|
|
2649
|
+
})).toBeVisible();
|
|
2650
|
+
}
|
|
2651
|
+
async editReleaseGroupName(newGroupName) {
|
|
2652
|
+
await this.page.locator("#title").click();
|
|
2653
|
+
await this.page.locator("#title").clear();
|
|
2654
|
+
await this.page.locator("#title").fill(newGroupName);
|
|
2655
|
+
}
|
|
2656
|
+
async enterGroupName(groupName) {
|
|
2657
|
+
await this.page.locator("#title").click();
|
|
2658
|
+
await this.page.locator("#title").fill(groupName);
|
|
2659
|
+
}
|
|
2660
|
+
async enterStartDate(date, monthYear) {
|
|
2661
|
+
await this.page.locator(".form-group").filter({
|
|
2662
|
+
hasText: "start date"
|
|
2663
|
+
}).locator(".date input").click();
|
|
2664
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
2665
|
+
}
|
|
2666
|
+
async enterEndDate(date, monthYear) {
|
|
2667
|
+
await this.page.locator(".form-group").filter({
|
|
2668
|
+
hasText: "end date"
|
|
2669
|
+
}).locator(".date input").click();
|
|
2670
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
2671
|
+
}
|
|
2672
|
+
async clickCreate() {
|
|
2673
|
+
await this.page.getByRole("button", {
|
|
2674
|
+
name: "Create"
|
|
2675
|
+
}).click();
|
|
2676
|
+
}
|
|
2677
|
+
async expectSuccessMessageOnReleaseGroupCreation() {
|
|
2678
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("success")).toBeVisible();
|
|
2679
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
2680
|
+
hasText: "Created release group successfully"
|
|
2681
|
+
})).toBeVisible();
|
|
2682
|
+
}
|
|
2683
|
+
async expectSuccessMessageOnAddingReleaseToGroup() {
|
|
2684
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("success")).toBeVisible();
|
|
2685
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
2686
|
+
hasText: "Added release to release group successfully"
|
|
2687
|
+
})).toBeVisible();
|
|
2688
|
+
}
|
|
2689
|
+
async expectSuccessMessageOnUpdatingGroup() {
|
|
2690
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("success")).toBeVisible();
|
|
2691
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
2692
|
+
hasText: "Updated release group successfully"
|
|
2693
|
+
})).toBeVisible();
|
|
2694
|
+
}
|
|
2695
|
+
async searchReleaseGroupByTitle(title) {
|
|
2696
|
+
await this.page.getByPlaceholder("Search for groups...", {
|
|
2697
|
+
exact: true
|
|
2698
|
+
}).click();
|
|
2699
|
+
await this.page.getByPlaceholder("Search for groups...", {
|
|
2700
|
+
exact: true
|
|
2701
|
+
}).fill(title);
|
|
2702
|
+
await this.page.getByPlaceholder("Search for groups...", {
|
|
2703
|
+
exact: true
|
|
2704
|
+
}).press("Enter");
|
|
2705
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".fc-list-item-title")).toContainText(title);
|
|
2706
|
+
}
|
|
2707
|
+
async deleteReleaseGroup(title) {
|
|
2708
|
+
await this.page.locator(".fc-list-item-line").filter({
|
|
2709
|
+
hasText: title
|
|
2710
|
+
}).locator(".fc-item-delete").click();
|
|
2711
|
+
await this.page.getByRole("button", {
|
|
2712
|
+
name: "Delete"
|
|
2713
|
+
}).click();
|
|
2714
|
+
}
|
|
2715
|
+
async clickReleaseGroupEdit(title) {
|
|
2716
|
+
await this.page.locator(".fc-list-item-line").filter({
|
|
2717
|
+
hasText: title
|
|
2718
|
+
}).locator(".fc-item-update").click();
|
|
2719
|
+
}
|
|
2720
|
+
async clickSave() {
|
|
2721
|
+
await this.page.getByRole("button", {
|
|
2722
|
+
name: "Save"
|
|
2723
|
+
}).click();
|
|
2724
|
+
}
|
|
2725
|
+
async clickCancel() {
|
|
2726
|
+
await this.page.getByRole("button", {
|
|
2727
|
+
name: "Cancel"
|
|
2728
|
+
}).click();
|
|
2729
|
+
}
|
|
2730
|
+
async clickOnStatusField() {
|
|
2731
|
+
await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
|
|
2732
|
+
}
|
|
2733
|
+
async statusFilter(statusNames) {
|
|
2734
|
+
await this.clickOnStatusClearAll();
|
|
2735
|
+
await this.clickOnStatusField();
|
|
2736
|
+
for(let i = 0; i < statusNames.length; i++)await this.page.locator(`i.xl-icon.icon-s.checkbox[data='${statusNames[i]}']`).click();
|
|
2737
|
+
}
|
|
2738
|
+
async clickOnStatusClearAll() {
|
|
2739
|
+
await this.clickOnStatusField();
|
|
2740
|
+
await this.page.locator("a.xl-react-link", {
|
|
2741
|
+
hasText: "Clear all"
|
|
2742
|
+
}).click();
|
|
2743
|
+
}
|
|
2744
|
+
async clickOnStatusSelectAll() {
|
|
2745
|
+
await this.clickOnStatusField();
|
|
2746
|
+
await this.page.locator("a.xl-react-link", {
|
|
2747
|
+
hasText: "Select all"
|
|
2748
|
+
}).click();
|
|
2749
|
+
}
|
|
2750
|
+
}
|
|
2751
|
+
|
|
2752
|
+
|
|
2753
|
+
|
|
2754
|
+
|
|
2353
2755
|
|
|
2354
2756
|
class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2355
2757
|
constructor(page){
|
|
@@ -2395,12 +2797,14 @@ class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$ex
|
|
|
2395
2797
|
await this.clickNewDeliveryPattern();
|
|
2396
2798
|
await this.setPatternName(patternName);
|
|
2397
2799
|
await this.setPatternDescription(patternDescription);
|
|
2398
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("
|
|
2800
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
|
|
2399
2801
|
hasText: "Create"
|
|
2400
2802
|
})).toBeEnabled();
|
|
2401
|
-
await this.page.locator("
|
|
2803
|
+
await this.page.locator(".action-toolbar-actions button").filter({
|
|
2402
2804
|
hasText: "Create"
|
|
2403
|
-
}).
|
|
2805
|
+
}).click({
|
|
2806
|
+
force: true
|
|
2807
|
+
});
|
|
2404
2808
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Delivery flow")).toBeVisible();
|
|
2405
2809
|
}
|
|
2406
2810
|
async clickEditPatternIcon(patternName) {
|
|
@@ -2433,8 +2837,7 @@ class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$ex
|
|
|
2433
2837
|
}
|
|
2434
2838
|
async copyPattern(existingPatternName, NewPatternName) {
|
|
2435
2839
|
await this.clickCopyPatternIcon(existingPatternName);
|
|
2436
|
-
await this.page.locator(
|
|
2437
|
-
await this.page.locator(".confirmation-content .close-icon").click();
|
|
2840
|
+
await this.page.locator(".xl-icon.close-icon").first().click();
|
|
2438
2841
|
await this.addName.fill(NewPatternName);
|
|
2439
2842
|
await this.page.getByRole("button", {
|
|
2440
2843
|
name: "Continue"
|
|
@@ -2455,6 +2858,25 @@ class $ceb2e9e08e1837c2$export$9b9454a7f137e99b extends (0, $f8721861c660dd88$ex
|
|
|
2455
2858
|
hasText: patternName
|
|
2456
2859
|
})).not.toBeVisible();
|
|
2457
2860
|
}
|
|
2861
|
+
async createNewDelivery(deliveryName, deliveryDes, setAutoComplete) {
|
|
2862
|
+
await this.page.getByTestId("dot-button").click();
|
|
2863
|
+
await this.addName.fill(deliveryName);
|
|
2864
|
+
await this.addDescription.click();
|
|
2865
|
+
if (deliveryDes) await this.addDescription.fill(deliveryDes);
|
|
2866
|
+
else await this.addDescription.fill("Description");
|
|
2867
|
+
if (setAutoComplete) await this.page.getByRole("checkbox").check();
|
|
2868
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".action-toolbar-actions button").filter({
|
|
2869
|
+
hasText: "Create"
|
|
2870
|
+
})).toBeEnabled();
|
|
2871
|
+
await this.page.locator(".action-toolbar-actions button").filter({
|
|
2872
|
+
hasText: "Create"
|
|
2873
|
+
}).click({
|
|
2874
|
+
force: true
|
|
2875
|
+
});
|
|
2876
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
|
|
2877
|
+
name: `${deliveryName}`
|
|
2878
|
+
})).toBeVisible();
|
|
2879
|
+
}
|
|
2458
2880
|
}
|
|
2459
2881
|
class $ceb2e9e08e1837c2$var$Properties extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2460
2882
|
constructor(page){
|
|
@@ -2492,14 +2914,18 @@ class $ceb2e9e08e1837c2$var$Properties extends (0, $f8721861c660dd88$export$2b65
|
|
|
2492
2914
|
}
|
|
2493
2915
|
|
|
2494
2916
|
|
|
2917
|
+
|
|
2918
|
+
|
|
2495
2919
|
class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2496
2920
|
constructor(page){
|
|
2497
2921
|
super(page);
|
|
2498
|
-
this.
|
|
2499
|
-
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
2922
|
+
this.deliveryPage = new (0, $b2d8d8d82fc8146c$export$eace2be4de1d3377)(page);
|
|
2500
2923
|
this.expandButton = this.page.getByRole("button", {
|
|
2501
2924
|
name: " Expand"
|
|
2502
2925
|
});
|
|
2926
|
+
this.folderGroupsPage = new (0, $0767ec703ce1f9a5$export$572f40d328c1d028)(page);
|
|
2927
|
+
this.patternPage = new (0, $ceb2e9e08e1837c2$export$9b9454a7f137e99b)(page);
|
|
2928
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
2503
2929
|
}
|
|
2504
2930
|
async openFoldersPage() {
|
|
2505
2931
|
await this.page.goto("./#/folders");
|
|
@@ -2513,20 +2939,33 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2513
2939
|
return this;
|
|
2514
2940
|
}
|
|
2515
2941
|
async createFolder(folderName) {
|
|
2516
|
-
await this.page.
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
await this.page.
|
|
2942
|
+
await this.page.getByRole("button", {
|
|
2943
|
+
name: " Add folder"
|
|
2944
|
+
}).click();
|
|
2945
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Create a new folder in root")).toBeVisible();
|
|
2946
|
+
await this.page.getByRole("textbox").fill(folderName);
|
|
2947
|
+
await this.page.getByRole("button", {
|
|
2948
|
+
name: "Create"
|
|
2949
|
+
}).click();
|
|
2950
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
|
|
2951
|
+
name: folderName
|
|
2952
|
+
})).toBeVisible();
|
|
2520
2953
|
return this;
|
|
2521
2954
|
}
|
|
2522
2955
|
async openFolder(folderName) {
|
|
2523
|
-
await this.page.
|
|
2956
|
+
await this.page.getByTitle(folderName).waitFor({
|
|
2957
|
+
timeout: 500
|
|
2958
|
+
});
|
|
2959
|
+
await this.page.getByTitle(folderName).click();
|
|
2960
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
|
|
2961
|
+
name: `${folderName}`
|
|
2962
|
+
})).toBeVisible();
|
|
2524
2963
|
return this;
|
|
2525
2964
|
}
|
|
2526
2965
|
async openGroups() {
|
|
2527
2966
|
await this.util.openSideNavMenu("Groups");
|
|
2528
2967
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Groups")).toBeVisible();
|
|
2529
|
-
return this;
|
|
2968
|
+
return this.folderGroupsPage;
|
|
2530
2969
|
}
|
|
2531
2970
|
async createGroup(groupName) {
|
|
2532
2971
|
await this.page.locator("//button[normalize-space()='New release group']").click();
|
|
@@ -2548,7 +2987,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2548
2987
|
return this;
|
|
2549
2988
|
}
|
|
2550
2989
|
async createSubFolder(parentFolder, subFolderName) {
|
|
2551
|
-
await this.
|
|
2990
|
+
await this.clickExpandButton();
|
|
2552
2991
|
await this.page.getByRole("link", {
|
|
2553
2992
|
name: parentFolder
|
|
2554
2993
|
}).hover();
|
|
@@ -2562,7 +3001,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2562
3001
|
})).toBeVisible();
|
|
2563
3002
|
}
|
|
2564
3003
|
async renameFolder(existingFolderName, newFolderName) {
|
|
2565
|
-
await this.
|
|
3004
|
+
await this.clickExpandButton();
|
|
2566
3005
|
await this.page.getByRole("link", {
|
|
2567
3006
|
name: existingFolderName
|
|
2568
3007
|
}).hover();
|
|
@@ -2575,7 +3014,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2575
3014
|
})).toBeVisible();
|
|
2576
3015
|
}
|
|
2577
3016
|
async deleteFolder(folderName) {
|
|
2578
|
-
await this.
|
|
3017
|
+
await this.clickExpandButton();
|
|
2579
3018
|
await this.page.getByRole("link", {
|
|
2580
3019
|
name: folderName
|
|
2581
3020
|
}).hover();
|
|
@@ -2601,7 +3040,8 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2601
3040
|
})).toBeVisible();
|
|
2602
3041
|
}
|
|
2603
3042
|
async openPatterns() {
|
|
2604
|
-
await this.util.openSideNavMenu("
|
|
3043
|
+
await this.util.openSideNavMenu("Deliveries");
|
|
3044
|
+
await this.util.openNestedMenuItem("Patterns");
|
|
2605
3045
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Patterns")).toBeVisible();
|
|
2606
3046
|
return this.patternPage;
|
|
2607
3047
|
}
|
|
@@ -2610,6 +3050,15 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
2610
3050
|
hasText: folderName
|
|
2611
3051
|
}).locator(`.xl-icon.${option}-icon`).click();
|
|
2612
3052
|
}
|
|
3053
|
+
async clickExpandButton() {
|
|
3054
|
+
if (await this.expandButton.isEnabled()) await this.expandButton.click();
|
|
3055
|
+
}
|
|
3056
|
+
async openDeliveriesOverview() {
|
|
3057
|
+
await this.util.openSideNavMenu("Deliveries");
|
|
3058
|
+
await this.util.openNestedMenuItem("Deliveries overview");
|
|
3059
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Deliveries")).toBeVisible();
|
|
3060
|
+
return this.deliveryPage;
|
|
3061
|
+
}
|
|
2613
3062
|
}
|
|
2614
3063
|
|
|
2615
3064
|
|
|
@@ -2759,6 +3208,143 @@ class $9ef669cf95557cb5$export$36d69433c4f81145 extends (0, $f8721861c660dd88$ex
|
|
|
2759
3208
|
|
|
2760
3209
|
|
|
2761
3210
|
|
|
3211
|
+
|
|
3212
|
+
class $00fc48341ebf7de4$export$2fb4351c41ce6e7a extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
3213
|
+
constructor(page){
|
|
3214
|
+
super(page);
|
|
3215
|
+
this.announcementIcon = this.page.getByLabel("Open Resource Center");
|
|
3216
|
+
this.settingsIcon = this.page.locator('i[aria-label="settings-admin-opaque icon"]');
|
|
3217
|
+
this.aboutMenu = this.page.getByText("About Digital.ai Release");
|
|
3218
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
3219
|
+
}
|
|
3220
|
+
async verifyVersionNumber(versionNumber) {
|
|
3221
|
+
const year = new Date().getFullYear();
|
|
3222
|
+
await this.settingsIcon.click();
|
|
3223
|
+
await this.aboutMenu.click();
|
|
3224
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Version " + versionNumber)).toBeVisible();
|
|
3225
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("img", {
|
|
3226
|
+
name: "Release"
|
|
3227
|
+
})).toBeVisible();
|
|
3228
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(`ⓒ ${year} Digital.ai Software,`)).toBeVisible();
|
|
3229
|
+
await this.util.clickCloseIcon();
|
|
3230
|
+
}
|
|
3231
|
+
async verifyProductAnnouncements() {
|
|
3232
|
+
await (0, $kKeXs$playwrighttest.expect)(this.announcementIcon).toBeVisible();
|
|
3233
|
+
await this.announcementIcon.click();
|
|
3234
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator("#pendo-guide-container").innerText()).toContain("Product updates");
|
|
3235
|
+
}
|
|
3236
|
+
async clickHelpIcon() {
|
|
3237
|
+
await this.page.getByTestId("right-side-nav").getByRole("button", {
|
|
3238
|
+
name: "Help"
|
|
3239
|
+
}).click();
|
|
3240
|
+
}
|
|
3241
|
+
async verifyOnlineDocumentation() {
|
|
3242
|
+
const versionNumber = await this.getVersionNumber();
|
|
3243
|
+
await this.clickHelpIcon();
|
|
3244
|
+
const page2Promise = this.page.waitForEvent("popup");
|
|
3245
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Online documentation")).toBeVisible();
|
|
3246
|
+
await this.page.getByText("Online documentation").click();
|
|
3247
|
+
const page2 = await page2Promise;
|
|
3248
|
+
(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");
|
|
3249
|
+
await this.page.bringToFront();
|
|
3250
|
+
}
|
|
3251
|
+
async verifySupportRequest() {
|
|
3252
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("menuitem", {
|
|
3253
|
+
name: "Submit a support request"
|
|
3254
|
+
})).toBeVisible();
|
|
3255
|
+
const page2Promise = this.page.waitForEvent("popup");
|
|
3256
|
+
await this.page.getByRole("menuitem", {
|
|
3257
|
+
name: "Submit a support request"
|
|
3258
|
+
}).click();
|
|
3259
|
+
const page2 = await page2Promise;
|
|
3260
|
+
(0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://support.digital.ai/hc/en-us/");
|
|
3261
|
+
await this.page.bringToFront();
|
|
3262
|
+
}
|
|
3263
|
+
async verifySuggestAFeature() {
|
|
3264
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Suggest a feature")).toBeVisible();
|
|
3265
|
+
const page2Promise = this.page.waitForEvent("popup");
|
|
3266
|
+
await this.page.getByText("Suggest a feature").click();
|
|
3267
|
+
const page2 = await page2Promise;
|
|
3268
|
+
(0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://ideas.digital.ai/devops");
|
|
3269
|
+
await this.page.bringToFront();
|
|
3270
|
+
}
|
|
3271
|
+
async verifyDigitalAiWebsite() {
|
|
3272
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Digital.ai website")).toBeVisible();
|
|
3273
|
+
const page2Promise = this.page.waitForEvent("popup");
|
|
3274
|
+
await this.page.getByText("Digital.ai website").click();
|
|
3275
|
+
const page2 = await page2Promise;
|
|
3276
|
+
(0, $kKeXs$playwrighttest.expect)(page2.url()).toContain("https://digital.ai/");
|
|
3277
|
+
await this.page.bringToFront();
|
|
3278
|
+
}
|
|
3279
|
+
async clickAvatarIcon(username) {
|
|
3280
|
+
await this.page.getByLabel(username, {
|
|
3281
|
+
exact: true
|
|
3282
|
+
}).click();
|
|
3283
|
+
}
|
|
3284
|
+
async verifyUser(userFullName) {
|
|
3285
|
+
await this.page.getByText(userFullName).click();
|
|
3286
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
|
|
3287
|
+
name: "Personal settings for admin"
|
|
3288
|
+
})).toBeVisible();
|
|
3289
|
+
}
|
|
3290
|
+
async clickAccessTokens() {
|
|
3291
|
+
await this.page.getByText("Access tokens").click();
|
|
3292
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Access tokens")).toBeVisible();
|
|
3293
|
+
}
|
|
3294
|
+
async getVersionNumber() {
|
|
3295
|
+
await this.settingsIcon.click();
|
|
3296
|
+
await this.aboutMenu.click();
|
|
3297
|
+
const versionNumber = await this.page.locator(".version-text").innerText();
|
|
3298
|
+
await this.util.clickCloseIcon();
|
|
3299
|
+
return versionNumber;
|
|
3300
|
+
}
|
|
3301
|
+
}
|
|
3302
|
+
|
|
3303
|
+
|
|
3304
|
+
|
|
3305
|
+
|
|
3306
|
+
|
|
3307
|
+
class $b4d98f757ef92467$export$7b434e00c788d0bf extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
3308
|
+
constructor(page){
|
|
3309
|
+
super(page);
|
|
3310
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
3311
|
+
}
|
|
3312
|
+
async openPluginGallery() {
|
|
3313
|
+
await this.util.openSideNavMenu("Plugin gallery");
|
|
3314
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
|
|
3315
|
+
}
|
|
3316
|
+
async openInstalledPlugins() {
|
|
3317
|
+
await this.util.openSideNavMenu("Installed plugins");
|
|
3318
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Installed plugins")).toBeVisible();
|
|
3319
|
+
}
|
|
3320
|
+
async searchForPlugins(searchText) {
|
|
3321
|
+
await this.page.getByPlaceholder("Search for plugin").fill(searchText);
|
|
3322
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".PluginTile__title-and-version___1HsNr span").count()).toBeGreaterThan(0);
|
|
3323
|
+
}
|
|
3324
|
+
async refreshPluginList() {
|
|
3325
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("plugin-refresh-btn")).toBeVisible();
|
|
3326
|
+
await this.page.getByTestId("plugin-refresh-btn").click();
|
|
3327
|
+
}
|
|
3328
|
+
async clickInstallNow(pluginName) {
|
|
3329
|
+
await this.page.locator("div").filter({
|
|
3330
|
+
hasText: "Install now" + pluginName
|
|
3331
|
+
}).getByRole("button").click();
|
|
3332
|
+
}
|
|
3333
|
+
async expectRestartInfo() {
|
|
3334
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("info")).toContainText("Restart Digital.ai Release to finish installing the plugin.");
|
|
3335
|
+
}
|
|
3336
|
+
async expectNewPluginInstallationInfo(pluginName) {
|
|
3337
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("New plugin installedPlugin")).toBeVisible();
|
|
3338
|
+
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");
|
|
3339
|
+
}
|
|
3340
|
+
async clickUpload() {
|
|
3341
|
+
await this.page.getByTestId("dot-button").click();
|
|
3342
|
+
}
|
|
3343
|
+
}
|
|
3344
|
+
|
|
3345
|
+
|
|
3346
|
+
|
|
3347
|
+
|
|
2762
3348
|
class $be4dd73206d8e76b$export$3cac5fd37ae64b91 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2763
3349
|
async openPersonalAccessTokenPage() {
|
|
2764
3350
|
// await this.page.locator("button.dot-avatar").click()
|
|
@@ -2779,6 +3365,61 @@ class $be4dd73206d8e76b$export$3cac5fd37ae64b91 extends (0, $f8721861c660dd88$ex
|
|
|
2779
3365
|
|
|
2780
3366
|
|
|
2781
3367
|
|
|
3368
|
+
class $010122e1d9b28b80$export$3cf9c90f870f31bd extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
3369
|
+
constructor(page){
|
|
3370
|
+
super(page);
|
|
3371
|
+
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
3372
|
+
}
|
|
3373
|
+
async openProfile() {
|
|
3374
|
+
await this.util.openSideNavMenu("Profile");
|
|
3375
|
+
}
|
|
3376
|
+
async openAccessToken() {
|
|
3377
|
+
await this.util.openSideNavMenu("Access tokens");
|
|
3378
|
+
}
|
|
3379
|
+
async editUserProfile(email) {
|
|
3380
|
+
await this.page.getByLabel("Email address").click();
|
|
3381
|
+
await this.page.getByLabel("Email address").fill(email);
|
|
3382
|
+
await this.page.getByTestId("dot-button").click();
|
|
3383
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".saved-text").textContent()).toContain("Last saved on ");
|
|
3384
|
+
}
|
|
3385
|
+
async generateNewAccessToken(tokenName, expiryOptions) {
|
|
3386
|
+
await this.page.getByRole("button", {
|
|
3387
|
+
name: "Generate token"
|
|
3388
|
+
}).click();
|
|
3389
|
+
await this.page.getByLabel("Token name").click();
|
|
3390
|
+
await this.page.getByLabel("Token name").fill(tokenName);
|
|
3391
|
+
await this.page.getByRole("textbox", {
|
|
3392
|
+
name: "Token expiration"
|
|
3393
|
+
}).getByLabel("Token expiration").selectOption(expiryOptions);
|
|
3394
|
+
await this.page.locator("label").filter({
|
|
3395
|
+
hasText: "Use all permissions"
|
|
3396
|
+
}).getByTestId("RadioButtonCheckedIcon").click();
|
|
3397
|
+
await this.page.getByRole("button", {
|
|
3398
|
+
name: "Generate",
|
|
3399
|
+
exact: true
|
|
3400
|
+
}).click();
|
|
3401
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("alert-button-tooltip").getByTestId("dot-button")).toBeVisible();
|
|
3402
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(tokenName)).toBeVisible();
|
|
3403
|
+
}
|
|
3404
|
+
async deleteAccessToken(tokenName) {
|
|
3405
|
+
await this.page.locator(".MuiTableRow-root").filter({
|
|
3406
|
+
hasText: tokenName
|
|
3407
|
+
}).getByTestId("button-icon-i").click();
|
|
3408
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
|
|
3409
|
+
name: "Delete token"
|
|
3410
|
+
})).toBeVisible();
|
|
3411
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Delete token")).toContainText("Delete token");
|
|
3412
|
+
await this.page.getByRole("button", {
|
|
3413
|
+
name: "delete icon Delete token"
|
|
3414
|
+
}).click();
|
|
3415
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(tokenName)).not.toBeVisible();
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3419
|
+
|
|
3420
|
+
|
|
3421
|
+
|
|
3422
|
+
|
|
2782
3423
|
|
|
2783
3424
|
class $bb5572a48b31014a$export$e2e2e1ffdce20c30 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2784
3425
|
constructor(page){
|
|
@@ -2885,6 +3526,7 @@ class $3ceab7c613cabfd6$export$107317390f5aa598 extends (0, $f8721861c660dd88$ex
|
|
|
2885
3526
|
|
|
2886
3527
|
|
|
2887
3528
|
|
|
3529
|
+
|
|
2888
3530
|
class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2889
3531
|
constructor(page){
|
|
2890
3532
|
super(page);
|
|
@@ -2905,6 +3547,7 @@ class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$ex
|
|
|
2905
3547
|
async openManagePlugin() {
|
|
2906
3548
|
await this.settingsIcon.click();
|
|
2907
3549
|
await this.managePluginMenu.click();
|
|
3550
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
|
|
2908
3551
|
}
|
|
2909
3552
|
}
|
|
2910
3553
|
|
|
@@ -2921,7 +3564,7 @@ class $a642d735048996f9$export$922081b54f2ab994 extends (0, $f8721861c660dd88$ex
|
|
|
2921
3564
|
|
|
2922
3565
|
class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2923
3566
|
async openReleaseCalendarPage() {
|
|
2924
|
-
await this.page.goto("./#/calendar");
|
|
3567
|
+
await this.page.goto("./#/releases/calendar");
|
|
2925
3568
|
//Define date format to verify different calendar views
|
|
2926
3569
|
const today = new Date();
|
|
2927
3570
|
let options = {
|
|
@@ -2939,7 +3582,7 @@ class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$ex
|
|
|
2939
3582
|
};
|
|
2940
3583
|
this.monthFormat = today.toLocaleDateString("en-US", options);
|
|
2941
3584
|
this.monthFormat = this.monthFormat.replace(/(\w+) (\d+)/, "$1, $2");
|
|
2942
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page
|
|
3585
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".tl-viewport")).toBeVisible();
|
|
2943
3586
|
return this;
|
|
2944
3587
|
}
|
|
2945
3588
|
async exportCalendar() {
|
|
@@ -3373,11 +4016,52 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
|
|
|
3373
4016
|
async clickOnAssigneeButton(title) {
|
|
3374
4017
|
await this.page.locator(`.btn-group-filter.btn-group button.btn.btn-flat[title="${title}"]`).click();
|
|
3375
4018
|
}
|
|
3376
|
-
async
|
|
4019
|
+
async clickOnAssignedToMe() {
|
|
4020
|
+
await this.page.locator(`button[title="Assigned to me"]`).click();
|
|
4021
|
+
}
|
|
4022
|
+
async clickOnAssignedToMyTeams() {
|
|
4023
|
+
await this.page.locator(`button[title="Assigned to my teams"]`).click();
|
|
4024
|
+
}
|
|
4025
|
+
async clickOnAssignedToAllAvailable() {
|
|
4026
|
+
await this.page.locator(`button[title="All available"]`).click();
|
|
4027
|
+
}
|
|
4028
|
+
async expectTaskToNotBeDisplayed(taskTitle) {
|
|
3377
4029
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.row.task-inner`).filter({
|
|
3378
4030
|
hasText: taskTitle
|
|
3379
4031
|
}).getByText(taskTitle)).toHaveCount(0);
|
|
3380
4032
|
}
|
|
4033
|
+
async expectTaskToBeDisplayed(taskTitle) {
|
|
4034
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.row.task-inner`).filter({
|
|
4035
|
+
hasText: taskTitle
|
|
4036
|
+
}).getByText(taskTitle)).toHaveCount(1);
|
|
4037
|
+
}
|
|
4038
|
+
async expectTasksToBeDisplayed(tasks) {
|
|
4039
|
+
for (const [taskTitle, shouldBeDisplayed] of Object.entries(tasks))if (shouldBeDisplayed) await this.expectTaskToBeDisplayed(taskTitle);
|
|
4040
|
+
else await this.expectTaskToNotBeDisplayed(taskTitle);
|
|
4041
|
+
}
|
|
4042
|
+
async expectTasksDisplayedInOrder(expectedTasks) {
|
|
4043
|
+
for (const task of expectedTasks){
|
|
4044
|
+
const taskElement = await this.page.locator(`[data-release-title='${task.releaseTitle}'] .row .task`).nth(task.taskPosition);
|
|
4045
|
+
await (0, $kKeXs$playwrighttest.expect)(taskElement).toHaveAttribute("data-task-title", task.taskTitle);
|
|
4046
|
+
}
|
|
4047
|
+
}
|
|
4048
|
+
async setOrderBy(orderBy) {
|
|
4049
|
+
await this.page.locator(".order-selector .btn:first-child").click();
|
|
4050
|
+
await this.page.locator(`.order-selector .bootstrap-link:has-text('${orderBy}')`).click();
|
|
4051
|
+
}
|
|
4052
|
+
async expectTaskCountForRelease(releaseTitle, expectedCount) {
|
|
4053
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#tasks-content #task-list-grouped-view div:has-text('${releaseTitle}') .task`)).toHaveCount(expectedCount);
|
|
4054
|
+
}
|
|
4055
|
+
async setSearchFilter(filterText) {
|
|
4056
|
+
await this.page.locator(".searchFilter").fill(filterText);
|
|
4057
|
+
}
|
|
4058
|
+
async clearSearchFilter() {
|
|
4059
|
+
await this.page.locator(".searchFilter").clear();
|
|
4060
|
+
}
|
|
4061
|
+
async setTagsFilter(filterText) {
|
|
4062
|
+
await this.page.locator(".tag-input").fill(filterText);
|
|
4063
|
+
await this.page.locator(".tag-input").press("Enter");
|
|
4064
|
+
}
|
|
3381
4065
|
async clickOnStatusField() {
|
|
3382
4066
|
await this.page.locator(".ci-filter-status.ng-isolate-scope").click();
|
|
3383
4067
|
}
|
|
@@ -3767,13 +4451,13 @@ class $959d38250779aa22$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
3767
4451
|
* @param taskTypeSelector : Selector of the task
|
|
3768
4452
|
*/ async addTaskInPhase(taskTitle, taskGroup, taskType) {
|
|
3769
4453
|
await this.phaseLocator.getByText("Add task").click();
|
|
3770
|
-
await this.
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
await this.phaseLocator.getByPlaceholder("Start typing to filter task").fill(taskGroup);
|
|
4454
|
+
await this.page.locator("#task-selector").hover();
|
|
4455
|
+
await this.page.locator('button[aria-label="Clear"]').click();
|
|
4456
|
+
await this.page.locator("#task-selector").fill(taskGroup);
|
|
3774
4457
|
await this.page.getByTestId(taskType).click();
|
|
3775
|
-
await this.
|
|
3776
|
-
await this.
|
|
4458
|
+
await this.page.locator(".icon-close").click();
|
|
4459
|
+
await this.page.locator("#task-title").fill(taskTitle);
|
|
4460
|
+
await this.page.getByTestId("save-select-task-btn").click();
|
|
3777
4461
|
await (0, $kKeXs$playwrighttest.expect)(this.phaseLocator.getByText(taskTitle)).toBeVisible();
|
|
3778
4462
|
}
|
|
3779
4463
|
async getNumberOfTasks() {
|
|
@@ -3846,16 +4530,16 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
|
|
|
3846
4530
|
await this.page.getByRole("button", {
|
|
3847
4531
|
name: "Continue"
|
|
3848
4532
|
}).click();
|
|
3849
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.
|
|
3850
|
-
hasText: "TEMPLATE"
|
|
3851
|
-
})).toBeVisible();
|
|
4533
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("template-workflow-pill").getByText("Template")).toBeVisible();
|
|
3852
4534
|
}
|
|
3853
4535
|
async move(templateName, targetFolder) {
|
|
3854
|
-
await this.page.locator(".
|
|
4536
|
+
await this.page.locator(".template").filter({
|
|
3855
4537
|
hasText: templateName
|
|
3856
|
-
}).locator(".move").click();
|
|
4538
|
+
}).locator(".template-actions .move").click();
|
|
3857
4539
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Move template to")).toBeVisible();
|
|
3858
|
-
await this.page.getByRole("button", {
|
|
4540
|
+
if (await this.page.getByRole("button", {
|
|
4541
|
+
name: "Expand"
|
|
4542
|
+
}).isEnabled()) await this.page.getByRole("button", {
|
|
3859
4543
|
name: "Expand"
|
|
3860
4544
|
}).click();
|
|
3861
4545
|
await this.page.getByPlaceholder("Search folder...").click();
|
|
@@ -3962,9 +4646,13 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
|
|
|
3962
4646
|
class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
3963
4647
|
constructor(page){
|
|
3964
4648
|
this.page = page;
|
|
4649
|
+
this.dataRandomGenerator = new (0, $ce55a4fc3c0aa96a$export$e40b5d3c74b04c89)();
|
|
4650
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
3965
4651
|
this.folderPage = new (0, $9058d40a81bdb1f5$export$b453f08936c58edb)(page);
|
|
3966
4652
|
this.globalvariable = new (0, $506d511737b3ea46$export$74ca1eaaa9a0054)(page);
|
|
3967
4653
|
this.homePage = new (0, $9ef669cf95557cb5$export$36d69433c4f81145)(page);
|
|
4654
|
+
this.header = new (0, $00fc48341ebf7de4$export$2fb4351c41ce6e7a)(page);
|
|
4655
|
+
this.managePluginsPage = new (0, $b4d98f757ef92467$export$7b434e00c788d0bf)(page);
|
|
3968
4656
|
this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
|
|
3969
4657
|
this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
|
|
3970
4658
|
this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
|
|
@@ -3973,7 +4661,7 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
|
3973
4661
|
this.taskListPage = new (0, $ed2d4739e27d43c1$export$60c3bfa6385e2a10)(page);
|
|
3974
4662
|
this.templatePage = new (0, $959d38250779aa22$export$8c8e7207254accc2)(page);
|
|
3975
4663
|
this.templateListPage = new (0, $8b6ce149dd48e48b$export$7e1d435fa474ee21)(page);
|
|
3976
|
-
this.
|
|
4664
|
+
this.personalSettingsPage = new (0, $010122e1d9b28b80$export$3cf9c90f870f31bd)(page);
|
|
3977
4665
|
this.releaseCalendarPage = new (0, $a8855257f8bb2b12$export$43682cddead1dd78)(page);
|
|
3978
4666
|
this.releaseGroupPage = new (0, $a6a3c1345fc4767e$export$b6fbc3e67030138f)(page);
|
|
3979
4667
|
this.releaseGroupTimelinePage = new (0, $3fad6a9449b6416f$export$1a0994e9c202d529)(page);
|
|
@@ -4079,12 +4767,12 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
|
4079
4767
|
return new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(this.page);
|
|
4080
4768
|
}
|
|
4081
4769
|
async collapseSideView() {
|
|
4082
|
-
await this.page.
|
|
4083
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.
|
|
4770
|
+
await this.page.getByLabel("Collapse Q").click();
|
|
4771
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Collapse Q")).not.toBeVisible();
|
|
4084
4772
|
}
|
|
4085
4773
|
async expandSideView() {
|
|
4086
|
-
await this.page.
|
|
4087
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.
|
|
4774
|
+
await this.page.getByLabel("Expand Q").click();
|
|
4775
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Expand Q")).not.toBeVisible();
|
|
4088
4776
|
}
|
|
4089
4777
|
}
|
|
4090
4778
|
|
|
@@ -5037,6 +5725,13 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
5037
5725
|
permissions(rolePermissions) {
|
|
5038
5726
|
return this.doPost("fixtures/roles/permissions/global", rolePermissions);
|
|
5039
5727
|
}
|
|
5728
|
+
updateUserProfile(username, profile) {
|
|
5729
|
+
profile.id = username;
|
|
5730
|
+
profile.type = "xlrelease.UserProfile";
|
|
5731
|
+
profile.canonicalId = username.toLowerCase();
|
|
5732
|
+
if (this.userProfiles.indexOf(profile.canonicalId) === -1) this.userProfiles.push(profile.canonicalId);
|
|
5733
|
+
return this.doPut("fixtures/userProfile", profile);
|
|
5734
|
+
}
|
|
5040
5735
|
deleteRole(roleName) {
|
|
5041
5736
|
return this.doDelete(`fixtures/role/${roleName}`);
|
|
5042
5737
|
}
|