@digital-ai/devops-page-object-release 0.0.21 → 0.0.23
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 +17 -0
- package/dist/main.js +881 -156
- package/dist/main.js.map +1 -1
- package/dist/module.js +881 -156
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +217 -30
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -962,6 +962,7 @@ class $f8721861c660dd88$export$2b65d1d97338f32b {
|
|
|
962
962
|
|
|
963
963
|
|
|
964
964
|
|
|
965
|
+
|
|
965
966
|
class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
966
967
|
constructor(page){
|
|
967
968
|
super(page);
|
|
@@ -992,6 +993,25 @@ class $3d3f3946c54f5897$export$34addcca3f0ae43f extends (0, $f8721861c660dd88$ex
|
|
|
992
993
|
name: "Create"
|
|
993
994
|
}).click();
|
|
994
995
|
}
|
|
996
|
+
async expectVariablesCountToBe(count) {
|
|
997
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable-editor .form-group")).toHaveCount(count);
|
|
998
|
+
}
|
|
999
|
+
async expectContainingVariable(variableName, value) {
|
|
1000
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(`#form-${variableName} .text span`).textContent()).toBe(value);
|
|
1001
|
+
}
|
|
1002
|
+
async selectTemplate(templateName) {
|
|
1003
|
+
await this.page.getByPlaceholder("No template").click();
|
|
1004
|
+
await this.page.getByPlaceholder("No template").clear();
|
|
1005
|
+
await this.page.getByPlaceholder("No template").fill(templateName);
|
|
1006
|
+
await this.page.getByText(templateName).click();
|
|
1007
|
+
}
|
|
1008
|
+
async removeTemplate() {
|
|
1009
|
+
await this.page.locator(".template-select .close-icon").click();
|
|
1010
|
+
}
|
|
1011
|
+
async setValueForVariables(variableName, value) {
|
|
1012
|
+
await this.page.locator(`#form-${variableName} .display`).click();
|
|
1013
|
+
await this.page.locator(`input[name="${variableName}"]`).fill(value);
|
|
1014
|
+
}
|
|
995
1015
|
}
|
|
996
1016
|
|
|
997
1017
|
|
|
@@ -1090,25 +1110,272 @@ async function $ef0df8ad8a777ce6$export$a0f926f04148e5d2(locators) {
|
|
|
1090
1110
|
}
|
|
1091
1111
|
|
|
1092
1112
|
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
class $880df57ffbf6e614$export$9b575f14aa5e09a1 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1117
|
+
constructor(page){
|
|
1118
|
+
super(page);
|
|
1119
|
+
}
|
|
1120
|
+
async openDatePicker(selector) {
|
|
1121
|
+
await this.page.locator(`${selector} .date`).click();
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Setting date, month and year from calendar picker
|
|
1125
|
+
*/ async setDate(date, monthYear) {
|
|
1126
|
+
const prev = this.page.locator(".datepicker-days .prev");
|
|
1127
|
+
const next = this.page.locator(".datepicker-days .next");
|
|
1128
|
+
const monYear = this.page.locator(".datepicker-days .datepicker-switch");
|
|
1129
|
+
const currentYear = await monYear.textContent();
|
|
1130
|
+
const thisMonth = (0, ($parcel$interopDefault($kKeXs$moment)))(monthYear, "MMMM YYYY").isBefore(currentYear);
|
|
1131
|
+
while(await monYear.textContent() != monthYear)if (thisMonth) await prev.click();
|
|
1132
|
+
else await next.click();
|
|
1133
|
+
await this.page.getByRole("cell", {
|
|
1134
|
+
name: "" + date + "",
|
|
1135
|
+
exact: true
|
|
1136
|
+
}).first().click();
|
|
1137
|
+
}
|
|
1138
|
+
async expectDurationToBe(duration) {
|
|
1139
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".duration-editor").textContent()).toBe(duration);
|
|
1140
|
+
}
|
|
1141
|
+
async setDuration(days, hours, mins) {
|
|
1142
|
+
if (typeof days !== "undefined") await this.page.locator(".days").fill(days);
|
|
1143
|
+
if (typeof hours !== "undefined") await this.page.locator(".hours").fill(hours);
|
|
1144
|
+
if (typeof mins !== "undefined") await this.page.locator(".minutes").fill(mins);
|
|
1145
|
+
await this.page.keyboard.press("Enter");
|
|
1146
|
+
}
|
|
1147
|
+
async expectTimeToBe(selector, format, date) {
|
|
1148
|
+
if (typeof date === "string") date = new Date(date);
|
|
1149
|
+
const formattedDate = (0, ($parcel$interopDefault($kKeXs$moment)))(date).format(format);
|
|
1150
|
+
await (0, $kKeXs$playwrighttest.expect)(selector).toBeVisible();
|
|
1151
|
+
const value = await selector.inputValue();
|
|
1152
|
+
(0, $kKeXs$playwrighttest.expect)(value).toBe(formattedDate);
|
|
1153
|
+
}
|
|
1154
|
+
/**
|
|
1155
|
+
*
|
|
1156
|
+
* @returns Getting current month and year in the format "MonthName YYYY"
|
|
1157
|
+
*/ async getCurrentMonthYear() {
|
|
1158
|
+
const monthNames = [
|
|
1159
|
+
"January",
|
|
1160
|
+
"February",
|
|
1161
|
+
"March",
|
|
1162
|
+
"April",
|
|
1163
|
+
"May",
|
|
1164
|
+
"June",
|
|
1165
|
+
"July",
|
|
1166
|
+
"August",
|
|
1167
|
+
"September",
|
|
1168
|
+
"October",
|
|
1169
|
+
"November",
|
|
1170
|
+
"December"
|
|
1171
|
+
];
|
|
1172
|
+
const d = new Date();
|
|
1173
|
+
const month = monthNames[d.getMonth()];
|
|
1174
|
+
const year = d.getFullYear();
|
|
1175
|
+
return `${month} ${year}`;
|
|
1176
|
+
}
|
|
1177
|
+
/**
|
|
1178
|
+
*
|
|
1179
|
+
* @returns Getting current date in the format "dd MonthName YYYY"
|
|
1180
|
+
*/ async getCurrentDate() {
|
|
1181
|
+
const d = new Date();
|
|
1182
|
+
const date = d.getDate();
|
|
1183
|
+
const monthYear = await this.getCurrentMonthYear();
|
|
1184
|
+
return `${date} ${monthYear}`;
|
|
1185
|
+
}
|
|
1186
|
+
/**
|
|
1187
|
+
*
|
|
1188
|
+
* @param days Number of days to add to current date within the current month
|
|
1189
|
+
* @returns
|
|
1190
|
+
*/ async getFutureDate(days) {
|
|
1191
|
+
const d = new Date();
|
|
1192
|
+
d.setDate(d.getDate() + days);
|
|
1193
|
+
const date = d.getDate();
|
|
1194
|
+
const monthYear = await this.getCurrentMonthYear();
|
|
1195
|
+
return `${date} ${monthYear}`;
|
|
1196
|
+
}
|
|
1197
|
+
async removeDate(selector) {
|
|
1198
|
+
return await selector.locator(`.remove`).click();
|
|
1199
|
+
}
|
|
1200
|
+
async expectDateNotDeletable(selector) {
|
|
1201
|
+
await (0, $kKeXs$playwrighttest.expect)(selector.locator(`.remove`)).not.toBeVisible();
|
|
1202
|
+
}
|
|
1203
|
+
async expectDateToBe(selector, date) {
|
|
1204
|
+
return await this.expectInputContainingDate(selector, date);
|
|
1205
|
+
}
|
|
1206
|
+
async expectDateToBeInferred(selector) {
|
|
1207
|
+
await (0, $kKeXs$playwrighttest.expect)(selector.locator(`input.light-text`).first()).toBeVisible();
|
|
1208
|
+
}
|
|
1209
|
+
async expectNoDate(selector) {
|
|
1210
|
+
(0, $kKeXs$playwrighttest.expect)(selector.locator(`.date-placeholder`)).toBeVisible();
|
|
1211
|
+
}
|
|
1212
|
+
async expectInputContainingDate(inputLocator, date) {
|
|
1213
|
+
await (0, $kKeXs$playwrighttest.expect)(inputLocator).toBeVisible();
|
|
1214
|
+
const attribute = await inputLocator.getAttribute("value");
|
|
1215
|
+
(0, $kKeXs$playwrighttest.expect)(attribute).toContain(date);
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
|
|
1093
1220
|
class $fd4eef3ad2b2e612$export$a87f0ae8695e74be extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1221
|
+
constructor(page){
|
|
1222
|
+
super(page);
|
|
1223
|
+
this.addListValue = this.page.locator(".variable-selector .xl-components-input-full input");
|
|
1224
|
+
this.addVariableValue = this.page.locator(".variable-value .xl-components-input-full input");
|
|
1225
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
1226
|
+
this.listAddButton = this.page.getByRole("button", {
|
|
1227
|
+
name: "Add"
|
|
1228
|
+
});
|
|
1229
|
+
}
|
|
1094
1230
|
async openVariable(variableKey) {
|
|
1095
1231
|
await this.page.locator(`.variables-list .variable`).getByText(variableKey).click();
|
|
1096
1232
|
return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
|
|
1097
1233
|
}
|
|
1234
|
+
async addNewVariable(variableName, labelname, description) {
|
|
1235
|
+
await this.page.locator("#action-toolbar").getByTestId("dot-button").click();
|
|
1236
|
+
await this.page.fill(`[name="fieldKey"]`, variableName);
|
|
1237
|
+
await this.page.locator(".variable-label input").fill(labelname);
|
|
1238
|
+
if (description) await this.page.locator(".variable-description input").fill(description);
|
|
1239
|
+
}
|
|
1240
|
+
async selectVariableTextType(valuename) {
|
|
1241
|
+
await this.page.getByRole("combobox").selectOption("StringVariable");
|
|
1242
|
+
await this.page.locator(".variable-value").type(valuename);
|
|
1243
|
+
}
|
|
1244
|
+
async selectVariableListboxType(possiblevalue, defaultValue, required) {
|
|
1245
|
+
await this.page.getByRole("combobox").selectOption("DropDownListBox");
|
|
1246
|
+
if (possiblevalue instanceof Array) for (const value of possiblevalue){
|
|
1247
|
+
await this.addListValue.fill(value);
|
|
1248
|
+
await this.listAddButton.click();
|
|
1249
|
+
}
|
|
1250
|
+
else {
|
|
1251
|
+
await this.addListValue.fill(possiblevalue);
|
|
1252
|
+
await this.listAddButton.click();
|
|
1253
|
+
}
|
|
1254
|
+
await this.page.locator(".variable-value select").type(defaultValue);
|
|
1255
|
+
if (required) await this.page.getByRole("checkbox").check();
|
|
1256
|
+
else await this.page.getByRole("checkbox").uncheck();
|
|
1257
|
+
}
|
|
1258
|
+
async selectVariablePasswordType(possiblevalue) {
|
|
1259
|
+
await this.page.getByRole("combobox").selectOption("PasswordStringVariable");
|
|
1260
|
+
await this.page.locator('input[type="password"]').type(possiblevalue);
|
|
1261
|
+
}
|
|
1262
|
+
async selectVariableCheckboxType() {
|
|
1263
|
+
await this.page.getByRole("combobox").selectOption("BooleanVariable");
|
|
1264
|
+
await this.page.getByRole("checkbox").check();
|
|
1265
|
+
}
|
|
1266
|
+
async selectVariableNumberType(possiblevalue) {
|
|
1267
|
+
await this.page.getByRole("combobox").selectOption("IntegerVariable");
|
|
1268
|
+
await this.page.locator('input[ng-model="var.value"]').fill(possiblevalue);
|
|
1269
|
+
}
|
|
1270
|
+
async selectVariableMultiListType(possiblevalue1, possiblevalue2) {
|
|
1271
|
+
await this.page.getByRole("combobox").selectOption("MultiSelectListBox");
|
|
1272
|
+
await this.addListValue.fill(possiblevalue1);
|
|
1273
|
+
await this.listAddButton.click();
|
|
1274
|
+
await this.addListValue.fill(possiblevalue2);
|
|
1275
|
+
await this.listAddButton.click();
|
|
1276
|
+
await this.page.locator(".react-tagsinput").click();
|
|
1277
|
+
await this.page.getByText("Select all", {
|
|
1278
|
+
exact: true
|
|
1279
|
+
}).click();
|
|
1280
|
+
}
|
|
1281
|
+
async addVariableDate() {
|
|
1282
|
+
await this.page.getByRole("combobox").selectOption("DateVariable");
|
|
1283
|
+
await this.page.getByText("Select date").click();
|
|
1284
|
+
}
|
|
1285
|
+
async setDate(date, monthYear) {
|
|
1286
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
1287
|
+
}
|
|
1288
|
+
async addVariableKeyValueMap(keys1, values1) {
|
|
1289
|
+
await this.page.getByRole("combobox").selectOption("MapStringStringVariable");
|
|
1290
|
+
await this.page.getByPlaceholder("key").fill(keys1);
|
|
1291
|
+
await this.page.getByPlaceholder("Value").fill(values1);
|
|
1292
|
+
await this.listAddButton.click();
|
|
1293
|
+
await this.page.locator(".xl-map-string-string-div-buttons .search-icon").click();
|
|
1294
|
+
await this.page.getByRole("row", {
|
|
1295
|
+
name: "Search"
|
|
1296
|
+
}).getByRole("textbox").fill(keys1);
|
|
1297
|
+
const detail = await this.page.locator("table.table-condensed span").allInnerTexts();
|
|
1298
|
+
(0, $kKeXs$playwrighttest.expect)(detail[0]).toEqual(keys1);
|
|
1299
|
+
(0, $kKeXs$playwrighttest.expect)(detail[1]).toEqual(values1);
|
|
1300
|
+
}
|
|
1301
|
+
async addVariableSet(possiblevalue1) {
|
|
1302
|
+
await this.page.getByRole("combobox").selectOption("SetStringVariable");
|
|
1303
|
+
await this.page.locator(".dip-input input").fill(possiblevalue1);
|
|
1304
|
+
await this.listAddButton.click();
|
|
1305
|
+
}
|
|
1306
|
+
async submitTheVariable() {
|
|
1307
|
+
const createButton = this.page.locator(".modal-footer .save");
|
|
1308
|
+
await (0, $kKeXs$playwrighttest.expect)(createButton).toBeEnabled();
|
|
1309
|
+
await createButton.scrollIntoViewIfNeeded();
|
|
1310
|
+
await createButton.click();
|
|
1311
|
+
// Expect is needed here to avoid flackiness on clicking create button
|
|
1312
|
+
await (0, $kKeXs$playwrighttest.expect)(createButton).not.toBeVisible();
|
|
1313
|
+
}
|
|
1314
|
+
async expectVariableWithNameValueAndType(name, value, type) {
|
|
1315
|
+
const rowLocator = await this.page.locator(".variable .data-row").allTextContents();
|
|
1316
|
+
(0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(name);
|
|
1317
|
+
(0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(value);
|
|
1318
|
+
(0, $kKeXs$playwrighttest.expect)(rowLocator.toString()).toContain(type);
|
|
1319
|
+
}
|
|
1320
|
+
async clickEditVariable(variableName) {
|
|
1321
|
+
await this.page.locator("[id='variables-filter']").fill(variableName);
|
|
1322
|
+
await this.page.getByText("Edit").first().click();
|
|
1323
|
+
return new $fd4eef3ad2b2e612$var$ReleaseVariableModal(this.page);
|
|
1324
|
+
}
|
|
1325
|
+
async clickDeleteVariable(variableName) {
|
|
1326
|
+
await this.page.locator("[id='variables-filter']").fill(variableName);
|
|
1327
|
+
await this.page.locator(".action .delete-icon").first().click();
|
|
1328
|
+
return new $fd4eef3ad2b2e612$var$DeleteVariableModel(this.page);
|
|
1329
|
+
}
|
|
1330
|
+
async expectVariablesCountToBe(count) {
|
|
1331
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable .data-row")).toHaveCount(count);
|
|
1332
|
+
}
|
|
1333
|
+
async expectVariableNotPresent(variableName) {
|
|
1334
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable").filter({
|
|
1335
|
+
hasText: variableName
|
|
1336
|
+
})).not.toBeVisible();
|
|
1337
|
+
}
|
|
1338
|
+
async clearSearch() {
|
|
1339
|
+
await this.page.locator("[id='variables-filter']").clear();
|
|
1340
|
+
}
|
|
1341
|
+
async switchPossibleValuesToVariable(variableName) {
|
|
1342
|
+
await this.page.locator(".variable-toggle button").click();
|
|
1343
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
1344
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
1345
|
+
hasText: `${variableName}`
|
|
1346
|
+
}).click();
|
|
1347
|
+
}
|
|
1348
|
+
async selectVariableListboxTypeWithVariable(variableName, defaultValue, required) {
|
|
1349
|
+
await this.page.getByRole("combobox").selectOption("DropDownListBox");
|
|
1350
|
+
await this.page.locator(".variable-toggle button").click();
|
|
1351
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
1352
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
1353
|
+
hasText: `${variableName}`
|
|
1354
|
+
}).click();
|
|
1355
|
+
await this.page.locator(".variable-value select").type(defaultValue);
|
|
1356
|
+
if (required) await this.page.getByRole("checkbox").check();
|
|
1357
|
+
else await this.page.getByRole("checkbox").uncheck();
|
|
1358
|
+
}
|
|
1098
1359
|
}
|
|
1099
1360
|
class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1361
|
+
constructor(page){
|
|
1362
|
+
super(page);
|
|
1363
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
1364
|
+
}
|
|
1100
1365
|
async expectValue(locators, expectFn) {
|
|
1101
1366
|
const [index, locator] = await (0, $ef0df8ad8a777ce6$export$a0f926f04148e5d2)(locators);
|
|
1102
|
-
|
|
1367
|
+
expectFn[index](locator);
|
|
1103
1368
|
}
|
|
1104
1369
|
async expectValueToBe(value) {
|
|
1105
1370
|
await this.expectValue([
|
|
1106
1371
|
this.page.locator("#modal .variable-value input"),
|
|
1107
1372
|
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1108
|
-
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1373
|
+
this.page.locator("#modal .variable-value .xl-map-string-string"),
|
|
1374
|
+
this.page.locator("#modal .variable-value .xl-list-display-mode .text-container")
|
|
1109
1375
|
], [
|
|
1110
1376
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveValue(value),
|
|
1111
1377
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
|
|
1378
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value),
|
|
1112
1379
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toHaveText(value)
|
|
1113
1380
|
]);
|
|
1114
1381
|
}
|
|
@@ -1116,16 +1383,155 @@ class $fd4eef3ad2b2e612$var$ReleaseVariableModal extends (0, $f8721861c660dd88$e
|
|
|
1116
1383
|
await this.expectValue([
|
|
1117
1384
|
this.page.locator("#modal .variable-value input"),
|
|
1118
1385
|
this.page.locator("#modal .variable-value .field-readonly"),
|
|
1119
|
-
this.page.locator("#modal .variable-value .xl-map-string-string")
|
|
1386
|
+
this.page.locator("#modal .variable-value .xl-map-string-string"),
|
|
1387
|
+
this.page.locator("#modal .variable-value .xl-list-display-mode")
|
|
1120
1388
|
], [
|
|
1121
1389
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l.inputValue()).toContain(value),
|
|
1122
1390
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
|
|
1391
|
+
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value),
|
|
1123
1392
|
(l)=>(0, $kKeXs$playwrighttest.expect)(l).toContainText(value)
|
|
1124
1393
|
]);
|
|
1125
1394
|
}
|
|
1126
1395
|
async close() {
|
|
1127
1396
|
await this.page.locator("#modal .modal-header button.close").click();
|
|
1128
1397
|
}
|
|
1398
|
+
async expectPossibleValues(possiblevalue) {
|
|
1399
|
+
const listLocator = await this.page.locator(".editor .xl-list-row").allInnerTexts();
|
|
1400
|
+
if (possiblevalue instanceof Array) for (const value of possiblevalue)(0, $kKeXs$playwrighttest.expect)(listLocator).toContain(value);
|
|
1401
|
+
else (0, $kKeXs$playwrighttest.expect)(listLocator).toContain(possiblevalue);
|
|
1402
|
+
}
|
|
1403
|
+
async expectPossibleVariableValues(possiblevariablevalue) {
|
|
1404
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".variable-dropdown input")).toHaveValue(possiblevariablevalue);
|
|
1405
|
+
}
|
|
1406
|
+
async addPossibleValue(value) {
|
|
1407
|
+
if (value instanceof Array) for (const li of value){
|
|
1408
|
+
await this.page.locator(".xl-components-input-full input").fill(li);
|
|
1409
|
+
await this.page.getByRole("button", {
|
|
1410
|
+
name: "Add"
|
|
1411
|
+
}).click();
|
|
1412
|
+
}
|
|
1413
|
+
else {
|
|
1414
|
+
await this.page.locator(".xl-components-input-full input").fill(value);
|
|
1415
|
+
await this.page.getByRole("button", {
|
|
1416
|
+
name: "Add"
|
|
1417
|
+
}).click();
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
async selectVariableValue(defaultValue) {
|
|
1421
|
+
await this.page.locator(".variable-value select").selectOption(defaultValue);
|
|
1422
|
+
}
|
|
1423
|
+
async save() {
|
|
1424
|
+
const saveButton = this.page.locator("#modal .modal-footer .save");
|
|
1425
|
+
await saveButton.scrollIntoViewIfNeeded();
|
|
1426
|
+
await saveButton.click({
|
|
1427
|
+
delay: 2000
|
|
1428
|
+
});
|
|
1429
|
+
// Expect is needed here to avoid flackiness on clicking save button on modal window
|
|
1430
|
+
await (0, $kKeXs$playwrighttest.expect)(saveButton).not.toBeVisible();
|
|
1431
|
+
}
|
|
1432
|
+
async createPossibleValuesVariable(variableName) {
|
|
1433
|
+
await this.page.locator(".variable-toggle button").click();
|
|
1434
|
+
await this.page.locator(".ui-autocomplete-input").fill(variableName);
|
|
1435
|
+
await this.page.locator(".ui-menu-item-wrapper").filter({
|
|
1436
|
+
hasText: `${variableName}`
|
|
1437
|
+
}).click();
|
|
1438
|
+
}
|
|
1439
|
+
async expectVariableValueToBe(value) {
|
|
1440
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator('.variable-value select option[selected="selected"]').textContent()).toBe(value);
|
|
1441
|
+
}
|
|
1442
|
+
async expectNoVariablesInList() {
|
|
1443
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("No variables defined.")).toBeVisible();
|
|
1444
|
+
}
|
|
1445
|
+
async expectNameInput(value) {
|
|
1446
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`#modal .variable-name input`)).toHaveValue(value);
|
|
1447
|
+
}
|
|
1448
|
+
async expectLabel(value) {
|
|
1449
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#modal .variable-label input")).toHaveValue(value);
|
|
1450
|
+
}
|
|
1451
|
+
async expectRequired(value) {
|
|
1452
|
+
if (value == true) await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).toBeChecked();
|
|
1453
|
+
else await (0, $kKeXs$playwrighttest.expect)(this.page.locator('.form-group input[ng-model="var.requiresValue"]')).not.toBeChecked();
|
|
1454
|
+
}
|
|
1455
|
+
async setDescription(description) {
|
|
1456
|
+
await this.page.locator(".variable-description input").click();
|
|
1457
|
+
await this.page.locator(".variable-description input").clear();
|
|
1458
|
+
await this.page.locator(".variable-description input").fill(description);
|
|
1459
|
+
}
|
|
1460
|
+
async setLabel(labelValue) {
|
|
1461
|
+
await this.page.locator(".variable-label input").fill(labelValue);
|
|
1462
|
+
}
|
|
1463
|
+
async setDate(date, monthYear) {
|
|
1464
|
+
await this.page.locator("#modal .date").click();
|
|
1465
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
1466
|
+
}
|
|
1467
|
+
async setValue(value) {
|
|
1468
|
+
await this.page.locator(".variable-value input").fill(value);
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
class $fd4eef3ad2b2e612$var$DeleteVariableModel extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1472
|
+
constructor(page){
|
|
1473
|
+
super(page);
|
|
1474
|
+
this.model = new $fd4eef3ad2b2e612$var$ReleaseVariableModal(page);
|
|
1475
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
1476
|
+
}
|
|
1477
|
+
async deleteVariable() {
|
|
1478
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
|
|
1479
|
+
name: "Replace and delete"
|
|
1480
|
+
})).toBeVisible();
|
|
1481
|
+
await this.page.getByRole("button", {
|
|
1482
|
+
name: "Delete"
|
|
1483
|
+
}).click();
|
|
1484
|
+
}
|
|
1485
|
+
async replaceItWithVariable(variable) {
|
|
1486
|
+
await this.model.createPossibleValuesVariable(variable);
|
|
1487
|
+
}
|
|
1488
|
+
async replaceItwithValue(value) {
|
|
1489
|
+
await this.page.locator(".display").click();
|
|
1490
|
+
await this.page.getByLabel("*").fill(value);
|
|
1491
|
+
}
|
|
1492
|
+
async clickReplaceAndDelete() {
|
|
1493
|
+
await this.page.getByRole("button", {
|
|
1494
|
+
name: "Replace and delete"
|
|
1495
|
+
}).click();
|
|
1496
|
+
}
|
|
1497
|
+
async addValue(value) {
|
|
1498
|
+
await this.page.locator(".xl-components-input-full input").fill(value);
|
|
1499
|
+
await this.page.getByRole("button", {
|
|
1500
|
+
name: "Add"
|
|
1501
|
+
}).click();
|
|
1502
|
+
}
|
|
1503
|
+
async remove(value) {
|
|
1504
|
+
await this.page.locator("li").filter({
|
|
1505
|
+
hasText: value
|
|
1506
|
+
}).locator("i.close-icon").click();
|
|
1507
|
+
}
|
|
1508
|
+
async expectReplacementPromptDisplayed() {
|
|
1509
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
|
|
1510
|
+
name: "Replace and delete"
|
|
1511
|
+
})).toBeVisible();
|
|
1512
|
+
}
|
|
1513
|
+
async close() {
|
|
1514
|
+
await this.page.locator("#modal .modal-header button.close").click();
|
|
1515
|
+
}
|
|
1516
|
+
async removeItemOnSet(value) {
|
|
1517
|
+
await this.page.locator("tr").filter({
|
|
1518
|
+
hasText: value
|
|
1519
|
+
}).locator("i.close-icon").click();
|
|
1520
|
+
}
|
|
1521
|
+
async addValueForSet(key, value) {
|
|
1522
|
+
await this.page.locator(".input-key").fill(key);
|
|
1523
|
+
await this.page.locator(".input-value").fill(value);
|
|
1524
|
+
}
|
|
1525
|
+
async replaceWithIntegerValue(value) {
|
|
1526
|
+
await this.page.locator(".editable").fill(value);
|
|
1527
|
+
}
|
|
1528
|
+
async replaceForBooleanValue() {
|
|
1529
|
+
await this.page.locator(".editor input").click();
|
|
1530
|
+
}
|
|
1531
|
+
async deleteBySettingDate(date, monthYear) {
|
|
1532
|
+
await this.page.locator("#modal .date").click();
|
|
1533
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
1534
|
+
}
|
|
1129
1535
|
}
|
|
1130
1536
|
|
|
1131
1537
|
|
|
@@ -1361,6 +1767,22 @@ class $eb81c1b930e440ff$export$519356f6c50361f7 extends (0, $f8721861c660dd88$ex
|
|
|
1361
1767
|
}).click();
|
|
1362
1768
|
}
|
|
1363
1769
|
}
|
|
1770
|
+
async validateAutoCompleteOptions(descriptionName, expectedDescription, variableSelection) {
|
|
1771
|
+
await this.page.getByLabel("Double-click to edit").waitFor({
|
|
1772
|
+
timeout: 10000
|
|
1773
|
+
});
|
|
1774
|
+
await this.page.getByLabel("Double-click to edit").hover();
|
|
1775
|
+
await this.page.locator(".markdown-viewer-actions").getByTestId("edit-button").click();
|
|
1776
|
+
await this.page.locator("#task-description-input").fill(descriptionName);
|
|
1777
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".dot-popper-content-wrapper .option-name")).toHaveCount(6);
|
|
1778
|
+
await this.page.locator(".dot-popper-content-wrapper .option-name").filter({
|
|
1779
|
+
hasText: variableSelection
|
|
1780
|
+
}).click();
|
|
1781
|
+
await this.page.getByRole("button", {
|
|
1782
|
+
name: "Save"
|
|
1783
|
+
}).click();
|
|
1784
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".phase-link-container").locator(".variable").first()).toHaveText(expectedDescription);
|
|
1785
|
+
}
|
|
1364
1786
|
}
|
|
1365
1787
|
class $eb81c1b930e440ff$export$fbbf45eff21470e3 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1366
1788
|
constructor(page){
|
|
@@ -1462,6 +1884,9 @@ class $6c924a95a765a086$export$15d3f9b095bb5188 extends (0, $f8721861c660dd88$ex
|
|
|
1462
1884
|
async expectCommentToContain(text) {
|
|
1463
1885
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task-comment .markdown-wrapper p")).toContainText(text);
|
|
1464
1886
|
}
|
|
1887
|
+
async expectTaskIsCommentable(isCommentable) {
|
|
1888
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator("#task-comment").count()).toBe(isCommentable ? 1 : 0);
|
|
1889
|
+
}
|
|
1465
1890
|
}
|
|
1466
1891
|
|
|
1467
1892
|
|
|
@@ -1525,7 +1950,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
1525
1950
|
});
|
|
1526
1951
|
this.cancelButton = this.page.getByTestId("task-action-cancel");
|
|
1527
1952
|
this.commentBox = this.page.getByTestId("task-action-comment");
|
|
1528
|
-
this.confirm = this.page.getByTestId("dot-button");
|
|
1953
|
+
this.confirm = this.page.locator(".popper-action-buttons").getByTestId("dot-button");
|
|
1529
1954
|
this.activity = new (0, $6c924a95a765a086$export$15d3f9b095bb5188)(page);
|
|
1530
1955
|
this.attachment = new (0, $f9016705c1a1eb20$export$aa59788fdecae2f2)(page);
|
|
1531
1956
|
this.config = new (0, $8be2ce0eccbe6d27$export$64c93bc7fb9ca44e)(page);
|
|
@@ -1648,47 +2073,148 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
|
|
|
1648
2073
|
await this.page.getByTestId("month-and-year").first().click();
|
|
1649
2074
|
}
|
|
1650
2075
|
async removeStartDate() {
|
|
1651
|
-
await this.page.getByRole("button", {
|
|
1652
|
-
name: "Set by user"
|
|
1653
|
-
}).locator(".MuiChip-deleteIcon").click();
|
|
2076
|
+
await this.page.getByRole("button", {
|
|
2077
|
+
name: "Set by user"
|
|
2078
|
+
}).locator(".MuiChip-deleteIcon").click();
|
|
2079
|
+
}
|
|
2080
|
+
async setStartDate(date) {
|
|
2081
|
+
await this.clickOnStartDate();
|
|
2082
|
+
await this.page.locator(".MuiPickersDay-root", {
|
|
2083
|
+
hasText: date
|
|
2084
|
+
}).click();
|
|
2085
|
+
}
|
|
2086
|
+
async assignToMe(userName, existingUsername) {
|
|
2087
|
+
await this.page.getByRole("button", {
|
|
2088
|
+
name: existingUsername
|
|
2089
|
+
}).click();
|
|
2090
|
+
await this.page.getByTestId(`render-option-${userName}`).click();
|
|
2091
|
+
}
|
|
2092
|
+
async setFlag(flagName, flagComment) {
|
|
2093
|
+
await this.page.getByTestId("flag-btn").click();
|
|
2094
|
+
await this.page.getByLabel(flagName).click();
|
|
2095
|
+
await this.page.getByPlaceholder("Set message").click();
|
|
2096
|
+
await this.page.getByPlaceholder("Set message").fill(flagComment);
|
|
2097
|
+
await this.page.getByPlaceholder("Set message").press("Enter");
|
|
2098
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
|
|
2099
|
+
name: `flag icon ${flagComment}`
|
|
2100
|
+
})).toBeVisible();
|
|
2101
|
+
}
|
|
2102
|
+
async expectFlaggedWith(flagName, flagComment) {
|
|
2103
|
+
await this.page.getByRole("button", {
|
|
2104
|
+
name: "flag icon"
|
|
2105
|
+
}).click();
|
|
2106
|
+
const regexPattern = new RegExp(`${flagComment}.*${flagName}`, "i");
|
|
2107
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(regexPattern)).toBeVisible();
|
|
2108
|
+
}
|
|
2109
|
+
async expectStartDateToBeDisplayed() {
|
|
2110
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("start-date-title")).toHaveCount(1);
|
|
2111
|
+
}
|
|
2112
|
+
async expectEndDateToBeDisplayed() {
|
|
2113
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("end-date-title")).toHaveCount(1);
|
|
2114
|
+
}
|
|
2115
|
+
async expectStartDateAndEndDateToBeDisplayed() {
|
|
2116
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("month-and-year")).toHaveCount(2);
|
|
2117
|
+
}
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
|
|
2122
|
+
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
class $e8395395d01b66bb$export$5a82be0a2a261cc6 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2126
|
+
constructor(page){
|
|
2127
|
+
super(page);
|
|
2128
|
+
this.releaseHeader = this.page.locator(".release-header");
|
|
2129
|
+
}
|
|
2130
|
+
async enableShowDates() {
|
|
2131
|
+
await this.page.locator("#toggleIsDatesColumnsShown").check();
|
|
2132
|
+
}
|
|
2133
|
+
async disableShowDates() {
|
|
2134
|
+
await this.page.locator("#toggleIsDatesColumnsShown").uncheck();
|
|
2135
|
+
}
|
|
2136
|
+
async expectPlanningDataColumnsHidden() {
|
|
2137
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(`#gantt .gantt_grid_data .gantt_row`).first().locator(`.gantt_cell`).count()).toEqual(1);
|
|
2138
|
+
}
|
|
2139
|
+
async expectPlanningDateColumnsShown() {
|
|
2140
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(`#gantt .gantt_grid_data .gantt_row`).first().locator(`.gantt_cell`).count()).toEqual(4);
|
|
2141
|
+
}
|
|
2142
|
+
getRow(phaseName) {
|
|
2143
|
+
return new $e8395395d01b66bb$var$GanttRow(this.page, phaseName);
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
class $e8395395d01b66bb$var$GanttRow extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2147
|
+
constructor(page, phaseName){
|
|
2148
|
+
super(page);
|
|
2149
|
+
this.phaseName = page.locator(".gantt_row").filter({
|
|
2150
|
+
hasText: phaseName
|
|
2151
|
+
});
|
|
2152
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
2153
|
+
}
|
|
2154
|
+
async getFirstDate() {
|
|
2155
|
+
return this.phaseName.locator(".date-editor .date input").first();
|
|
2156
|
+
}
|
|
2157
|
+
async getLastDate() {
|
|
2158
|
+
return this.phaseName.locator(".date-editor .date input").last();
|
|
2159
|
+
}
|
|
2160
|
+
async getFirstDateEditor() {
|
|
2161
|
+
return this.phaseName.locator(".date-editor").first();
|
|
2162
|
+
}
|
|
2163
|
+
async getLastDateEditor() {
|
|
2164
|
+
return this.phaseName.locator(".date-editor").last();
|
|
2165
|
+
}
|
|
2166
|
+
async setStartDate(date, monthYear) {
|
|
2167
|
+
await (await this.getFirstDate()).click();
|
|
2168
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
2169
|
+
}
|
|
2170
|
+
async setEndDate(date, monthYear) {
|
|
2171
|
+
await (await this.getLastDate()).click();
|
|
2172
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
2173
|
+
}
|
|
2174
|
+
async expectStartDateToBe(date) {
|
|
2175
|
+
const dateTimePicker = await this.getFirstDate();
|
|
2176
|
+
this.dateUtil.expectDateToBe(dateTimePicker, date);
|
|
2177
|
+
}
|
|
2178
|
+
async expectEndDateToBe(date) {
|
|
2179
|
+
const dateTimePicker = await this.getLastDate();
|
|
2180
|
+
this.dateUtil.expectDateToBe(dateTimePicker, date);
|
|
2181
|
+
}
|
|
2182
|
+
async removeStartDate() {
|
|
2183
|
+
const dateTimePicker = await this.getFirstDateEditor();
|
|
2184
|
+
await this.dateUtil.removeDate(dateTimePicker);
|
|
1654
2185
|
}
|
|
1655
|
-
async
|
|
1656
|
-
await this.
|
|
1657
|
-
await this.
|
|
1658
|
-
hasText: date
|
|
1659
|
-
}).click();
|
|
2186
|
+
async removeEndDate() {
|
|
2187
|
+
const dateTimePicker = await this.getLastDateEditor();
|
|
2188
|
+
await this.dateUtil.removeDate(dateTimePicker);
|
|
1660
2189
|
}
|
|
1661
|
-
async
|
|
1662
|
-
await this.
|
|
1663
|
-
|
|
1664
|
-
}).click();
|
|
1665
|
-
await this.page.getByTestId(`render-option-${userName}`).click();
|
|
2190
|
+
async expectStartDateToBeInferred() {
|
|
2191
|
+
const dateTimePicker = await this.getFirstDateEditor();
|
|
2192
|
+
await this.dateUtil.expectDateToBeInferred(dateTimePicker);
|
|
1666
2193
|
}
|
|
1667
|
-
async
|
|
1668
|
-
await this.
|
|
1669
|
-
await this.
|
|
1670
|
-
await this.page.getByPlaceholder("Set message").click();
|
|
1671
|
-
await this.page.getByPlaceholder("Set message").fill(flagComment);
|
|
1672
|
-
await this.page.getByPlaceholder("Set message").press("Enter");
|
|
1673
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
|
|
1674
|
-
name: `flag icon ${flagComment}`
|
|
1675
|
-
})).toBeVisible();
|
|
2194
|
+
async expectEndDateToBeInferred() {
|
|
2195
|
+
const dateTimePicker = await this.getLastDateEditor();
|
|
2196
|
+
await this.dateUtil.expectDateToBeInferred(dateTimePicker);
|
|
1676
2197
|
}
|
|
1677
|
-
async
|
|
1678
|
-
await this.
|
|
1679
|
-
|
|
1680
|
-
}).click();
|
|
1681
|
-
const regexPattern = new RegExp(`${flagComment}.*${flagName}`, "i");
|
|
1682
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(regexPattern)).toBeVisible();
|
|
2198
|
+
async expectStartDateNotDeletable() {
|
|
2199
|
+
const dateTimePicker = await this.getFirstDate();
|
|
2200
|
+
await this.dateUtil.expectDateNotDeletable(dateTimePicker);
|
|
1683
2201
|
}
|
|
1684
|
-
async
|
|
1685
|
-
await
|
|
2202
|
+
async expectEndDateNotDeletable() {
|
|
2203
|
+
const dateTimePicker = await this.getLastDate();
|
|
2204
|
+
await this.dateUtil.expectDateNotDeletable(dateTimePicker);
|
|
1686
2205
|
}
|
|
1687
|
-
async
|
|
1688
|
-
|
|
2206
|
+
async expectDurationToBe(duration) {
|
|
2207
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseName.locator(".duration-editor").textContent()).toBe(duration);
|
|
1689
2208
|
}
|
|
1690
|
-
async
|
|
1691
|
-
await
|
|
2209
|
+
async clickDuration() {
|
|
2210
|
+
await this.phaseName.locator(".duration-editor").first().click();
|
|
2211
|
+
}
|
|
2212
|
+
async removeDuration() {
|
|
2213
|
+
await this.phaseName.click();
|
|
2214
|
+
return await this.phaseName.locator(`.remove-duration`).click();
|
|
2215
|
+
}
|
|
2216
|
+
async expectNoDuration() {
|
|
2217
|
+
(0, $kKeXs$playwrighttest.expect)(await this.phaseName.locator(".duration-editor").textContent()).toContain("");
|
|
1692
2218
|
}
|
|
1693
2219
|
}
|
|
1694
2220
|
|
|
@@ -1794,7 +2320,8 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
|
|
|
1794
2320
|
while(await monYear.textContent() != monthYear)if (thisMonth) await prev.click();
|
|
1795
2321
|
else await next.click();
|
|
1796
2322
|
await this.page.getByRole("cell", {
|
|
1797
|
-
name: "" + date + ""
|
|
2323
|
+
name: "" + date + "",
|
|
2324
|
+
exact: true
|
|
1798
2325
|
}).first().click();
|
|
1799
2326
|
}
|
|
1800
2327
|
async setScheduledStartTime(hrs, mins, meridian) {
|
|
@@ -1873,92 +2400,26 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
|
|
|
1873
2400
|
await this.page.locator("#release-form-abort-on-failure").check();
|
|
1874
2401
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-form-abort-on-failure")).toBeChecked();
|
|
1875
2402
|
}
|
|
2403
|
+
async expectDescriptionToBe(description) {
|
|
2404
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".release-description p").textContent()).toContain(description);
|
|
2405
|
+
}
|
|
1876
2406
|
}
|
|
1877
2407
|
|
|
1878
2408
|
|
|
1879
2409
|
|
|
1880
2410
|
|
|
1881
|
-
|
|
1882
|
-
class $880df57ffbf6e614$export$9b575f14aa5e09a1 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2411
|
+
class $d330a7d6f7926d53$export$3bc3e140e0dcb075 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1883
2412
|
constructor(page){
|
|
1884
2413
|
super(page);
|
|
2414
|
+
this.resetButton = this.page.getByRole("button", {
|
|
2415
|
+
name: "Reset"
|
|
2416
|
+
});
|
|
2417
|
+
this.saveButton = this.page.getByRole("button", {
|
|
2418
|
+
name: "Save"
|
|
2419
|
+
});
|
|
1885
2420
|
}
|
|
1886
|
-
async
|
|
1887
|
-
|
|
1888
|
-
}
|
|
1889
|
-
/**
|
|
1890
|
-
* Setting date, month and year from calendar picker
|
|
1891
|
-
*/ async setDate(date, monthYear) {
|
|
1892
|
-
const prev = this.page.locator(".datepicker-days .prev");
|
|
1893
|
-
const next = this.page.locator(".datepicker-days .next");
|
|
1894
|
-
const monYear = this.page.locator(".datepicker-days .datepicker-switch");
|
|
1895
|
-
const thisMonth = (0, ($parcel$interopDefault($kKeXs$moment)))(monthYear, "MMMM YYYY").isBefore();
|
|
1896
|
-
while(await monYear.textContent() != monthYear)if (thisMonth) await prev.click();
|
|
1897
|
-
else await next.click();
|
|
1898
|
-
await this.page.getByRole("cell", {
|
|
1899
|
-
name: "" + date + ""
|
|
1900
|
-
}).first().click();
|
|
1901
|
-
}
|
|
1902
|
-
async expectDurationToBe(duration) {
|
|
1903
|
-
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".duration-editor").textContent()).toBe(duration);
|
|
1904
|
-
}
|
|
1905
|
-
async setDuration(days, hours, mins) {
|
|
1906
|
-
await this.page.locator(".duration-editor").click();
|
|
1907
|
-
if (typeof days !== "undefined") await this.page.locator(".days").fill(days);
|
|
1908
|
-
if (typeof hours !== "undefined") await this.page.locator(".hours").fill(hours);
|
|
1909
|
-
if (typeof mins !== "undefined") await this.page.locator(".minutes").fill(mins);
|
|
1910
|
-
await this.page.keyboard.press("Enter");
|
|
1911
|
-
}
|
|
1912
|
-
async expectTimeToBe(selector, format, date) {
|
|
1913
|
-
if (typeof date === "string") date = new Date(date);
|
|
1914
|
-
const formattedDate = (0, ($parcel$interopDefault($kKeXs$moment)))(date).format(format);
|
|
1915
|
-
const input = this.page.locator(`${selector}`);
|
|
1916
|
-
await (0, $kKeXs$playwrighttest.expect)(input).toBeVisible();
|
|
1917
|
-
const value = await input.inputValue();
|
|
1918
|
-
(0, $kKeXs$playwrighttest.expect)(value).toBe(formattedDate);
|
|
1919
|
-
}
|
|
1920
|
-
/**
|
|
1921
|
-
*
|
|
1922
|
-
* @returns Getting current month and year in the format "MonthName YYYY"
|
|
1923
|
-
*/ async getCurrentMonthYear() {
|
|
1924
|
-
const monthNames = [
|
|
1925
|
-
"January",
|
|
1926
|
-
"February",
|
|
1927
|
-
"March",
|
|
1928
|
-
"April",
|
|
1929
|
-
"May",
|
|
1930
|
-
"June",
|
|
1931
|
-
"July",
|
|
1932
|
-
"August",
|
|
1933
|
-
"September",
|
|
1934
|
-
"October",
|
|
1935
|
-
"November",
|
|
1936
|
-
"December"
|
|
1937
|
-
];
|
|
1938
|
-
const d = new Date();
|
|
1939
|
-
const month = monthNames[d.getMonth()];
|
|
1940
|
-
const year = d.getFullYear();
|
|
1941
|
-
return `${month} ${year}`;
|
|
1942
|
-
}
|
|
1943
|
-
/**
|
|
1944
|
-
*
|
|
1945
|
-
* @returns Getting current date in the format "dd MonthName YYYY"
|
|
1946
|
-
*/ async getCurrentDate() {
|
|
1947
|
-
const d = new Date();
|
|
1948
|
-
const date = d.getDate();
|
|
1949
|
-
const monthYear = await this.getCurrentMonthYear();
|
|
1950
|
-
return `${date} ${monthYear}`;
|
|
1951
|
-
}
|
|
1952
|
-
/**
|
|
1953
|
-
*
|
|
1954
|
-
* @param days Number of days to add to current date within the current month
|
|
1955
|
-
* @returns
|
|
1956
|
-
*/ async getFutureDate(days) {
|
|
1957
|
-
const d = new Date();
|
|
1958
|
-
d.setDate(d.getDate() + days);
|
|
1959
|
-
const date = d.getDate();
|
|
1960
|
-
const monthYear = await this.getCurrentMonthYear();
|
|
1961
|
-
return `${date} ${monthYear}`;
|
|
2421
|
+
async expectSaveButtonDisabled() {
|
|
2422
|
+
(0, $kKeXs$playwrighttest.expect)(this.saveButton).toBeDisabled();
|
|
1962
2423
|
}
|
|
1963
2424
|
}
|
|
1964
2425
|
|
|
@@ -1966,6 +2427,7 @@ class $880df57ffbf6e614$export$9b575f14aa5e09a1 extends (0, $f8721861c660dd88$ex
|
|
|
1966
2427
|
|
|
1967
2428
|
|
|
1968
2429
|
|
|
2430
|
+
|
|
1969
2431
|
class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
1970
2432
|
constructor(page){
|
|
1971
2433
|
super(page);
|
|
@@ -2048,7 +2510,10 @@ class $2c89ba54932fbba8$export$f8f26dd395d7e1bd extends (0, $f8721861c660dd88$ex
|
|
|
2048
2510
|
class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2049
2511
|
constructor(page){
|
|
2050
2512
|
super(page);
|
|
2513
|
+
this.createPage = new (0, $3d3f3946c54f5897$export$34addcca3f0ae43f)(page);
|
|
2514
|
+
this.ganttPage = new (0, $e8395395d01b66bb$export$5a82be0a2a261cc6)(page);
|
|
2051
2515
|
this.taskDrawer = new (0, $6a21661eb4695574$export$e946776eae644790)(page);
|
|
2516
|
+
this.teamsPermissions = new (0, $d330a7d6f7926d53$export$3bc3e140e0dcb075)(page);
|
|
2052
2517
|
this.phaseTitle = this.page.locator(".phase .phase-title");
|
|
2053
2518
|
this.properties = new (0, $8681d8a3f46f87b7$export$d1077068a9cc9f17)(page);
|
|
2054
2519
|
this.variables = new (0, $fd4eef3ad2b2e612$export$a87f0ae8695e74be)(page);
|
|
@@ -2059,11 +2524,14 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
2059
2524
|
return new (0, $133601cfe0486710$export$fb932093f944abe4)(this.page);
|
|
2060
2525
|
}
|
|
2061
2526
|
async abort(comment = "Abort for testing") {
|
|
2062
|
-
await this.page.
|
|
2063
|
-
|
|
2527
|
+
await this.page.getByTestId("abort-btn").waitFor();
|
|
2528
|
+
await this.page.getByTestId("abort-btn").click();
|
|
2529
|
+
await this.page.getByPlaceholder("Give feedback or place a").click();
|
|
2530
|
+
await this.page.getByPlaceholder("Give feedback or place a").fill(comment);
|
|
2531
|
+
await this.page.getByRole("button", {
|
|
2532
|
+
name: "Abort"
|
|
2064
2533
|
}).click();
|
|
2065
|
-
await this.page.locator(".
|
|
2066
|
-
await this.page.locator(".modal .continue").click();
|
|
2534
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".progress-status-and-percentage")).toContainText("Aborted");
|
|
2067
2535
|
}
|
|
2068
2536
|
getPhase(phaseName) {
|
|
2069
2537
|
return new $9b9a8c3da392d020$var$Phase(this.page, phaseName);
|
|
@@ -2229,9 +2697,9 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
2229
2697
|
await this.util.openSideNavMenu("Dashboard");
|
|
2230
2698
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Dashboard")).toBeVisible();
|
|
2231
2699
|
}
|
|
2232
|
-
async
|
|
2233
|
-
await this.util.openSideNavMenu("
|
|
2234
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("
|
|
2700
|
+
async openHistory() {
|
|
2701
|
+
await this.util.openSideNavMenu("History");
|
|
2702
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("History")).toBeVisible();
|
|
2235
2703
|
}
|
|
2236
2704
|
async openReleaseMenu(menuItem) {
|
|
2237
2705
|
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
@@ -2273,6 +2741,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
2273
2741
|
hasText: "TEMPLATE"
|
|
2274
2742
|
})).not.toBeVisible();
|
|
2275
2743
|
}
|
|
2744
|
+
async expectAbortedStatusToBePresent() {
|
|
2745
|
+
await this.page.locator(".progress-status-and-percentage").waitFor({
|
|
2746
|
+
timeout: 10000
|
|
2747
|
+
});
|
|
2748
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".progress-status-and-percentage").textContent()).toContain("Aborted");
|
|
2749
|
+
}
|
|
2276
2750
|
async openTableView() {
|
|
2277
2751
|
await this.util.openSideNavMenu("Table");
|
|
2278
2752
|
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release-grid-container")).toBeVisible();
|
|
@@ -2371,6 +2845,9 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
|
|
|
2371
2845
|
hasText: title
|
|
2372
2846
|
}).locator(`.task-infos .delay-count`)).toBeVisible();
|
|
2373
2847
|
}
|
|
2848
|
+
async expectOnePhaseDisplayed() {
|
|
2849
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".phase-content").count()).toBe(1);
|
|
2850
|
+
}
|
|
2374
2851
|
}
|
|
2375
2852
|
class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
2376
2853
|
constructor(page, phaseName){
|
|
@@ -2501,10 +2978,12 @@ class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
2501
2978
|
await this.dateUtil.expectDurationToBe(duration);
|
|
2502
2979
|
}
|
|
2503
2980
|
async setDurationFromPhaseDetails(days, hours, mins) {
|
|
2981
|
+
await this.page.locator(".duration-editor").click();
|
|
2504
2982
|
await this.dateUtil.setDuration(days, hours, mins);
|
|
2505
2983
|
}
|
|
2506
2984
|
async expectDueTimeToBe(format, date) {
|
|
2507
|
-
|
|
2985
|
+
const selector = this.page.locator(".modal .due-date .time-picker-holder input");
|
|
2986
|
+
await this.dateUtil.expectTimeToBe(selector, format, date);
|
|
2508
2987
|
}
|
|
2509
2988
|
async deleteTaskInPhase(taskName) {
|
|
2510
2989
|
await this.page.locator(".task").filter({
|
|
@@ -3163,6 +3642,10 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
|
|
|
3163
3642
|
await this.util.openSideNavMenu("Notifications");
|
|
3164
3643
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
|
|
3165
3644
|
}
|
|
3645
|
+
async openTemplates() {
|
|
3646
|
+
await this.util.openSideNavMenu("Templates");
|
|
3647
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Templates")).toBeVisible();
|
|
3648
|
+
}
|
|
3166
3649
|
}
|
|
3167
3650
|
|
|
3168
3651
|
|
|
@@ -3648,7 +4131,7 @@ class $010122e1d9b28b80$export$3cf9c90f870f31bd extends (0, $f8721861c660dd88$ex
|
|
|
3648
4131
|
})).toBeVisible();
|
|
3649
4132
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Delete token")).toContainText("Delete token");
|
|
3650
4133
|
await this.page.getByRole("button", {
|
|
3651
|
-
name: "delete icon Delete
|
|
4134
|
+
name: "delete icon Delete"
|
|
3652
4135
|
}).click();
|
|
3653
4136
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByText(tokenName)).not.toBeVisible();
|
|
3654
4137
|
}
|
|
@@ -4124,7 +4607,7 @@ class $a8855257f8bb2b12$export$43682cddead1dd78 extends (0, $f8721861c660dd88$ex
|
|
|
4124
4607
|
await this.page.getByRole("button", {
|
|
4125
4608
|
name: "Today"
|
|
4126
4609
|
}).click();
|
|
4127
|
-
await this.page.getByText(release_title).click();
|
|
4610
|
+
await this.page.locator(".tl-event-title").getByText(release_title).click();
|
|
4128
4611
|
await this.page.locator(".release-modal-container").locator(".xl-icon.release-icon").click();
|
|
4129
4612
|
const releaseurl = `/#/releases/${release_id}`;
|
|
4130
4613
|
const currentURL = await this.page.url();
|
|
@@ -4306,6 +4789,7 @@ class $3fad6a9449b6416f$export$1a0994e9c202d529 extends (0, $f8721861c660dd88$ex
|
|
|
4306
4789
|
|
|
4307
4790
|
|
|
4308
4791
|
|
|
4792
|
+
|
|
4309
4793
|
class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4310
4794
|
constructor(page){
|
|
4311
4795
|
super(page);
|
|
@@ -4524,6 +5008,8 @@ class $ed2d4739e27d43c1$export$60c3bfa6385e2a10 extends (0, $f8721861c660dd88$ex
|
|
|
4524
5008
|
class $f4ca0e32f2cf5291$export$ccf2756779bad715 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4525
5009
|
constructor(page){
|
|
4526
5010
|
super(page);
|
|
5011
|
+
this.dateUtil = new (0, $880df57ffbf6e614$export$9b575f14aa5e09a1)(page);
|
|
5012
|
+
this.scheduledStartDate = this.page.locator(`.scheduled-start-date .date`);
|
|
4527
5013
|
}
|
|
4528
5014
|
async getAttachmentsListCount() {
|
|
4529
5015
|
return await this.page.locator(".attachments tr").count();
|
|
@@ -4580,16 +5066,8 @@ class $f4ca0e32f2cf5291$export$ccf2756779bad715 extends (0, $f8721861c660dd88$ex
|
|
|
4580
5066
|
await this.page.locator(".due-date .close-icon").click();
|
|
4581
5067
|
}
|
|
4582
5068
|
async setScheduledStartDate(date, monthYear) {
|
|
4583
|
-
await this.
|
|
4584
|
-
|
|
4585
|
-
const next = this.page.locator(".datepicker-days .next");
|
|
4586
|
-
const monYear = this.page.locator(".datepicker-days .datepicker-switch");
|
|
4587
|
-
const thisMonth = (0, ($parcel$interopDefault($kKeXs$moment)))(monthYear, "MMMM YYYY").isBefore();
|
|
4588
|
-
while(await monYear.textContent() != monthYear)if (thisMonth) await prev.click();
|
|
4589
|
-
else await next.click();
|
|
4590
|
-
await this.page.getByRole("cell", {
|
|
4591
|
-
name: "" + date + ""
|
|
4592
|
-
}).first().click();
|
|
5069
|
+
await this.scheduledStartDate.click();
|
|
5070
|
+
await this.dateUtil.setDate(date, monthYear);
|
|
4593
5071
|
}
|
|
4594
5072
|
async setDuration(days, hours, mins) {
|
|
4595
5073
|
await this.page.locator(".duration-editor").click();
|
|
@@ -4691,6 +5169,30 @@ class $b12db2561a3bf785$export$899a7095bab1879d extends (0, $f8721861c660dd88$ex
|
|
|
4691
5169
|
|
|
4692
5170
|
|
|
4693
5171
|
|
|
5172
|
+
class $170d32617f3aa58e$export$e0f84914460c3382 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
5173
|
+
constructor(page){
|
|
5174
|
+
super(page);
|
|
5175
|
+
}
|
|
5176
|
+
async clickEditVariable(variableName) {
|
|
5177
|
+
await this.page.locator("[id='variables-filter']").fill(variableName);
|
|
5178
|
+
await this.page.getByText("Edit").click();
|
|
5179
|
+
return new $170d32617f3aa58e$var$TemplateVariableModal(this.page);
|
|
5180
|
+
}
|
|
5181
|
+
}
|
|
5182
|
+
class $170d32617f3aa58e$var$TemplateVariableModal extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
5183
|
+
async setLabel(label) {
|
|
5184
|
+
await this.page.locator(".variable-label input").fill(label);
|
|
5185
|
+
}
|
|
5186
|
+
async setDefalutValue(value) {
|
|
5187
|
+
await this.page.locator(".variable-value input").fill(value);
|
|
5188
|
+
}
|
|
5189
|
+
async save() {
|
|
5190
|
+
await this.page.locator("#modal .button.save").click();
|
|
5191
|
+
}
|
|
5192
|
+
}
|
|
5193
|
+
|
|
5194
|
+
|
|
5195
|
+
|
|
4694
5196
|
class $959d38250779aa22$export$8c8e7207254accc2 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4695
5197
|
constructor(page){
|
|
4696
5198
|
super(page);
|
|
@@ -4700,6 +5202,7 @@ class $959d38250779aa22$export$8c8e7207254accc2 extends (0, $f8721861c660dd88$ex
|
|
|
4700
5202
|
this.createTemplatePage = new (0, $3048f12d9d777352$export$98de9bca7d44fc1a)(page);
|
|
4701
5203
|
this.triggers = new (0, $b12db2561a3bf785$export$899a7095bab1879d)(page);
|
|
4702
5204
|
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
5205
|
+
this.variables = new (0, $170d32617f3aa58e$export$e0f84914460c3382)(page);
|
|
4703
5206
|
}
|
|
4704
5207
|
async openTemplateMenu(menuItem) {
|
|
4705
5208
|
await this.page.locator(`navigation-sidebar ul li`).getByText(menuItem, {
|
|
@@ -4744,9 +5247,9 @@ class $959d38250779aa22$export$8c8e7207254accc2 extends (0, $f8721861c660dd88$ex
|
|
|
4744
5247
|
await this.util.openSideNavMenu("Dashboard");
|
|
4745
5248
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Dashboard")).toBeVisible();
|
|
4746
5249
|
}
|
|
4747
|
-
async
|
|
4748
|
-
await this.util.openSideNavMenu("
|
|
4749
|
-
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("
|
|
5250
|
+
async openHistory() {
|
|
5251
|
+
await this.util.openSideNavMenu("History");
|
|
5252
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("History")).toBeVisible();
|
|
4750
5253
|
}
|
|
4751
5254
|
async openTriggers() {
|
|
4752
5255
|
await this.openTemplateMenu("Triggers");
|
|
@@ -4818,6 +5321,10 @@ class $959d38250779aa22$export$8c8e7207254accc2 extends (0, $f8721861c660dd88$ex
|
|
|
4818
5321
|
hasText: newPhaseName
|
|
4819
5322
|
})).toBeVisible();
|
|
4820
5323
|
}
|
|
5324
|
+
async clickNewRelease() {
|
|
5325
|
+
await this.page.getByTestId("new-release-btn").click();
|
|
5326
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".release-properties-form")).toBeVisible();
|
|
5327
|
+
}
|
|
4821
5328
|
getPhase(phaseName) {
|
|
4822
5329
|
return new $959d38250779aa22$var$Phase(this.page, phaseName);
|
|
4823
5330
|
}
|
|
@@ -4900,9 +5407,11 @@ class $959d38250779aa22$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97
|
|
|
4900
5407
|
|
|
4901
5408
|
|
|
4902
5409
|
|
|
5410
|
+
|
|
4903
5411
|
class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
4904
5412
|
constructor(page){
|
|
4905
5413
|
super(page);
|
|
5414
|
+
this.templatePage = new (0, $959d38250779aa22$export$8c8e7207254accc2)(page);
|
|
4906
5415
|
}
|
|
4907
5416
|
async openTemplatesList(filter) {
|
|
4908
5417
|
let url = "/templates";
|
|
@@ -4992,6 +5501,9 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
|
|
|
4992
5501
|
await this.page.locator(".title").filter({
|
|
4993
5502
|
hasText: title
|
|
4994
5503
|
}).locator(".delete").click();
|
|
5504
|
+
await this.page.locator(".modal .modal-content").waitFor({
|
|
5505
|
+
state: "visible"
|
|
5506
|
+
});
|
|
4995
5507
|
await this.page.getByRole("button", {
|
|
4996
5508
|
name: "Delete"
|
|
4997
5509
|
}).click();
|
|
@@ -5022,6 +5534,13 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
|
|
|
5022
5534
|
name: "Create new release"
|
|
5023
5535
|
})).toBeVisible();
|
|
5024
5536
|
}
|
|
5537
|
+
async createTemplate(templateName, description) {
|
|
5538
|
+
await this.clickCreateNewTemplate();
|
|
5539
|
+
await this.templatePage.createTemplatePage.setName(templateName);
|
|
5540
|
+
await this.templatePage.createTemplatePage.setDescription(description);
|
|
5541
|
+
await this.templatePage.createTemplatePage.create();
|
|
5542
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Flow")).toBeVisible();
|
|
5543
|
+
}
|
|
5025
5544
|
async filterByTitle(templateName) {
|
|
5026
5545
|
await this.page.getByPlaceholder("Filter by title...", {
|
|
5027
5546
|
exact: true
|
|
@@ -5164,9 +5683,184 @@ class $84dbf24c796d0540$export$7a5b979a220f477c extends (0, $f8721861c660dd88$ex
|
|
|
5164
5683
|
|
|
5165
5684
|
|
|
5166
5685
|
|
|
5686
|
+
class $ea5452748687c9a2$export$539d82a5d70c4909 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
5687
|
+
constructor(page){
|
|
5688
|
+
super(page);
|
|
5689
|
+
}
|
|
5690
|
+
async getValue(classIdentifier) {
|
|
5691
|
+
return await this.page.locator(`.rz-bubble.${classIdentifier}-label`).innerText();
|
|
5692
|
+
}
|
|
5693
|
+
async setPointerValue(elem, value, isIncrease) {
|
|
5694
|
+
await elem.waitFor({
|
|
5695
|
+
state: "visible"
|
|
5696
|
+
});
|
|
5697
|
+
await elem.click();
|
|
5698
|
+
for(let i = 0; i < value; i++){
|
|
5699
|
+
if (isIncrease) await this.page.keyboard.press("ArrowRight");
|
|
5700
|
+
else await this.page.keyboard.press("ArrowLeft");
|
|
5701
|
+
await elem.click();
|
|
5702
|
+
}
|
|
5703
|
+
}
|
|
5704
|
+
async setValue(identifier, newValue) {
|
|
5705
|
+
const value = await this.getValue(identifier);
|
|
5706
|
+
const initialDiff = newValue - parseInt(value);
|
|
5707
|
+
const elem = this.page.locator(`.rz-pointer-${identifier}`);
|
|
5708
|
+
const diffValue = Math.abs(initialDiff);
|
|
5709
|
+
await this.setPointerValue(elem, diffValue, initialDiff > 0);
|
|
5710
|
+
await this.checkValue(identifier, newValue);
|
|
5711
|
+
}
|
|
5712
|
+
async checkValue(identifier, value) {
|
|
5713
|
+
(0, $kKeXs$playwrighttest.expect)(await this.getValue(identifier)).toEqual(value.toString());
|
|
5714
|
+
}
|
|
5715
|
+
async shouldHaveEditButton(present = true) {
|
|
5716
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator("#editRisk").isVisible()).toBe(present);
|
|
5717
|
+
}
|
|
5718
|
+
async shouldHaveSaveButton(present = true) {
|
|
5719
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.getByTestId("save-btn").isVisible()).toBe(present);
|
|
5720
|
+
}
|
|
5721
|
+
async startEditGlobalRiskThreshold() {
|
|
5722
|
+
await this.page.locator("#editRisk").click();
|
|
5723
|
+
}
|
|
5724
|
+
async setInitialValues() {
|
|
5725
|
+
await this.setValue("min", 10);
|
|
5726
|
+
await this.setValue("max", 50);
|
|
5727
|
+
}
|
|
5728
|
+
async changeValuesAndSave(minValue, maxValue) {
|
|
5729
|
+
await this.setValue("min", minValue);
|
|
5730
|
+
await this.setValue("max", maxValue);
|
|
5731
|
+
await this.page.locator("#submit").click();
|
|
5732
|
+
}
|
|
5733
|
+
async checkValuesChanged(minValue, maxValue) {
|
|
5734
|
+
await this.checkValue("min", minValue);
|
|
5735
|
+
await this.checkValue("max", maxValue);
|
|
5736
|
+
}
|
|
5737
|
+
async expectRiskProfileToBePresent(title, present = true) {
|
|
5738
|
+
await this.page.locator("#risk-profile-table").waitFor({
|
|
5739
|
+
state: "visible"
|
|
5740
|
+
});
|
|
5741
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".risk-profile .data-row").filter({
|
|
5742
|
+
hasText: title
|
|
5743
|
+
}).isVisible()).toBe(present);
|
|
5744
|
+
}
|
|
5745
|
+
async expectDefaultRiskProfileToBeFirst() {
|
|
5746
|
+
await this.page.locator("#risk-profile-table").waitFor({
|
|
5747
|
+
state: "visible"
|
|
5748
|
+
});
|
|
5749
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".risk-profile .data-row .ng-binding").first()).toHaveText("Default risk profile");
|
|
5750
|
+
}
|
|
5751
|
+
async openRiskProfile(title) {
|
|
5752
|
+
await this.page.locator("#risk-profile-table").waitFor({
|
|
5753
|
+
state: "visible"
|
|
5754
|
+
});
|
|
5755
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5756
|
+
hasText: title
|
|
5757
|
+
}).click();
|
|
5758
|
+
return new $ea5452748687c9a2$var$RisksProfilePage(this.page);
|
|
5759
|
+
}
|
|
5760
|
+
async shouldHaveCopyButtonEnabledForRiskProfile(title, enabled = true) {
|
|
5761
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5762
|
+
hasText: title
|
|
5763
|
+
}).waitFor({
|
|
5764
|
+
state: "visible"
|
|
5765
|
+
});
|
|
5766
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(".risk-profile .data-row").filter({
|
|
5767
|
+
hasText: title
|
|
5768
|
+
}).locator(".copy-action").isVisible()).toBe(enabled);
|
|
5769
|
+
}
|
|
5770
|
+
async shouldHaveDeleteButtonEnabledForRiskProfile(title, enabled = true) {
|
|
5771
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5772
|
+
hasText: title
|
|
5773
|
+
}).waitFor({
|
|
5774
|
+
state: "visible"
|
|
5775
|
+
});
|
|
5776
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator(`.risk-profile .data-row`).filter({
|
|
5777
|
+
hasText: title
|
|
5778
|
+
}).locator(`.remove-action`).isVisible()).toBe(enabled);
|
|
5779
|
+
}
|
|
5780
|
+
async clickNewRiskProfile() {
|
|
5781
|
+
await this.page.getByTestId("new-risk-btn").waitFor({
|
|
5782
|
+
state: "visible"
|
|
5783
|
+
});
|
|
5784
|
+
await this.page.getByTestId("new-risk-btn").click();
|
|
5785
|
+
return new $ea5452748687c9a2$var$RisksProfilePage(this.page);
|
|
5786
|
+
}
|
|
5787
|
+
async deleteRiskProfile(title) {
|
|
5788
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5789
|
+
hasText: title
|
|
5790
|
+
}).locator(".remove-action").waitFor({
|
|
5791
|
+
state: "visible"
|
|
5792
|
+
});
|
|
5793
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5794
|
+
hasText: title
|
|
5795
|
+
}).locator(".remove-action").click();
|
|
5796
|
+
await this.page.locator(".modal-footer .button.save").click();
|
|
5797
|
+
}
|
|
5798
|
+
async expectSuccessMessageOnRisksPage() {
|
|
5799
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("success")).toBeVisible();
|
|
5800
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
5801
|
+
hasText: "Risk Profile Created Successfully"
|
|
5802
|
+
})).toBeVisible();
|
|
5803
|
+
}
|
|
5804
|
+
async copyRiskProfile(title) {
|
|
5805
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5806
|
+
hasText: title
|
|
5807
|
+
}).waitFor({
|
|
5808
|
+
state: "visible"
|
|
5809
|
+
});
|
|
5810
|
+
await this.page.locator(".risk-profile .data-row").filter({
|
|
5811
|
+
hasText: title
|
|
5812
|
+
}).locator(".copy-action").click();
|
|
5813
|
+
}
|
|
5814
|
+
async expectSuccessMessageOnUpdateRiskProfile() {
|
|
5815
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("success")).toBeVisible();
|
|
5816
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".success").filter({
|
|
5817
|
+
hasText: "Risk Profile Updated Successfully"
|
|
5818
|
+
})).toBeVisible();
|
|
5819
|
+
}
|
|
5820
|
+
async filter(filterText) {
|
|
5821
|
+
await this.page.locator("#risk-profile-filter").waitFor({
|
|
5822
|
+
state: "visible"
|
|
5823
|
+
});
|
|
5824
|
+
await this.page.locator("#risk-profile-filter").clear();
|
|
5825
|
+
await this.page.locator("#risk-profile-filter").fill(filterText);
|
|
5826
|
+
}
|
|
5827
|
+
async shouldHaveNVisibleRiskProfiles(numberOfVisibleRiskProfiles) {
|
|
5828
|
+
await this.page.locator("#risk-profile-table").waitFor({
|
|
5829
|
+
state: "visible"
|
|
5830
|
+
});
|
|
5831
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.locator("#risk-profile-table .data-row").count()).toEqual(numberOfVisibleRiskProfiles);
|
|
5832
|
+
}
|
|
5833
|
+
async shouldHaveNewRiskProfileButton(present = true) {
|
|
5834
|
+
(0, $kKeXs$playwrighttest.expect)(await this.page.getByTestId("new-risk-btn").isVisible()).toBe(present);
|
|
5835
|
+
}
|
|
5836
|
+
}
|
|
5837
|
+
class $ea5452748687c9a2$var$RisksProfilePage extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
5838
|
+
async shouldBeEditable(editable) {
|
|
5839
|
+
const elem = this.page.locator("#riskProfileTitle");
|
|
5840
|
+
if (editable) await (0, $kKeXs$playwrighttest.expect)(elem).toBeEnabled();
|
|
5841
|
+
else await (0, $kKeXs$playwrighttest.expect)(elem).toBeDisabled();
|
|
5842
|
+
}
|
|
5843
|
+
async setName(name) {
|
|
5844
|
+
await this.page.locator("#riskProfileTitle").waitFor({
|
|
5845
|
+
state: "visible"
|
|
5846
|
+
});
|
|
5847
|
+
await this.page.locator("#riskProfileTitle").click();
|
|
5848
|
+
await this.page.locator("#riskProfileTitle").clear();
|
|
5849
|
+
await this.page.locator("#riskProfileTitle").fill(name);
|
|
5850
|
+
}
|
|
5851
|
+
async save() {
|
|
5852
|
+
await this.page.getByTestId("save-btn").click();
|
|
5853
|
+
await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#risk-profile-table")).toBeVisible();
|
|
5854
|
+
}
|
|
5855
|
+
}
|
|
5856
|
+
|
|
5857
|
+
|
|
5858
|
+
|
|
5859
|
+
|
|
5167
5860
|
class $dbc8f157e7b24b12$export$2edf430132ca35d0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
|
|
5168
5861
|
constructor(page){
|
|
5169
5862
|
super(page);
|
|
5863
|
+
this.risksPage = new (0, $ea5452748687c9a2$export$539d82a5d70c4909)(page);
|
|
5170
5864
|
this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
|
|
5171
5865
|
}
|
|
5172
5866
|
async openGeneralSettings() {
|
|
@@ -5200,6 +5894,7 @@ class $dbc8f157e7b24b12$export$2edf430132ca35d0 extends (0, $f8721861c660dd88$ex
|
|
|
5200
5894
|
async openRiskProfiles() {
|
|
5201
5895
|
await this.util.openSideNavMenu("Risk profiles");
|
|
5202
5896
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Risk profiles")).toBeVisible();
|
|
5897
|
+
return new (0, $ea5452748687c9a2$export$539d82a5d70c4909)(this.page);
|
|
5203
5898
|
}
|
|
5204
5899
|
async openWorkflowCategories() {
|
|
5205
5900
|
await this.util.openSideNavMenu("Workflow categories");
|
|
@@ -5243,6 +5938,16 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
|
5243
5938
|
async openTemplate(id) {
|
|
5244
5939
|
return this.openReleaseOrTemplate(id, false);
|
|
5245
5940
|
}
|
|
5941
|
+
async openFolder(id) {
|
|
5942
|
+
await this.page.goto(`./#/folders/${id}/releases`);
|
|
5943
|
+
await this.page.waitForSelector("#releases-content");
|
|
5944
|
+
return new (0, $9058d40a81bdb1f5$export$b453f08936c58edb)(this.page);
|
|
5945
|
+
}
|
|
5946
|
+
async openVariablesOnReleasePage(releaseId) {
|
|
5947
|
+
await this.page.goto(`./#/releases/${releaseId}/variables`);
|
|
5948
|
+
await this.page.waitForSelector("#release-variables");
|
|
5949
|
+
return new (0, $fd4eef3ad2b2e612$export$a87f0ae8695e74be)(this.page);
|
|
5950
|
+
}
|
|
5246
5951
|
async openRelease(id) {
|
|
5247
5952
|
return this.openReleaseOrTemplate(id, true);
|
|
5248
5953
|
}
|
|
@@ -5252,83 +5957,88 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
|
5252
5957
|
async openPersonalAccessTokenPage() {
|
|
5253
5958
|
return new (0, $be4dd73206d8e76b$export$3cac5fd37ae64b91)(this.page).openPersonalAccessTokenPage();
|
|
5254
5959
|
}
|
|
5960
|
+
async gotoHomePage() {
|
|
5961
|
+
await this.page.locator("ul.side-nav li").getByLabel("Home", {
|
|
5962
|
+
exact: true
|
|
5963
|
+
}).click();
|
|
5964
|
+
}
|
|
5255
5965
|
async gotoFolderPage() {
|
|
5256
|
-
await this.page.locator("ul.side-nav li").
|
|
5966
|
+
await this.page.locator("ul.side-nav li").getByLabel("Folders", {
|
|
5257
5967
|
exact: true
|
|
5258
5968
|
}).click();
|
|
5259
5969
|
}
|
|
5260
5970
|
async gotoTaskPage() {
|
|
5261
|
-
await this.page.locator("ul.side-nav li").
|
|
5971
|
+
await this.page.locator("ul.side-nav li").getByLabel("Tasks", {
|
|
5262
5972
|
exact: true
|
|
5263
5973
|
}).click();
|
|
5264
5974
|
}
|
|
5265
5975
|
async gotoReleasePage() {
|
|
5266
|
-
await this.page.locator("ul.side-nav li").
|
|
5976
|
+
await this.page.locator("ul.side-nav li").getByLabel("Releases", {
|
|
5267
5977
|
exact: true
|
|
5268
5978
|
}).click();
|
|
5269
5979
|
}
|
|
5270
5980
|
async gotoWorkflowCatalogPage() {
|
|
5271
|
-
await this.page.locator("ul.side-nav li").
|
|
5981
|
+
await this.page.locator("ul.side-nav li").getByLabel("Workflow catalog", {
|
|
5272
5982
|
exact: true
|
|
5273
5983
|
}).click();
|
|
5274
5984
|
}
|
|
5275
5985
|
async gotoWorkflowsPage() {
|
|
5276
|
-
await this.page.locator("ul.side-nav li").
|
|
5986
|
+
await this.page.locator("ul.side-nav li").getByLabel("Workflows", {
|
|
5277
5987
|
exact: true
|
|
5278
5988
|
}).click();
|
|
5279
5989
|
}
|
|
5280
5990
|
async gotoGroupsPage() {
|
|
5281
|
-
await this.page.locator("ul.side-nav li").
|
|
5991
|
+
await this.page.locator("ul.side-nav li").getByLabel("Groups", {
|
|
5282
5992
|
exact: true
|
|
5283
5993
|
}).click();
|
|
5284
5994
|
}
|
|
5285
5995
|
async gotoReleaseCalenderPage() {
|
|
5286
|
-
await this.page.locator("ul.side-nav li").
|
|
5996
|
+
await this.page.locator("ul.side-nav li").getByLabel("Release calendar", {
|
|
5287
5997
|
exact: true
|
|
5288
5998
|
}).click();
|
|
5289
5999
|
}
|
|
5290
6000
|
async gotoDeliveriesPage() {
|
|
5291
|
-
await this.page.locator("ul.side-nav li").
|
|
6001
|
+
await this.page.locator("ul.side-nav li").getByLabel("Deliveries", {
|
|
5292
6002
|
exact: true
|
|
5293
6003
|
}).click();
|
|
5294
6004
|
}
|
|
5295
6005
|
async gotoTriggersPage() {
|
|
5296
|
-
await this.page.locator("ul.side-nav li").
|
|
6006
|
+
await this.page.locator("ul.side-nav li").getByLabel("Triggers", {
|
|
5297
6007
|
exact: true
|
|
5298
6008
|
}).click();
|
|
5299
6009
|
}
|
|
5300
6010
|
async gotoDigitalAnalyticsPage() {
|
|
5301
|
-
await this.page.locator("ul.side-nav li").
|
|
6011
|
+
await this.page.locator("ul.side-nav li").getByLabel("Digital.ai Analytics", {
|
|
5302
6012
|
exact: true
|
|
5303
6013
|
}).click();
|
|
5304
6014
|
}
|
|
5305
6015
|
async gotoReportsPage() {
|
|
5306
|
-
await this.page.locator("ul.side-nav li").
|
|
6016
|
+
await this.page.locator("ul.side-nav li").getByLabel("Reports", {
|
|
5307
6017
|
exact: true
|
|
5308
6018
|
}).click();
|
|
5309
6019
|
}
|
|
5310
6020
|
async gotoTemplatesPage() {
|
|
5311
|
-
await this.page.locator("ul.side-nav li").
|
|
6021
|
+
await this.page.locator("ul.side-nav li").getByLabel("Templates", {
|
|
5312
6022
|
exact: true
|
|
5313
6023
|
}).click();
|
|
5314
6024
|
}
|
|
5315
6025
|
async gotoEnvironmentsPage() {
|
|
5316
|
-
await this.page.locator("ul.side-nav li").
|
|
6026
|
+
await this.page.locator("ul.side-nav li").getByLabel("Environments", {
|
|
5317
6027
|
exact: true
|
|
5318
6028
|
}).click();
|
|
5319
6029
|
}
|
|
5320
6030
|
async gotoEnvironmentsCalenderPage() {
|
|
5321
|
-
await this.page.locator("ul.side-nav li").
|
|
6031
|
+
await this.page.locator("ul.side-nav li").getByLabel("Environments calendar", {
|
|
5322
6032
|
exact: true
|
|
5323
6033
|
}).click();
|
|
5324
6034
|
}
|
|
5325
6035
|
async gotoGobalVariablesPage() {
|
|
5326
|
-
await this.page.locator("ul.side-nav li").
|
|
6036
|
+
await this.page.locator("ul.side-nav li").getByLabel("Global variables", {
|
|
5327
6037
|
exact: true
|
|
5328
6038
|
}).click();
|
|
5329
6039
|
}
|
|
5330
6040
|
async gotoConnectionsPage() {
|
|
5331
|
-
await this.page.locator("ul.side-nav li").
|
|
6041
|
+
await this.page.locator("ul.side-nav li").getByLabel("Connections", {
|
|
5332
6042
|
exact: true
|
|
5333
6043
|
}).click();
|
|
5334
6044
|
}
|
|
@@ -5346,6 +6056,9 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
|
|
|
5346
6056
|
await this.page.getByLabel("Expand Q").click();
|
|
5347
6057
|
await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("Expand Q")).not.toBeVisible();
|
|
5348
6058
|
}
|
|
6059
|
+
async openRisksProfile() {
|
|
6060
|
+
await this.page.goto("./#/risks");
|
|
6061
|
+
}
|
|
5349
6062
|
}
|
|
5350
6063
|
|
|
5351
6064
|
|
|
@@ -6266,6 +6979,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
6266
6979
|
ci
|
|
6267
6980
|
]);
|
|
6268
6981
|
}
|
|
6982
|
+
ci(ci) {
|
|
6983
|
+
this.configurationIds.push(ci.id);
|
|
6984
|
+
return this.doPost("fixtures", [
|
|
6985
|
+
ci
|
|
6986
|
+
]);
|
|
6987
|
+
}
|
|
6269
6988
|
getParentId(id) {
|
|
6270
6989
|
return id.substring(0, id.lastIndexOf("/"));
|
|
6271
6990
|
}
|
|
@@ -6321,6 +7040,12 @@ class $6998c6a53a9eb4fa$var$Fixtures {
|
|
|
6321
7040
|
permissions(rolePermissions) {
|
|
6322
7041
|
return this.doPost("fixtures/roles/permissions/global", rolePermissions);
|
|
6323
7042
|
}
|
|
7043
|
+
globalRoles(rolePrincipals) {
|
|
7044
|
+
return this.doPost(`api/v1/roles/${rolePrincipals.name}`, rolePrincipals);
|
|
7045
|
+
}
|
|
7046
|
+
deleteGlobalRole(roleName) {
|
|
7047
|
+
return this.doDelete(`api/v1/roles/${roleName}`);
|
|
7048
|
+
}
|
|
6324
7049
|
updateUserProfile(username, profile) {
|
|
6325
7050
|
profile.id = username;
|
|
6326
7051
|
profile.type = "xlrelease.UserProfile";
|