@digital-ai/devops-page-object-release 0.0.44 → 0.0.45

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/module.js CHANGED
@@ -771,6 +771,9 @@ class $69e86f559cdf2bd0$export$15d3f9b095bb5188 extends (0, $9626bc9256ce31f7$ex
771
771
  async expectCommentToContain(comment) {
772
772
  await (0, $hOLA6$expect)(this.page.locator(".markdown-wrapper").getByText(comment)).toBeVisible();
773
773
  }
774
+ async expectCommentToContainLink(hrefLink) {
775
+ await (0, $hOLA6$expect)(this.page.locator(".markdown-wrapper a")).toHaveAttribute("href", hrefLink);
776
+ }
774
777
  async expectTaskIsCommentable(isCommentable) {
775
778
  return (0, $hOLA6$expect)(await this.page.locator("#task-comment").count()).toBe(isCommentable ? 1 : 0);
776
779
  }
@@ -869,6 +872,26 @@ class $115d1e40e2564777$export$a87b4660f21fba58 extends (0, $9626bc9256ce31f7$ex
869
872
  hasText: tagName
870
873
  })).toBeVisible();
871
874
  }
875
+ async selectAttributeType(type) {
876
+ await this.page.locator("#facet-type").selectOption(type);
877
+ }
878
+ async fillInputValue(labelName, value) {
879
+ await this.page.getByRole("combobox", {
880
+ name: labelName
881
+ }).click();
882
+ await this.page.getByRole("combobox", {
883
+ name: labelName
884
+ }).fill(value);
885
+ await this.page.getByRole("option", {
886
+ name: "value"
887
+ }).click();
888
+ }
889
+ async saveAttributes() {
890
+ await this.page.getByTestId("save-btn").click();
891
+ }
892
+ async cancelAttribute() {
893
+ await this.page.getByTestId("cancel-btn").click();
894
+ }
872
895
  }
873
896
 
874
897
 
@@ -1063,6 +1086,13 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1063
1086
  await this.railLocator.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
1064
1087
  await this.railLocator.locator(`textarea[id="${propertyName}"]`).fill(value);
1065
1088
  }
1089
+ async setValueForBody(value) {
1090
+ await this.railLocator.locator(".notification-body-field .markdown-viewer").focus();
1091
+ await this.railLocator.locator(".notification-body-field .markdown-viewer").dblclick();
1092
+ await this.railLocator.locator("#notification-body").fill(value);
1093
+ await this.railLocator.locator("#notification-body").press("Enter");
1094
+ await this.railLocator.getByTestId("save-button").click();
1095
+ }
1066
1096
  async setValueFromPassword(propertyName, value) {
1067
1097
  await this.railLocator.locator(`input[id="${propertyName}"]`).fill(value);
1068
1098
  }
@@ -1080,10 +1110,10 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1080
1110
  return this;
1081
1111
  }
1082
1112
  async createNewVariableForField(objectID, variable) {
1083
- await this.page.locator(`div[data-testid="${objectID}"] .icon-variable`).waitFor({
1084
- timeout: 10000
1113
+ const variable_icon = this.page.locator(`div[data-testid="${objectID}"] .icon-variable`);
1114
+ if (await variable_icon.isVisible()) await variable_icon.click({
1115
+ timeout: 1000
1085
1116
  });
1086
- await this.page.locator(`div[data-testid="${objectID}"] .icon-variable`).click();
1087
1117
  await this.page.locator(`#${objectID}`).fill(variable);
1088
1118
  await this.railLocator.locator(`.dot-popper button`, {
1089
1119
  hasText: variable
@@ -1133,6 +1163,14 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1133
1163
  async expectTo(value) {
1134
1164
  return await (0, $hOLA6$expect)(this.railLocator.getByTestId(`dot-autocomplete-chip`)).toHaveText(value);
1135
1165
  }
1166
+ async expectAutoCompleteFieldValue(label, value) {
1167
+ await (0, $hOLA6$expect)(this.railLocator.locator(".task-input-property").filter({
1168
+ hasText: label
1169
+ }).getByTestId("dot-autocomplete-chip")).toContainText(value);
1170
+ }
1171
+ async expectFieldValue(fieldName, value) {
1172
+ await (0, $hOLA6$expect)(this.railLocator.locator(`input[name="${fieldName}"]`)).toHaveValue(value);
1173
+ }
1136
1174
  async expectSubjectToBe(value) {
1137
1175
  return await (0, $hOLA6$expect)(this.page.locator("#notification-subject")).toHaveValue(value);
1138
1176
  }
@@ -1384,6 +1422,23 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1384
1422
  await this.page.locator(`[data-test-id="${fieldID}"]`).nth(1).click();
1385
1423
  await this.page.locator(`input[name='${fieldID}']`).fill(value);
1386
1424
  }
1425
+ async setEmailField(fieldName, value) {
1426
+ await this.page.getByLabel(`${fieldName}`, {
1427
+ exact: true
1428
+ }).click();
1429
+ await this.page.getByLabel(`${fieldName}`, {
1430
+ exact: true
1431
+ }).clear();
1432
+ await this.page.getByLabel(`${fieldName}`, {
1433
+ exact: true
1434
+ }).fill(value);
1435
+ await this.page.getByLabel(`${fieldName}`, {
1436
+ exact: true
1437
+ }).press("Enter");
1438
+ }
1439
+ async selectValueFromOption(fieldId, value) {
1440
+ await this.page.locator(`#${fieldId}`).selectOption(value);
1441
+ }
1387
1442
  async abortButtonVisibility(visible = true) {
1388
1443
  const locator = this.page.getByRole("button", {
1389
1444
  name: "Abort"
@@ -1528,6 +1583,9 @@ class $90bb70a7e909e500$export$519356f6c50361f7 extends (0, $9626bc9256ce31f7$ex
1528
1583
  await this.page.locator(`.input-scalar-fake-input[id="${propertyName}"]`).focus();
1529
1584
  await this.page.locator(`input[id="${propertyName}"]`).fill(value);
1530
1585
  }
1586
+ async toggleIgnoreVariableInterpolation() {
1587
+ await this.page.getByLabel("Ignore variable interpolation").click();
1588
+ }
1531
1589
  }
1532
1590
  class $90bb70a7e909e500$export$bb6ccfada3e7d0f7 extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
1533
1591
  constructor(page){
@@ -1977,7 +2035,7 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
1977
2035
  }).getByTestId("expand-btn")).toBeVisible();
1978
2036
  }
1979
2037
  async expectAssignedTo(username) {
1980
- await (0, $hOLA6$expect)(this.page.getByRole("button", {
2038
+ await (0, $hOLA6$expect)(this.taskDrawerLocator.getByRole("button", {
1981
2039
  name: username
1982
2040
  })).toBeVisible();
1983
2041
  }
@@ -2080,6 +2138,42 @@ class $8e39246218b802fc$export$e946776eae644790 extends (0, $9626bc9256ce31f7$ex
2080
2138
  await (0, $hOLA6$expect)(this.page.locator(".task-header-top-path")).toContainText(phaseName);
2081
2139
  await this.expectTaskTitle(taskTitle);
2082
2140
  }
2141
+ async expectTaskStatusLine(statusLine) {
2142
+ await (0, $hOLA6$expect)(this.taskDrawerLocator.locator(`.task-status-line`)).toHaveText(statusLine);
2143
+ }
2144
+ async expectTaskStatusLineHref(link) {
2145
+ await (0, $hOLA6$expect)(this.taskDrawerLocator.locator(`.task-status-line a`)).toHaveAttribute("href", link);
2146
+ }
2147
+ async expectNoTaskActionButton() {
2148
+ await (0, $hOLA6$expect)(this.page.locator(".task-action-buttons")).not.toBeVisible();
2149
+ }
2150
+ async clickTaskOptionIcon() {
2151
+ await this.page.getByTestId("task-options-button").click();
2152
+ }
2153
+ async deleteTaskFromOption() {
2154
+ await this.clickTaskOptionIcon();
2155
+ await this.page.getByText("Delete task").click();
2156
+ await (0, $hOLA6$expect)(this.page.getByRole("heading", {
2157
+ name: "Delete task"
2158
+ })).toBeVisible();
2159
+ await this.page.getByRole("button", {
2160
+ name: "Delete"
2161
+ }).click();
2162
+ }
2163
+ async duplicateTaskFromOption() {
2164
+ await this.clickTaskOptionIcon();
2165
+ await this.page.getByText("Duplicate").click();
2166
+ }
2167
+ async expectOptionNotVisible(option) {
2168
+ await this.clickTaskOptionIcon();
2169
+ await (0, $hOLA6$expect)(this.page.getByText(option)).not.toBeVisible();
2170
+ }
2171
+ async refresh() {
2172
+ await this.page.getByTestId("refresh-btn").click();
2173
+ }
2174
+ async expectRefreshButtonNotVisible() {
2175
+ await (0, $hOLA6$expect)(this.page.getByTestId("refresh-btn")).not.toBeVisible();
2176
+ }
2083
2177
  }
2084
2178
 
2085
2179
 
@@ -2992,6 +3086,13 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
2992
3086
  timeout: timeout
2993
3087
  });
2994
3088
  }
3089
+ async waitForTaskFailing(taskTitle) {
3090
+ await (0, $hOLA6$expect)(this.page.locator(".task.failing").getByText(taskTitle, {
3091
+ exact: true
3092
+ })).toBeVisible({
3093
+ timeout: 10000
3094
+ });
3095
+ }
2995
3096
  async waitForTaskSkipped(taskTitle, timeout = this.defaultTimeout) {
2996
3097
  await (0, $hOLA6$expect)(this.page.locator(".task.skipped").getByText(taskTitle, {
2997
3098
  exact: true
@@ -3020,6 +3121,17 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3020
3121
  timeout: timeout
3021
3122
  });
3022
3123
  }
3124
+ async expectTaskStatusLineToContain(taskTitle, info) {
3125
+ await (0, $hOLA6$expect)(this.page.locator(".task").filter({
3126
+ hasText: taskTitle
3127
+ }).locator(".status-line")).toContainText(info);
3128
+ }
3129
+ async expectTaskStatusLineToContainHref(taskTitle, link) {
3130
+ const taskInfo = this.page.locator(".task").filter({
3131
+ hasText: taskTitle
3132
+ }).locator(".status-line a");
3133
+ await (0, $hOLA6$expect)(taskInfo).toHaveAttribute("href", link);
3134
+ }
3023
3135
  async waitForTaskStarted(taskTitle, timeout = this.defaultTimeout) {
3024
3136
  await (0, $hOLA6$expect)(this.page.locator(".task.in_progress").getByTitle(taskTitle, {
3025
3137
  exact: true
@@ -3027,9 +3139,11 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3027
3139
  timeout: timeout
3028
3140
  });
3029
3141
  }
3030
- async waitForTaskPlanned(title, timeout = this.defaultTimeout) {
3031
- await (0, $hOLA6$expect)(this.page.locator(`.task:has-text('${title}').planned`)).toBeVisible({
3032
- timeout: timeout
3142
+ async waitForTaskPlanned(title) {
3143
+ await (0, $hOLA6$expect)(this.page.locator(".task.planned").getByText(title, {
3144
+ exact: true
3145
+ })).toBeVisible({
3146
+ timeout: 10000
3033
3147
  });
3034
3148
  }
3035
3149
  async clickOnStatusLine(statusLine) {
@@ -3093,7 +3207,9 @@ class $43cbcdfccb6c2a76$export$f43492e8ac3c566 extends (0, $9626bc9256ce31f7$exp
3093
3207
  }
3094
3208
  async openVariables() {
3095
3209
  await this.util.openSideNavMenu("Variables");
3096
- await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Variables")).toBeVisible();
3210
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Variables", {
3211
+ exact: true
3212
+ })).toBeVisible();
3097
3213
  }
3098
3214
  async openProperties() {
3099
3215
  await this.util.openSideNavMenu("Properties");
@@ -3574,9 +3690,7 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3574
3690
  }
3575
3691
  // eslint-disable-next-line max-params
3576
3692
  async addTaskInGroup(currentGroupType, taskTitle, taskGroup, taskType) {
3577
- const groupTaskLocator = this.phaseLocator.filter({
3578
- hasText: "Dev.Phase"
3579
- }).locator("li").filter({
3693
+ const groupTaskLocator = this.phaseLocator.locator("li").filter({
3580
3694
  hasText: currentGroupType
3581
3695
  }).locator("a.add-task.link");
3582
3696
  await groupTaskLocator.click();
@@ -3587,6 +3701,7 @@ class $43cbcdfccb6c2a76$var$Phase extends (0, $9626bc9256ce31f7$export$2b65d1d97
3587
3701
  await this.page.locator(".icon-close").click();
3588
3702
  await this.page.locator("#task-title").fill(taskTitle);
3589
3703
  await this.page.getByTestId("save-select-task-btn").click();
3704
+ await this.page.locator("#release-header").click();
3590
3705
  await (0, $hOLA6$expect)(this.phaseLocator.filter({
3591
3706
  hasText: currentGroupType
3592
3707
  }).getByText(taskTitle)).toBeVisible();
@@ -6247,6 +6362,7 @@ class $e83a7515970cee7f$export$98de9bca7d44fc1a extends (0, $9626bc9256ce31f7$ex
6247
6362
  class $8f36d138075416d2$export$899a7095bab1879d extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6248
6363
  constructor(page){
6249
6364
  super(page);
6365
+ this.create = new $8f36d138075416d2$export$bad60adab28720fb(page);
6250
6366
  }
6251
6367
  async expectAllowConcurrentReleasesFromTrigger(expectedValue) {
6252
6368
  if (expectedValue) {
@@ -6273,6 +6389,67 @@ class $8f36d138075416d2$export$899a7095bab1879d extends (0, $9626bc9256ce31f7$ex
6273
6389
  async expectNoNewTriggerButtonShown() {
6274
6390
  await (0, $hOLA6$expect)(this.page.locator(".trigger-header a.button.primary")).not.toBeVisible();
6275
6391
  }
6392
+ async clickAddTrigger() {
6393
+ await this.page.getByRole("button", {
6394
+ name: "Add trigger"
6395
+ }).click();
6396
+ return new $8f36d138075416d2$export$bad60adab28720fb(this.page);
6397
+ }
6398
+ async openContextualMenuForTrigger(triggerName) {
6399
+ await this.page.locator(".xlr-trigger-row").filter({
6400
+ has: this.page.locator('div[data-test-column="triggerTitle"]').getByText(triggerName)
6401
+ }).locator(".context-menu-button").click();
6402
+ return this;
6403
+ }
6404
+ async selectContextualMenuItem(triggerName, menuItem) {
6405
+ await this.openContextualMenuForTrigger(triggerName);
6406
+ await this.page.locator("#context-menu-container").getByRole("menuitem", {
6407
+ name: menuItem
6408
+ }).click();
6409
+ return this;
6410
+ }
6411
+ }
6412
+ class $8f36d138075416d2$export$bad60adab28720fb extends (0, $9626bc9256ce31f7$export$2b65d1d97338f32b) {
6413
+ constructor(page){
6414
+ super(page);
6415
+ }
6416
+ async setTriggerTitle(title) {
6417
+ await this.page.locator("#title").fill(title);
6418
+ }
6419
+ async setTriggerType(triggerType) {
6420
+ await this.page.getByRole("textbox", {
6421
+ name: "Select trigger type..."
6422
+ }).click();
6423
+ await this.page.getByRole("textbox", {
6424
+ name: "Select trigger type..."
6425
+ }).fill(triggerType);
6426
+ await this.page.getByText(triggerType).click();
6427
+ }
6428
+ async setFieldInput(field, value) {
6429
+ await this.page.getByRole("textbox", {
6430
+ name: field
6431
+ }).click();
6432
+ await this.page.getByRole("textbox", {
6433
+ name: field
6434
+ }).fill(value);
6435
+ }
6436
+ async setValuesForVariable(variableId, value) {
6437
+ await this.page.locator(`#${variableId}`).scrollIntoViewIfNeeded();
6438
+ await this.page.locator(`#${variableId}`).click();
6439
+ await this.page.locator(`#${variableId} input`).clear();
6440
+ await this.page.locator(`#${variableId} input`).fill(value);
6441
+ return this;
6442
+ }
6443
+ async save() {
6444
+ await (0, $hOLA6$expect)(this.page.locator(".action-toolbar-actions button").filter({
6445
+ hasText: "Save"
6446
+ })).toBeEnabled();
6447
+ await this.page.locator(".action-toolbar-actions button").filter({
6448
+ hasText: "Save"
6449
+ }).click({
6450
+ force: true
6451
+ });
6452
+ }
6276
6453
  }
6277
6454
 
6278
6455
 
@@ -6364,7 +6541,9 @@ class $0c4084f199d70d72$export$8c8e7207254accc2 extends (0, $9626bc9256ce31f7$ex
6364
6541
  }
6365
6542
  async openTriggers() {
6366
6543
  await this.openTemplateMenu("Triggers");
6367
- await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Triggers")).toBeVisible();
6544
+ await (0, $hOLA6$expect)(this.page.getByLabel("breadcrumb").getByText("Triggers", {
6545
+ exact: true
6546
+ })).toBeVisible();
6368
6547
  }
6369
6548
  async backToTemplate() {
6370
6549
  await this.page.locator(".icon-back").click();
@@ -7177,6 +7356,10 @@ class $6c0f5b52769b32c3$var$ConfigurationInstancePage extends (0, $9626bc9256ce3
7177
7356
  await this.page.getByLabel(fieldName).click();
7178
7357
  return this;
7179
7358
  }
7359
+ // To avoid flakiness and clicking around the page, we can directly click on the header
7360
+ async clickHeader() {
7361
+ await this.page.locator(".configuration-instance-page h2").click();
7362
+ }
7180
7363
  async expectTextFieldToBe(fieldName, fieldValue) {
7181
7364
  (0, $hOLA6$expect)(await this.page.locator(`input[name=${fieldName}]`).getAttribute("value")).toContain(fieldValue);
7182
7365
  return this;