@digital-ai/devops-page-object-release 0.0.19 → 0.0.20

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
@@ -1576,7 +1576,7 @@ class $6a21661eb4695574$export$e946776eae644790 extends (0, $f8721861c660dd88$ex
1576
1576
  await this.page.waitForTimeout(1000);
1577
1577
  await this.retryButton.click();
1578
1578
  await this.commentBox.fill(comment);
1579
- await this.confirm.click();
1579
+ await this.page.getByTestId("popper-test-id-content-wrapper").getByTestId("dot-button").click();
1580
1580
  }
1581
1581
  async skipTask(comment) {
1582
1582
  await this.openMenu.click();
@@ -1869,6 +1869,10 @@ class $8681d8a3f46f87b7$export$d1077068a9cc9f17 extends (0, $f8721861c660dd88$ex
1869
1869
  }
1870
1870
  await this.page.keyboard.press("Escape");
1871
1871
  }
1872
+ async checkAbortOnFailure() {
1873
+ await this.page.locator("#release-form-abort-on-failure").check();
1874
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("#release-form-abort-on-failure")).toBeChecked();
1875
+ }
1872
1876
  }
1873
1877
 
1874
1878
 
@@ -2067,9 +2071,12 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2067
2071
  async expectNotFlagged() {
2068
2072
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flag-none-icon")).toBeHidden();
2069
2073
  }
2070
- async expectFlagOnTaskCard() {
2074
+ async expectRiskFlagOnTaskCard() {
2071
2075
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".risk-flag-icon")).toBeVisible();
2072
2076
  }
2077
+ async expectFlagOnCompletedTaskCard() {
2078
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".flag-count")).toBeVisible();
2079
+ }
2073
2080
  async refresh() {
2074
2081
  await this.page.reload();
2075
2082
  await this.page.waitForSelector("#release");
@@ -2332,6 +2339,38 @@ class $9b9a8c3da392d020$export$f43492e8ac3c566 extends (0, $f8721861c660dd88$exp
2332
2339
  }).click();
2333
2340
  await downloadPromise;
2334
2341
  }
2342
+ async expectTaskToBePresent(taskName) {
2343
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
2344
+ hasText: taskName
2345
+ })).toBeVisible();
2346
+ }
2347
+ async expectTaskNotToBePresent(taskName) {
2348
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".task").filter({
2349
+ hasText: taskName
2350
+ })).not.toBeVisible();
2351
+ }
2352
+ async toggleTaskFilter(filterOption) {
2353
+ this.clickFilterOptions();
2354
+ await this.page.locator(`#filter-container #${filterOption}`).click();
2355
+ this.clickFilterOptions();
2356
+ }
2357
+ async clickFilterOptions() {
2358
+ await this.page.locator("#release-header .dropdown-button").click();
2359
+ }
2360
+ async expectTaskToHaveFailed(title, failCount) {
2361
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2362
+ hasText: title
2363
+ }).locator(`.task-infos .failure-count.count-warning`)).toBeVisible();
2364
+ const count = await this.page.locator(`.task`).filter({
2365
+ hasText: title
2366
+ }).locator(`.task-infos .failure-count.count-warning`).innerText();
2367
+ (0, $kKeXs$playwrighttest.expect)(count).toContain(failCount.toString());
2368
+ }
2369
+ async expectTaskToHaveBeenDelayed(title) {
2370
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`.task`).filter({
2371
+ hasText: title
2372
+ }).locator(`.task-infos .delay-count`)).toBeVisible();
2373
+ }
2335
2374
  }
2336
2375
  class $9b9a8c3da392d020$var$Phase extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2337
2376
  constructor(page, phaseName){
@@ -2916,6 +2955,66 @@ class $ceb2e9e08e1837c2$var$Properties extends (0, $f8721861c660dd88$export$2b65
2916
2955
 
2917
2956
 
2918
2957
 
2958
+
2959
+ class $04ff53be95b7a0a4$export$32284f8bcf0bc407 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2960
+ constructor(page){
2961
+ super(page);
2962
+ this.inheritCheckbox = page.getByRole("checkbox");
2963
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2964
+ }
2965
+ async checkInheritNotifications() {
2966
+ await this.inheritCheckbox.click();
2967
+ if (await this.page.getByText("Override notification settings").isVisible()) await this.page.getByRole("button", {
2968
+ name: "Ok"
2969
+ }).click();
2970
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("checkbox")).toBeChecked();
2971
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".xl-icon.edit-icon")).not.toBeVisible();
2972
+ }
2973
+ async uncheckInheritNotifications() {
2974
+ await this.inheritCheckbox.dblclick();
2975
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("checkbox")).not.toBeChecked();
2976
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".xl-icon.edit-icon").first()).toBeVisible();
2977
+ }
2978
+ async expectRecipientsNotToBeEditable(eventName) {
2979
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2980
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).not.toBeVisible();
2981
+ }
2982
+ async deleteTeam(eventName, teamName) {
2983
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2984
+ await this.page.locator(`[data-test="${eventName}"] div.role`).filter({
2985
+ hasText: teamName
2986
+ }).locator("a.tag-close").click();
2987
+ }
2988
+ async expectEditMessageIsVisible(eventName) {
2989
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2990
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message")).toBeVisible();
2991
+ }
2992
+ async addTeam(eventName, teamName) {
2993
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
2994
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").click();
2995
+ await this.page.locator(`[data-test="${eventName}"]`).getByPlaceholder("Add...").fill(teamName);
2996
+ await this.page.locator(`[data-test="${eventName}"]`).getByText(teamName).click();
2997
+ }
2998
+ async clickEditMessage(eventName) {
2999
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
3000
+ await this.page.locator(`[data-test="${eventName}"]`).getByText("Edit Message").click();
3001
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Edit message: Active task")).toBeVisible();
3002
+ }
3003
+ async editPriority(eventName, priority) {
3004
+ eventName = eventName.replace(/\s+/g, "_").toUpperCase();
3005
+ await this.page.getByRole("combobox").locator("i").click();
3006
+ await this.page.getByRole("option", {
3007
+ name: priority
3008
+ }).click();
3009
+ await this.page.getByRole("button", {
3010
+ name: "Save"
3011
+ }).click();
3012
+ }
3013
+ }
3014
+
3015
+
3016
+
3017
+
2919
3018
  class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
2920
3019
  constructor(page){
2921
3020
  super(page);
@@ -2924,6 +3023,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
2924
3023
  name: " Expand"
2925
3024
  });
2926
3025
  this.folderGroupsPage = new (0, $0767ec703ce1f9a5$export$572f40d328c1d028)(page);
3026
+ this.notificationPage = new (0, $04ff53be95b7a0a4$export$32284f8bcf0bc407)(page);
2927
3027
  this.patternPage = new (0, $ceb2e9e08e1837c2$export$9b9454a7f137e99b)(page);
2928
3028
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
2929
3029
  }
@@ -2954,7 +3054,7 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
2954
3054
  }
2955
3055
  async openFolder(folderName) {
2956
3056
  await this.page.getByTitle(folderName).waitFor({
2957
- timeout: 500
3057
+ timeout: 1000
2958
3058
  });
2959
3059
  await this.page.getByTitle(folderName).click();
2960
3060
  await (0, $kKeXs$playwrighttest.expect)(this.page.locator(".MuiBreadcrumbs-li").getByRole("link", {
@@ -3059,6 +3159,10 @@ class $9058d40a81bdb1f5$export$b453f08936c58edb extends (0, $f8721861c660dd88$ex
3059
3159
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Deliveries")).toBeVisible();
3060
3160
  return this.deliveryPage;
3061
3161
  }
3162
+ async openNotifications() {
3163
+ await this.util.openSideNavMenu("Notifications");
3164
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
3165
+ }
3062
3166
  }
3063
3167
 
3064
3168
 
@@ -3199,9 +3303,143 @@ class $506d511737b3ea46$export$74ca1eaaa9a0054 extends (0, $f8721861c660dd88$exp
3199
3303
 
3200
3304
 
3201
3305
 
3306
+
3202
3307
  class $9ef669cf95557cb5$export$36d69433c4f81145 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3203
3308
  constructor(page){
3204
3309
  super(page);
3310
+ this.configureButton = this.page.getByRole("button", {
3311
+ name: "Configure"
3312
+ });
3313
+ this.viewModeButton = this.page.getByRole("button", {
3314
+ name: "back icon Back to view mode"
3315
+ });
3316
+ }
3317
+ async verifyHomePage() {
3318
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3319
+ name: "Digital.ai Release Home"
3320
+ })).toBeVisible();
3321
+ }
3322
+ async verifyConfigureButton() {
3323
+ await this.configureButton.click();
3324
+ await (0, $kKeXs$playwrighttest.expect)(this.viewModeButton).toBeVisible();
3325
+ await this.viewModeButton.click();
3326
+ }
3327
+ async addReleaseTiles() {
3328
+ await this.configureButton.click();
3329
+ await this.page.getByRole("button", {
3330
+ name: "Add tiles"
3331
+ }).click();
3332
+ await this.page.getByPlaceholder("Search...").fill("releases");
3333
+ await this.page.getByPlaceholder("Search...").click();
3334
+ await this.page.getByText("Release tile (Global)").hover();
3335
+ await this.page.locator("xlr-tile-card").filter({
3336
+ hasText: "Release tile (Global) Add See"
3337
+ }).getByRole("button").click();
3338
+ await this.page.getByRole("button", {
3339
+ name: "back icon Back to view mode"
3340
+ }).click();
3341
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3342
+ name: "Releases"
3343
+ }).first()).toBeVisible();
3344
+ }
3345
+ async addWorkflowTiles() {
3346
+ await this.page.getByRole("button", {
3347
+ name: "Add tiles"
3348
+ }).click();
3349
+ await this.page.getByText("Workflow tile (Global)").hover();
3350
+ await this.page.locator("xlr-tile-card").filter({
3351
+ hasText: "Workflow tile (Global) Add"
3352
+ }).getByRole("button").click();
3353
+ await this.page.getByRole("button", {
3354
+ name: "back icon Back to view mode"
3355
+ }).click();
3356
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3357
+ name: "Introducing Workflows"
3358
+ }).first()).toBeVisible();
3359
+ }
3360
+ async addApplicationTiles() {
3361
+ await this.page.getByRole("button", {
3362
+ name: "Add tiles"
3363
+ }).click();
3364
+ await this.page.getByText("Application tile (Global)").hover();
3365
+ await this.page.locator("xlr-tile-card").filter({
3366
+ hasText: "Application tile (Global) Add"
3367
+ }).getByRole("button").click();
3368
+ await this.page.getByRole("button", {
3369
+ name: "back icon Back to view mode"
3370
+ }).click();
3371
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3372
+ name: "Applications"
3373
+ }).first()).toBeVisible();
3374
+ }
3375
+ async addTemplateTiles() {
3376
+ await this.page.getByRole("button", {
3377
+ name: "Add tiles"
3378
+ }).click();
3379
+ await this.page.getByText("Template tile (Global)").hover();
3380
+ await this.page.locator("xlr-tile-card").filter({
3381
+ hasText: "Template tile (Global) Add"
3382
+ }).getByRole("button").click();
3383
+ await this.page.getByRole("button", {
3384
+ name: "back icon Back to view mode"
3385
+ }).click();
3386
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3387
+ name: "Templates"
3388
+ }).first()).toBeVisible();
3389
+ }
3390
+ async addAnnouncementTiles() {
3391
+ await this.page.getByRole("button", {
3392
+ name: "Add tiles"
3393
+ }).click();
3394
+ await this.page.getByText("Announcement tile (Global)").hover();
3395
+ await this.page.locator("xlr-tile-card").filter({
3396
+ hasText: "Announcement tile (Global) Add"
3397
+ }).getByRole("button").click();
3398
+ await this.page.getByRole("button", {
3399
+ name: "back icon Back to view mode"
3400
+ }).click();
3401
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3402
+ name: "Getting started"
3403
+ }).first()).toBeVisible();
3404
+ }
3405
+ async addAnaslyticsTiles() {
3406
+ await this.page.getByRole("button", {
3407
+ name: "Add tiles"
3408
+ }).click();
3409
+ await this.page.getByText("Analytics tile (Global)").hover();
3410
+ await this.page.locator("xlr-tile-card").filter({
3411
+ hasText: "Analytics tile (Global) Add"
3412
+ }).getByRole("button").click();
3413
+ await this.page.getByRole("button", {
3414
+ name: "back icon Back to view mode"
3415
+ }).click();
3416
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("button", {
3417
+ name: "View Analytics"
3418
+ }).nth(1)).toBeVisible();
3419
+ }
3420
+ /**
3421
+ * Remove the tiles from the home page
3422
+ * @param tileName name of the tile to be removed
3423
+ * tileName TileName should be "Releases", "Workflows", "Applications", "Templates", "Announcements", "Analytics"
3424
+ */ async removeTiles(tileName) {
3425
+ await this.configureButton.click();
3426
+ await this.page.locator('.xlr-tile-container[data-title="' + tileName + '"]').last().hover();
3427
+ await this.page.locator('[data-title="' + tileName + '"] .delete-icon').last().click();
3428
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3429
+ name: "Delete tile"
3430
+ })).toBeVisible();
3431
+ await this.page.getByRole("button", {
3432
+ name: "Delete"
3433
+ }).click();
3434
+ await this.viewModeButton.click();
3435
+ }
3436
+ async verifyWhatsNewButton() {
3437
+ await this.page.getByText(`What's new`).waitFor({
3438
+ state: "visible"
3439
+ });
3440
+ await this.page.getByText(`What's new`).click();
3441
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByText("Introducing Analytics")).toBeVisible();
3442
+ await this.page.getByLabel("Close").click();
3205
3443
  }
3206
3444
  }
3207
3445
 
@@ -3282,7 +3520,7 @@ class $00fc48341ebf7de4$export$2fb4351c41ce6e7a extends (0, $f8721861c660dd88$ex
3282
3520
  }).click();
3283
3521
  }
3284
3522
  async verifyUser(userFullName) {
3285
- await this.page.getByText(userFullName).click();
3523
+ await this.page.locator("li").getByLabel(userFullName).click();
3286
3524
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3287
3525
  name: "Personal settings for admin"
3288
3526
  })).toBeVisible();
@@ -3527,6 +3765,50 @@ class $3ceab7c613cabfd6$export$107317390f5aa598 extends (0, $f8721861c660dd88$ex
3527
3765
 
3528
3766
 
3529
3767
 
3768
+
3769
+
3770
+ class $7bcc05352d6debcf$export$5628dfd1b9e94785 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3771
+ constructor(page){
3772
+ super(page);
3773
+ }
3774
+ async installReleaseRunner(headingName) {
3775
+ await this.page.locator(".workflow-card").filter({
3776
+ hasText: headingName
3777
+ }).getByTestId("dot-button").click();
3778
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3779
+ name: "Choose folder"
3780
+ })).toBeVisible();
3781
+ await this.page.locator(".xl__dropdown-indicator-container").click();
3782
+ await this.page.getByText("Samples & Tutorials").click();
3783
+ await this.page.getByRole("button", {
3784
+ name: "Run workflow"
3785
+ }).click();
3786
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).toBeVisible();
3787
+ await this.page.getByRole("heading", {
3788
+ name: "Prepare Digital.ai Release URL"
3789
+ }).waitFor();
3790
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3791
+ name: "Prepare Digital.ai Release URL"
3792
+ })).toBeVisible();
3793
+ await this.page.getByRole("heading", {
3794
+ name: "Digital.ai Release URL"
3795
+ }).nth(2).waitFor();
3796
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3797
+ name: "Digital.ai Release URL"
3798
+ }).nth(2)).toBeVisible();
3799
+ }
3800
+ async abortInstallation() {
3801
+ await this.page.getByRole("button", {
3802
+ name: "Abort"
3803
+ }).click();
3804
+ await this.page.getByRole("button", {
3805
+ name: "cancel icon Abort"
3806
+ }).click();
3807
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Install additional Digital.ai")).not.toBeVisible();
3808
+ }
3809
+ }
3810
+
3811
+
3530
3812
  class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
3531
3813
  constructor(page){
3532
3814
  super(page);
@@ -3539,6 +3821,19 @@ class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$ex
3539
3821
  this.managePluginMenu = this.page.getByRole("menuitem", {
3540
3822
  name: "plugins icon Manage plugins"
3541
3823
  });
3824
+ this.systemSettingsMenu = this.page.getByRole("menuitem", {
3825
+ name: "System settings"
3826
+ });
3827
+ this.runnerMenu = this.page.getByText("Runners");
3828
+ this.configureSystemMessageMenu = this.page.getByText("Configure system message");
3829
+ this.taskManagerMenu = this.page.getByText("Task manager");
3830
+ this.viewSystemInfoMenu = this.page.getByText("View system information");
3831
+ this.getDataSupportMenu = this.page.getByText("Get data for support");
3832
+ this.renewLicenseMenu = this.page.getByText("Renew license");
3833
+ this.aboutMenu = this.page.getByText("About Digital.ai Release");
3834
+ this.closeIcon = this.page.locator(".xl-icon.close-icon");
3835
+ this.installRunnerButton = this.page.getByTestId("create-btn");
3836
+ this.workflowCatalogPage = new (0, $7bcc05352d6debcf$export$5628dfd1b9e94785)(page);
3542
3837
  }
3543
3838
  async openUsersAndPermissions() {
3544
3839
  await this.settingsIcon.click();
@@ -3549,6 +3844,105 @@ class $7867194f18360347$export$1d7840d5cdc861d5 extends (0, $f8721861c660dd88$ex
3549
3844
  await this.managePluginMenu.click();
3550
3845
  await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Plugin gallery")).toBeVisible();
3551
3846
  }
3847
+ async openSystemSettings() {
3848
+ await this.settingsIcon.click();
3849
+ await this.systemSettingsMenu.click();
3850
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("System settings")).toBeVisible();
3851
+ }
3852
+ async openRunner() {
3853
+ await this.settingsIcon.click();
3854
+ await this.runnerMenu.click();
3855
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
3856
+ name: "Runners"
3857
+ })).toBeVisible();
3858
+ }
3859
+ async openConfigureSystemMessage() {
3860
+ await this.settingsIcon.click();
3861
+ await this.configureSystemMessageMenu.click();
3862
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3863
+ name: "System message"
3864
+ })).toBeVisible();
3865
+ await this.closeIcon.click();
3866
+ }
3867
+ async configureSystemMessage(message) {
3868
+ await this.settingsIcon.click();
3869
+ await this.configureSystemMessageMenu.click();
3870
+ await this.page.getByLabel("Enable system message").check();
3871
+ await this.page.getByLabel("Type here...").locator("div").nth(2).click();
3872
+ await this.page.getByLabel("Type here...").fill(message);
3873
+ await this.page.getByRole("button", {
3874
+ name: "Save"
3875
+ }).click();
3876
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("system-message")).toContainText(message);
3877
+ }
3878
+ async disableSystemMessage() {
3879
+ await this.settingsIcon.click();
3880
+ await this.configureSystemMessageMenu.click();
3881
+ await this.page.getByLabel("Enable system message").uncheck();
3882
+ await this.page.getByRole("button", {
3883
+ name: "Save"
3884
+ }).click();
3885
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("alert")).not.toBeVisible();
3886
+ }
3887
+ async openTaskManager() {
3888
+ await this.settingsIcon.click();
3889
+ await this.taskManagerMenu.click();
3890
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("link", {
3891
+ name: "Task manager"
3892
+ })).toBeVisible();
3893
+ }
3894
+ async openViewSystemInformation() {
3895
+ const versionNumber = await this.getVersionNumber();
3896
+ await this.settingsIcon.click();
3897
+ await this.viewSystemInfoMenu.click();
3898
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3899
+ name: "Release system information"
3900
+ })).toBeVisible();
3901
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("rowgroup")).toContainText(versionNumber);
3902
+ }
3903
+ async openGetDataForSupport() {
3904
+ await this.settingsIcon.click();
3905
+ await this.getDataSupportMenu.click();
3906
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3907
+ name: "Get data for support"
3908
+ })).toBeVisible();
3909
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("support-accelerator-modal")).toContainText("See https://support.digital.ai for more information or to open a support request.");
3910
+ }
3911
+ async downloadSupportData() {
3912
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3913
+ this.page.on("download", ()=>{});
3914
+ const downloadPromise = this.page.waitForEvent("download");
3915
+ await this.page.getByRole("button", {
3916
+ name: "Download"
3917
+ }).click();
3918
+ await downloadPromise;
3919
+ }
3920
+ async openRenewLicense() {
3921
+ await this.settingsIcon.click();
3922
+ const page1Promise = this.page.waitForEvent("popup");
3923
+ await this.page.getByText("Renew license").click();
3924
+ const page1 = await page1Promise;
3925
+ (0, $kKeXs$playwrighttest.expect)(page1.url()).toContain("/productregistration");
3926
+ await (0, $kKeXs$playwrighttest.expect)(page1.getByRole("button", {
3927
+ name: "Install license"
3928
+ })).toBeVisible();
3929
+ await this.page.bringToFront();
3930
+ }
3931
+ async getVersionNumber() {
3932
+ await this.settingsIcon.click();
3933
+ await this.aboutMenu.click();
3934
+ const versionNumber = await this.page.locator(".version-text").innerText();
3935
+ await this.closeIcon.click();
3936
+ return versionNumber;
3937
+ }
3938
+ async openAbout() {
3939
+ await this.settingsIcon.click();
3940
+ await this.aboutMenu.click();
3941
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("heading", {
3942
+ name: "About"
3943
+ })).toBeVisible();
3944
+ await this.closeIcon.click();
3945
+ }
3552
3946
  }
3553
3947
 
3554
3948
 
@@ -4643,6 +5037,181 @@ class $8b6ce149dd48e48b$export$7e1d435fa474ee21 extends (0, $f8721861c660dd88$ex
4643
5037
 
4644
5038
 
4645
5039
 
5040
+
5041
+
5042
+
5043
+
5044
+ class $2d500a377e2eb070$export$97f7a3219fa8d586 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5045
+ constructor(page){
5046
+ super(page);
5047
+ this.roleName = page.locator("Role name *");
5048
+ this.newRoleName = page.locator("Role name *");
5049
+ this.addPrincipal = page.locator("Add a principal...");
5050
+ this.saveButton = page.getByRole("button", {
5051
+ name: "Save"
5052
+ });
5053
+ this.editIcon = page.getByRole("row", {
5054
+ name: ""
5055
+ }).getByLabel("Edit", {
5056
+ exact: true
5057
+ });
5058
+ this.deleteButton = page.getByRole("button", {
5059
+ name: "Delete"
5060
+ });
5061
+ this.searchRoles = page.getByPlaceholder("Search roles...");
5062
+ }
5063
+ async setRoleName(roleName) {
5064
+ return await this.page.getByLabel("Role name *").fill(roleName, {
5065
+ timeout: 1000
5066
+ });
5067
+ }
5068
+ async editRoleName(newRoleName) {
5069
+ return await this.page.getByLabel("Role name *").fill(newRoleName, {
5070
+ timeout: 1000
5071
+ });
5072
+ }
5073
+ async setPrincipal(addPrincipal) {
5074
+ await this.page.getByPlaceholder("Add a principal...").fill(addPrincipal, {
5075
+ timeout: 1000
5076
+ });
5077
+ }
5078
+ async searchRoleByRoleName(searchRoles) {
5079
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
5080
+ timeout: 1000
5081
+ });
5082
+ }
5083
+ async save() {
5084
+ await this.saveButton.isEnabled();
5085
+ await (0, $kKeXs$playwrighttest.expect)(this.saveButton).not.toBeDisabled();
5086
+ await this.saveButton.focus();
5087
+ await this.saveButton.click();
5088
+ }
5089
+ async delete() {
5090
+ await this.deleteButton.click();
5091
+ }
5092
+ }
5093
+
5094
+
5095
+ class $84dbf24c796d0540$export$7a5b979a220f477c extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5096
+ constructor(page){
5097
+ super(page);
5098
+ this.page = page;
5099
+ this.newRoleButton = this.page.getByTestId("new-role-btn");
5100
+ this.modal = new (0, $2d500a377e2eb070$export$97f7a3219fa8d586)(page);
5101
+ }
5102
+ async createRole(roleName, addPrincipal) {
5103
+ await this.newRoleButton.click();
5104
+ await this.modal.setRoleName(roleName);
5105
+ await this.modal.setPrincipal(addPrincipal);
5106
+ await this.modal.save();
5107
+ await this.expectToViewCreatedRole(roleName);
5108
+ }
5109
+ async editRole(roleName, newRoleName) {
5110
+ await this.page.getByRole("row", {
5111
+ name: roleName
5112
+ }).getByLabel("Edit", {
5113
+ exact: true
5114
+ }).click();
5115
+ await this.modal.editRoleName(newRoleName);
5116
+ await this.modal.save();
5117
+ }
5118
+ async searchRoleByRoleName(searchRoles) {
5119
+ await this.page.getByPlaceholder("Search roles...").fill(searchRoles, {
5120
+ timeout: 1000
5121
+ });
5122
+ }
5123
+ async searchRoleByAssignedUsername(searchRolesByUsername) {
5124
+ await this.page.getByPlaceholder("Search assigned usernames or external groups...").fill(searchRolesByUsername, {
5125
+ timeout: 1000
5126
+ });
5127
+ }
5128
+ async deleteRole(roleName) {
5129
+ await this.page.getByRole("row", {
5130
+ name: roleName
5131
+ }).getByLabel("Delete", {
5132
+ exact: true
5133
+ }).click();
5134
+ await this.modal.delete();
5135
+ }
5136
+ async expectToViewRolesPage() {
5137
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("text=Principals")).toBeVisible();
5138
+ }
5139
+ async expectToViewCreatedRole(roleName) {
5140
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5141
+ name: roleName
5142
+ })).toBeVisible();
5143
+ }
5144
+ async expectToViewEditedRole(roleName) {
5145
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5146
+ name: roleName
5147
+ })).toBeVisible();
5148
+ }
5149
+ async expectRoleToBeDeleted(roleName) {
5150
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByRole("cell", {
5151
+ name: roleName
5152
+ })).toBeHidden();
5153
+ }
5154
+ async expectToViewSearchedRole(roleName) {
5155
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("roles-page")).toContainText(roleName);
5156
+ }
5157
+ async expectToViewSearchedRoleByUsername(userName) {
5158
+ await (0, $kKeXs$playwrighttest.expect)(this.page.locator("roles-page")).toContainText(userName);
5159
+ }
5160
+ }
5161
+
5162
+
5163
+
5164
+
5165
+
5166
+
5167
+ class $dbc8f157e7b24b12$export$2edf430132ca35d0 extends (0, $f8721861c660dd88$export$2b65d1d97338f32b) {
5168
+ constructor(page){
5169
+ super(page);
5170
+ this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
5171
+ }
5172
+ async openGeneralSettings() {
5173
+ await this.util.openSideNavMenu("General");
5174
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("General")).toBeVisible();
5175
+ }
5176
+ async openReleasesAndTriggers() {
5177
+ await this.util.openSideNavMenu("Releases and Triggers");
5178
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Releases and Triggers")).toBeVisible();
5179
+ }
5180
+ async openTasks() {
5181
+ await this.util.openSideNavMenu("Tasks");
5182
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Tasks")).toBeVisible();
5183
+ }
5184
+ async openReports() {
5185
+ await this.util.openSideNavMenu("Reports");
5186
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Reports")).toBeVisible();
5187
+ }
5188
+ async openAdvanced() {
5189
+ await this.util.openSideNavMenu("Advanced");
5190
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Advanced")).toBeVisible();
5191
+ }
5192
+ async openExperimental() {
5193
+ await this.util.openSideNavMenu("Experimental");
5194
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Experimental")).toBeVisible();
5195
+ }
5196
+ async openNotifications() {
5197
+ await this.util.openSideNavMenu("Notifications");
5198
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Notifications")).toBeVisible();
5199
+ }
5200
+ async openRiskProfiles() {
5201
+ await this.util.openSideNavMenu("Risk profiles");
5202
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Risk profiles")).toBeVisible();
5203
+ }
5204
+ async openWorkflowCategories() {
5205
+ await this.util.openSideNavMenu("Workflow categories");
5206
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("Workflow categories")).toBeVisible();
5207
+ }
5208
+ async openSMTPServer() {
5209
+ await this.util.openSideNavMenu("SMTP server");
5210
+ await (0, $kKeXs$playwrighttest.expect)(this.page.getByLabel("breadcrumb").getByText("SMTP server")).toBeVisible();
5211
+ }
5212
+ }
5213
+
5214
+
4646
5215
  class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
4647
5216
  constructor(page){
4648
5217
  this.page = page;
@@ -4655,6 +5224,7 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
4655
5224
  this.managePluginsPage = new (0, $b4d98f757ef92467$export$7b434e00c788d0bf)(page);
4656
5225
  this.releasePage = new (0, $9b9a8c3da392d020$export$f43492e8ac3c566)(page);
4657
5226
  this.settingsMenu = new (0, $7867194f18360347$export$1d7840d5cdc861d5)(page);
5227
+ this.systemSettingsPage = new (0, $dbc8f157e7b24b12$export$2edf430132ca35d0)(page);
4658
5228
  this.usersPage = new (0, $3ceab7c613cabfd6$export$107317390f5aa598)(page);
4659
5229
  this.applicationPage = new (0, $dc91ece6da6cadfa$export$1533b625ec0c75e2)(page);
4660
5230
  this.taskDetailsPage = new (0, $a642d735048996f9$export$922081b54f2ab994)(page);
@@ -4666,7 +5236,9 @@ class $4ef41cf96a5fae4c$export$b8a61e5c71402559 {
4666
5236
  this.releaseGroupPage = new (0, $a6a3c1345fc4767e$export$b6fbc3e67030138f)(page);
4667
5237
  this.releaseGroupTimelinePage = new (0, $3fad6a9449b6416f$export$1a0994e9c202d529)(page);
4668
5238
  this.releaseListPage = new (0, $87643f2d97b0644e$export$a678525e79c4ccc4)(page);
5239
+ this.rolesPage = new (0, $84dbf24c796d0540$export$7a5b979a220f477c)(page);
4669
5240
  this.util = new (0, $2c89ba54932fbba8$export$f8f26dd395d7e1bd)(page);
5241
+ this.workflowCatalogPage = new (0, $7bcc05352d6debcf$export$5628dfd1b9e94785)(page);
4670
5242
  }
4671
5243
  async openTemplate(id) {
4672
5244
  return this.openReleaseOrTemplate(id, false);
@@ -5697,17 +6269,41 @@ class $6998c6a53a9eb4fa$var$Fixtures {
5697
6269
  getParentId(id) {
5698
6270
  return id.substring(0, id.lastIndexOf("/"));
5699
6271
  }
6272
+ addSystemTeams(teams) {
6273
+ const systemTeams = [
6274
+ "Folder Owner",
6275
+ "Release Admin",
6276
+ "Template Owner"
6277
+ ];
6278
+ const teamsToUpdate = teams.map((team)=>team.teamName);
6279
+ systemTeams.forEach((teamName)=>{
6280
+ if (teamsToUpdate.indexOf(teamName) === -1) teams.push({
6281
+ type: "xlrelease.Team",
6282
+ teamName: teamName,
6283
+ members: [],
6284
+ permissions: []
6285
+ });
6286
+ });
6287
+ return teams;
6288
+ }
5700
6289
  async folder(folder) {
5701
6290
  const parentId = this.getParentId(folder.id);
5702
6291
  folder.type = "xlrelease.Folder";
5703
- //ToDo: Add system teams
5704
- const teams = folder.teams;
6292
+ let teams = folder.teams;
5705
6293
  delete folder.teams;
5706
6294
  //ToDo: Add Children
5707
6295
  /* eslint-disable @typescript-eslint/no-unused-vars */ const children = folder.children || [];
5708
6296
  delete folder.children;
5709
- if (teams) return this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
5710
- return this.doPost(`api/v1/folders/${parentId}`, folder);
6297
+ const response = await this.doPost(`api/v1/folders/${parentId}`, folder);
6298
+ // Add the folder ID to the list
6299
+ this.folderIds.push(folder.id);
6300
+ // If teams are provided, send a request to add teams to the folder
6301
+ if (teams) {
6302
+ teams = this.addSystemTeams(teams);
6303
+ const newresponse = await this.doPost(`api/v1/folders/${folder.id}/teams`, teams);
6304
+ return newresponse;
6305
+ }
6306
+ return response;
5711
6307
  }
5712
6308
  createFolder(folderJson) {
5713
6309
  folderJson.type = "xlrelease.Folder";