@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/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
- await expectFn[index](locator);
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 setStartDate(date) {
1656
- await this.clickOnStartDate();
1657
- await this.page.locator(".MuiPickersDay-root", {
1658
- hasText: date
1659
- }).click();
2186
+ async removeEndDate() {
2187
+ const dateTimePicker = await this.getLastDateEditor();
2188
+ await this.dateUtil.removeDate(dateTimePicker);
1660
2189
  }
1661
- async assignToMe(userName, existingUsername) {
1662
- await this.page.getByRole("button", {
1663
- name: existingUsername
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 setFlag(flagName, flagComment) {
1668
- await this.page.getByTestId("flag-btn").click();
1669
- await this.page.getByLabel(flagName).click();
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 expectFlaggedWith(flagName, flagComment) {
1678
- await this.page.getByRole("button", {
1679
- name: "flag icon"
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 expectStartDateToBeDisplayed() {
1685
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("start-date-title")).toHaveCount(1);
2202
+ async expectEndDateNotDeletable() {
2203
+ const dateTimePicker = await this.getLastDate();
2204
+ await this.dateUtil.expectDateNotDeletable(dateTimePicker);
1686
2205
  }
1687
- async expectEndDateToBeDisplayed() {
1688
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("end-date-title")).toHaveCount(1);
2206
+ async expectDurationToBe(duration) {
2207
+ (0, $kKeXs$playwrighttest.expect)(await this.phaseName.locator(".duration-editor").textContent()).toBe(duration);
1689
2208
  }
1690
- async expectStartDateAndEndDateToBeDisplayed() {
1691
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByTestId("month-and-year")).toHaveCount(2);
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 openDatePicker(selector) {
1887
- await this.page.locator(`${selector} .date`).click();
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.locator("action-toolbar button", {
2063
- hasText: "Abort"
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(".modal textarea").fill(comment);
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 openActivityLogs() {
2233
- await this.util.openSideNavMenu("Activity logs");
2234
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Activity logs")).toBeVisible();
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
- await this.dateUtil.expectTimeToBe(".modal .due-date .time-picker-holder input", format, date);
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 token"
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.page.locator(`.scheduled-start-date .date`).click();
4584
- const prev = this.page.locator(".datepicker-days .prev");
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 openActivityLogs() {
4748
- await this.util.openSideNavMenu("Activity logs");
4749
- await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Activity logs")).toBeVisible();
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").getByText("Folders", {
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").getByText("Tasks", {
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").getByText("Releases", {
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").getByText("Workflow catalog", {
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").getByText("Workflows", {
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").getByText("Groups", {
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").getByText("Release calendar", {
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").getByText("Deliveries", {
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").getByText("Triggers", {
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").getByText("Digital.ai Analytics", {
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").getByText("Reports", {
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").getByText("Templates", {
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").getByText("Environments", {
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").getByText("Environments calendar", {
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").getByText("Global variables", {
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").getByText("Connections", {
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";