@digital-ai/devops-page-object-deploy 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/main.js +659 -98
- package/dist/main.js.map +1 -1
- package/dist/module.js +659 -98
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +403 -42
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/main.js
CHANGED
|
@@ -330,24 +330,110 @@ class $7dcee016eeec0e08$export$f14c0e3f98d164c0 extends (0, $ae23b16684112d0b$ex
|
|
|
330
330
|
|
|
331
331
|
|
|
332
332
|
|
|
333
|
+
class $dcea22adf7bc9211$export$7db63d2c950874b5 {
|
|
334
|
+
constructor(page1, page){
|
|
335
|
+
this.applicationPage = page1;
|
|
336
|
+
this.page = page;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Create New directory under applications CI.
|
|
340
|
+
* @param appDirectoryName
|
|
341
|
+
* @param expectedCiType
|
|
342
|
+
*/ async createNewApplicationDirectory(appDirectoryName, expectedCiType) {
|
|
343
|
+
await this.applicationPage.contextMenu.clickApplicationCi();
|
|
344
|
+
await this.applicationPage.contextMenu.clickMenuPath([
|
|
345
|
+
"new",
|
|
346
|
+
"directory"
|
|
347
|
+
]);
|
|
348
|
+
await this.applicationPage.form.assertSaveButtonIsDisabled();
|
|
349
|
+
await this.applicationPage.form.assertSaveAndCloseButtonIsDisabled();
|
|
350
|
+
await this.applicationPage.form.enterName(appDirectoryName);
|
|
351
|
+
await this.applicationPage.tab.assertActiveTabSelector("Create " + expectedCiType);
|
|
352
|
+
await this.applicationPage.form.clickSaveAndClose();
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Create new application under Application ci
|
|
356
|
+
* @param appName
|
|
357
|
+
* @param expectedCiType
|
|
358
|
+
*/ async createNewApplication(appName, expectedCiType) {
|
|
359
|
+
await this.applicationPage.contextMenu.clickApplicationCi();
|
|
360
|
+
await this.applicationPage.contextMenu.clickMenuPath([
|
|
361
|
+
"new",
|
|
362
|
+
"application"
|
|
363
|
+
]);
|
|
364
|
+
await this.applicationPage.form.assertSaveButtonIsDisabled();
|
|
365
|
+
await this.applicationPage.form.assertSaveAndCloseButtonIsDisabled();
|
|
366
|
+
await this.applicationPage.form.enterName(appName);
|
|
367
|
+
await this.applicationPage.form.clickSaveAndClose();
|
|
368
|
+
await this.applicationPage.tab.assertActiveTabSelector("Create " + expectedCiType);
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* TODO: It is half done just to check on menu path other than new. Need to create as per scenario.
|
|
372
|
+
*/ async createFromFileImport() {
|
|
373
|
+
await this.applicationPage.contextMenu.clickApplicationCi();
|
|
374
|
+
await this.applicationPage.contextMenu.clickMenuPath([
|
|
375
|
+
"import",
|
|
376
|
+
"fromComputer"
|
|
377
|
+
]);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
|
|
333
382
|
|
|
334
|
-
|
|
383
|
+
|
|
384
|
+
class $0a8f56f4ec9e6ec3$export$3e41faf802a29e71 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
335
385
|
constructor(page){
|
|
336
|
-
super(page
|
|
386
|
+
super(page);
|
|
337
387
|
this.page = page;
|
|
338
|
-
this.
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
this.
|
|
343
|
-
|
|
344
|
-
|
|
388
|
+
this.parentTabLocator = this.page.locator(".working-panel-section .xl-react-tab-system");
|
|
389
|
+
this.getTabTitleLocator = this.parentTabLocator.locator("li.active .tab-title");
|
|
390
|
+
this.closeIcon = this.page.locator(".xl-icon.close-ico");
|
|
391
|
+
this.tabSelector = this.parentTabLocator.locator(".tab-pane");
|
|
392
|
+
this.tabTitle = this.parentTabLocator.locator(".tab-title");
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Assert active tab title with expected value.
|
|
396
|
+
* @param expectedCiType
|
|
397
|
+
* @returns
|
|
398
|
+
*/ async assertActiveTabSelector(expectedCiType) {
|
|
399
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.getTabTitleLocator).toHaveText(expectedCiType, {
|
|
400
|
+
ignoreCase: true
|
|
345
401
|
});
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Close the active tab by clicking close button
|
|
405
|
+
*/ async closeActiveTabs() {
|
|
406
|
+
if (await this.closeIcon.isVisible()) await this.parentTabLocator.locator(".nav .active .close-icon").click();
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Verify there is no tabs are opened.
|
|
410
|
+
*/ async noTabsOpened() {
|
|
411
|
+
await (0, $1UEKj$playwrighttest.expect)(this.tabSelector).not.toBeVisible();
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Expect the given tab title is present in tab opened
|
|
415
|
+
* @param tabTitle
|
|
416
|
+
* @returns
|
|
417
|
+
*/ async expectTabOpened(tabTitle) {
|
|
418
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.tabTitle).toHaveText(tabTitle);
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Expect the given tab title is not present in tab opened
|
|
422
|
+
* @param tabTitle
|
|
423
|
+
* @returns
|
|
424
|
+
*/ async expectTabNotOpened(tabTitle) {
|
|
425
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.tabTitle).not.toHaveText(tabTitle);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
class $9dd8dd888e812fd7$export$133beb65adbc45a3 extends (0, $7149ac56b8ddfcf1$export$d9b273488cd8ce6f) {
|
|
432
|
+
constructor(page){
|
|
433
|
+
super(page.locator("#context-menu-popover"), page.locator("i[data-id=Applications].context-menu-button"), page.locator(".dropdown-menu.multi-level.dropdown-menu-0"));
|
|
434
|
+
this.page = page;
|
|
346
435
|
this.applicationLocator = page.locator('div[data-id="Applications"]');
|
|
347
|
-
this.
|
|
348
|
-
name: "Delete",
|
|
349
|
-
exact: true
|
|
350
|
-
});
|
|
436
|
+
this.environmentLocator = page.locator('div[data-id="Environments"]');
|
|
351
437
|
}
|
|
352
438
|
/**
|
|
353
439
|
* Click on application CI in contextual-menu option.
|
|
@@ -356,6 +442,12 @@ class $b375bc430f279b15$export$b477143f7ffae077 extends (0, $7149ac56b8ddfcf1$ex
|
|
|
356
442
|
await this.openContextualMenuDots();
|
|
357
443
|
}
|
|
358
444
|
/**
|
|
445
|
+
* Click on application CI in contextual-menu option.
|
|
446
|
+
*/ async clickEnvironmentCi() {
|
|
447
|
+
await this.environmentLocator.click();
|
|
448
|
+
await this.openContextualMenuDots();
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
359
451
|
* Click on menu items from contextual-menu option using path navigation option
|
|
360
452
|
* @param path: Provide menu navigation path using array
|
|
361
453
|
* eg: ['new','Application'] -> to click on menu to create new application
|
|
@@ -382,7 +474,7 @@ class $50f6953b9762c03c$export$a7fed597f4b8afd8 extends (0, $b031bda8df4df200$ex
|
|
|
382
474
|
}
|
|
383
475
|
|
|
384
476
|
|
|
385
|
-
class $
|
|
477
|
+
class $f0e8ecb73642aac7$export$13ee474454c1948e extends (0, $50f6953b9762c03c$export$a7fed597f4b8afd8) {
|
|
386
478
|
constructor(page){
|
|
387
479
|
super(page.locator(".dip-view-body"));
|
|
388
480
|
this.page = page;
|
|
@@ -400,6 +492,10 @@ class $b90c33a29683027b$export$60413e28724d3abd extends (0, $50f6953b9762c03c$ex
|
|
|
400
492
|
name: "Cancel",
|
|
401
493
|
exact: true
|
|
402
494
|
});
|
|
495
|
+
this.errorMessage = page.locator(".error");
|
|
496
|
+
this.formSection = page.locator(".xl-react-components.xl-react-dip-dynamic-form");
|
|
497
|
+
this.refreshButton = page.locator("i.refresh");
|
|
498
|
+
this.inputRename = page.locator(".infinite-tree-rename-input");
|
|
403
499
|
}
|
|
404
500
|
/**
|
|
405
501
|
* Enter name in name field of the application form
|
|
@@ -445,87 +541,105 @@ class $b90c33a29683027b$export$60413e28724d3abd extends (0, $50f6953b9762c03c$ex
|
|
|
445
541
|
*/ async assertSaveAndCloseButtonIsDisabled() {
|
|
446
542
|
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();
|
|
447
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Verify Error message in the form
|
|
546
|
+
* @param errorMsg
|
|
547
|
+
* @returns
|
|
548
|
+
*/ async verifyErrorMessage(errorMsg) {
|
|
549
|
+
return (0, $1UEKj$playwrighttest.expect)(await this.findElementInSection(this.errorMessage).textContent()).toContain(errorMsg);
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Verify field value in form using field name
|
|
553
|
+
* @param fieldName
|
|
554
|
+
* @param expectedValue
|
|
555
|
+
* @returns
|
|
556
|
+
*/ async verifyFieldValue(fieldName, expectedValue) {
|
|
557
|
+
const label = this.formSection.locator('//label[text()="' + fieldName + '"]/parent::div/parent::div');
|
|
558
|
+
const input = label.locator(".xl-react-components-input input");
|
|
559
|
+
const result = await input.getAttribute("value");
|
|
560
|
+
return (0, $1UEKj$playwrighttest.expect)(result).toEqual(expectedValue);
|
|
561
|
+
}
|
|
448
562
|
}
|
|
449
563
|
|
|
450
564
|
|
|
451
565
|
|
|
452
|
-
class $
|
|
453
|
-
constructor(
|
|
454
|
-
|
|
455
|
-
this.
|
|
566
|
+
class $749097e2d65c1527$export$2b77a92f1a5ad772 extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
|
|
567
|
+
constructor(page){
|
|
568
|
+
super(page.locator(".xl-react-modal-content"));
|
|
569
|
+
this.header = page.locator(".modal-header");
|
|
570
|
+
this.body = page.locator(".modal-body");
|
|
571
|
+
this.footer = page.locator(".modal-footer");
|
|
456
572
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
"
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
await this.applicationPage.appForm.clickSaveAndClose();
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
class $1b7c532a5b0861f3$export$bd6452a745ffdb18 extends (0, $749097e2d65c1527$export$2b77a92f1a5ad772) {
|
|
577
|
+
constructor(page){
|
|
578
|
+
super(page);
|
|
579
|
+
this.deleteButton = page.getByRole("button", {
|
|
580
|
+
name: "Delete",
|
|
581
|
+
exact: true
|
|
582
|
+
});
|
|
583
|
+
this.cancelButton = page.getByRole("button", {
|
|
584
|
+
name: "Cancel",
|
|
585
|
+
exact: true
|
|
586
|
+
});
|
|
472
587
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
* @param appName
|
|
476
|
-
* @param expectedCiType
|
|
477
|
-
*/ async createNewApplication(appName, expectedCiType) {
|
|
478
|
-
await this.applicationPage.appMenu.clickApplicationCi();
|
|
479
|
-
await this.applicationPage.appMenu.clickMenuPath([
|
|
480
|
-
"new",
|
|
481
|
-
"application"
|
|
482
|
-
]);
|
|
483
|
-
await this.applicationPage.appForm.assertSaveButtonIsDisabled();
|
|
484
|
-
await this.applicationPage.appForm.assertSaveAndCloseButtonIsDisabled();
|
|
485
|
-
await this.applicationPage.appForm.enterName(appName);
|
|
486
|
-
await this.applicationPage.appForm.clickSaveAndClose();
|
|
487
|
-
await this.applicationPage.tab.assertActiveTabSelector(expectedCiType);
|
|
588
|
+
async clickDelete() {
|
|
589
|
+
await this.footer.locator(this.deleteButton).click();
|
|
488
590
|
}
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
591
|
+
async clickCancel() {
|
|
592
|
+
await this.footer.locator(this.cancelButton).click();
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
class $26b4a6e9a3909559$export$5a20f96f6e2d29e9 {
|
|
604
|
+
constructor(page){
|
|
605
|
+
this.page = page;
|
|
606
|
+
this.contextMenu = new (0, $9dd8dd888e812fd7$export$133beb65adbc45a3)(page);
|
|
607
|
+
this.tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
608
|
+
this.form = new (0, $f0e8ecb73642aac7$export$13ee474454c1948e)(page);
|
|
609
|
+
this.modal = new (0, $1b7c532a5b0861f3$export$bd6452a745ffdb18)(page);
|
|
497
610
|
}
|
|
498
611
|
/**
|
|
499
|
-
* Create new ci
|
|
612
|
+
* Create new ci under any explorer package by providing following parameters.
|
|
500
613
|
* @param parentNodeId
|
|
501
614
|
* @param menuPath
|
|
502
615
|
* @param expectedCiType
|
|
503
|
-
* @param
|
|
504
|
-
*/ async createNewCi(parentNodeId, menuPath,
|
|
616
|
+
* @param fieldName
|
|
617
|
+
*/ async createNewCi(parentNodeId, menuPath, fieldName) {
|
|
505
618
|
await this.expandNodePath(parentNodeId);
|
|
506
619
|
await this.page.locator('div[data-id="' + parentNodeId + '"]').click();
|
|
507
620
|
await this.page.locator('i[data-id="' + parentNodeId + '"].context-menu-button').click();
|
|
508
|
-
await this.
|
|
509
|
-
await this.
|
|
510
|
-
await this.
|
|
511
|
-
await this.
|
|
512
|
-
await this.
|
|
513
|
-
await this.
|
|
621
|
+
await this.contextMenu.clickMenuPath(menuPath);
|
|
622
|
+
await this.form.assertSaveButtonIsDisabled();
|
|
623
|
+
await this.form.assertSaveAndCloseButtonIsDisabled();
|
|
624
|
+
await this.tab.assertActiveTabSelector("Create udm." + menuPath[1] + "");
|
|
625
|
+
await this.form.enterName(fieldName);
|
|
626
|
+
await this.form.clickSaveAndClose();
|
|
514
627
|
}
|
|
515
628
|
/**
|
|
516
629
|
* Expand the ci path tree toggler.
|
|
517
630
|
* @param pathnode
|
|
518
631
|
*/ async expandNode(pathnode) {
|
|
519
|
-
|
|
632
|
+
const nodeLocator = await this.page.locator('div[data-id="' + pathnode + '"] a.infinite-tree-toggler.infinite-tree-closed').isVisible();
|
|
633
|
+
if (nodeLocator) await this.page.locator('div[data-id="' + pathnode + '"] a.infinite-tree-toggler.infinite-tree-closed').click();
|
|
520
634
|
}
|
|
521
635
|
/**
|
|
522
636
|
* expands the path of CI by separating path from "/"
|
|
523
637
|
* @param parentNodeId
|
|
524
638
|
*/ async expandNodePath(parentNodeId) {
|
|
525
639
|
const nodeIdParts = $1UEKj$rambda.split("/", parentNodeId);
|
|
526
|
-
for(let ind = 0; ind < nodeIdParts.length; ind
|
|
640
|
+
for(let ind = 0; ind < nodeIdParts.length; ind++){
|
|
527
641
|
const path = $1UEKj$rambda.join("/", $1UEKj$rambda.take(ind + 1, nodeIdParts));
|
|
528
|
-
this.expandNode(path);
|
|
642
|
+
await this.expandNode(path);
|
|
529
643
|
}
|
|
530
644
|
}
|
|
531
645
|
/**
|
|
@@ -538,87 +652,519 @@ class $dcea22adf7bc9211$export$7db63d2c950874b5 {
|
|
|
538
652
|
* Delete the ci
|
|
539
653
|
* @param node
|
|
540
654
|
*/ async deleteCi(node) {
|
|
541
|
-
|
|
655
|
+
const cipath = this.page.locator('div[data-id="' + node + '"]');
|
|
656
|
+
if (await cipath.isVisible()) await this.page.locator('div[data-id="' + node + '"]').click();
|
|
657
|
+
else {
|
|
658
|
+
await this.expandNodePath(node);
|
|
659
|
+
await this.page.locator('div[data-id="' + node + '"]').click();
|
|
660
|
+
}
|
|
542
661
|
await this.page.locator('i[data-id="' + node + '"].context-menu-button').click();
|
|
543
|
-
await this.
|
|
662
|
+
await this.contextMenu.clickMenuPath([
|
|
544
663
|
"delete"
|
|
545
664
|
]);
|
|
546
|
-
await this.
|
|
665
|
+
await this.modal.clickDelete();
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Click on specific node which is under Application CI.
|
|
669
|
+
* @param nodeId
|
|
670
|
+
*/ async clickNode(nodeId) {
|
|
671
|
+
await this.page.locator('div[data-id="' + nodeId + '"]').dblclick();
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Click on ci under any explorer package of contextual menus by providing following parameters.
|
|
675
|
+
* @param parentNodeId
|
|
676
|
+
* @param menuPath
|
|
677
|
+
* @param expectedCiType
|
|
678
|
+
* @param fieldName
|
|
679
|
+
*/ async clickCi(parentNodeId, menuPath, expectedCiType) {
|
|
680
|
+
await this.expandNodePath(parentNodeId);
|
|
681
|
+
await this.page.locator('div[data-id="' + parentNodeId + '"]').click();
|
|
682
|
+
await this.page.locator('i[data-id="' + parentNodeId + '"].context-menu-button').click();
|
|
683
|
+
await this.contextMenu.clickMenuPath(menuPath);
|
|
684
|
+
await this.form.assertSaveButtonIsDisabled();
|
|
685
|
+
await this.form.assertSaveAndCloseButtonIsDisabled();
|
|
686
|
+
await this.tab.assertActiveTabSelector("Create " + expectedCiType + "");
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Duplicate the CI node in explorer using context-menu
|
|
690
|
+
* @param nodeId
|
|
691
|
+
*/ async duplicate(nodeId) {
|
|
692
|
+
await this.expandNodePath(nodeId);
|
|
693
|
+
await this.page.locator('div[data-id="' + nodeId + '"]').click();
|
|
694
|
+
await this.page.locator('i[data-id="' + nodeId + '"].context-menu-button').click();
|
|
695
|
+
await this.contextMenu.clickMenuPath([
|
|
696
|
+
"duplicate"
|
|
697
|
+
]);
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Validate the given node ID is visible in the page
|
|
701
|
+
* @param nodeId
|
|
702
|
+
*/ async validateNodeExists(nodeId) {
|
|
703
|
+
await (0, $1UEKj$playwrighttest.expect)(this.page.locator('div[data-id="' + nodeId + '"]')).toBeVisible();
|
|
704
|
+
}
|
|
705
|
+
/**
|
|
706
|
+
* Validate the given node does not exists in the list.
|
|
707
|
+
* @param nodeId
|
|
708
|
+
*/ async validateNodeDoesNotExists(nodeId) {
|
|
709
|
+
await (0, $1UEKj$playwrighttest.expect)(this.page.locator('div[data-id="' + nodeId + '"]')).not.toBeVisible();
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Rename the node Id with new string in CI.
|
|
713
|
+
* @param nodeId
|
|
714
|
+
* @param renamedValue
|
|
715
|
+
*/ async inlineRename(nodeId, renamedValue) {
|
|
716
|
+
await this.expandNodePath(nodeId);
|
|
717
|
+
await this.page.locator('div[data-id="' + nodeId + '"]').click();
|
|
718
|
+
await this.page.locator('i[data-id="' + nodeId + '"].context-menu-button').click();
|
|
719
|
+
await this.contextMenu.clickMenuPath([
|
|
720
|
+
"rename"
|
|
721
|
+
]);
|
|
722
|
+
await this.form.inputRename.waitFor();
|
|
723
|
+
await this.form.inputRename.fill(renamedValue);
|
|
724
|
+
await this.form.refreshButton.click();
|
|
725
|
+
await (0, $1UEKj$playwrighttest.expect)(this.page.locator('div[data-id="' + nodeId + '"]')).not.toBeVisible();
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Open CI from explorer
|
|
729
|
+
* @param nodeId
|
|
730
|
+
*/ async openCi(nodeId) {
|
|
731
|
+
if (await this.page.locator('.infinite-tree-item[data-id="' + nodeId + '"]').isVisible()) await this.page.locator('.infinite-tree-item[data-id="' + nodeId + '"]').dblclick();
|
|
732
|
+
else {
|
|
733
|
+
await this.expandNodePath(nodeId);
|
|
734
|
+
await this.page.waitForSelector('.infinite-tree-item[data-id="' + nodeId + '"]');
|
|
735
|
+
await this.page.locator('.infinite-tree-item[data-id="' + nodeId + '"]').dblclick();
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Select the CI which need to get deleted.
|
|
740
|
+
* @param nodeId
|
|
741
|
+
*/ async selectDeleteCi(nodeId) {
|
|
742
|
+
const cipath = this.page.locator('div[data-id="' + nodeId + '"]');
|
|
743
|
+
if (await cipath.isVisible()) await this.page.locator('div[data-id="' + nodeId + '"]').click();
|
|
744
|
+
else {
|
|
745
|
+
await this.expandNodePath(nodeId);
|
|
746
|
+
await this.page.locator('div[data-id="' + nodeId + '"]').click();
|
|
747
|
+
}
|
|
748
|
+
await this.page.locator('i[data-id="' + nodeId + '"].context-menu-button').click();
|
|
749
|
+
await this.contextMenu.clickMenuPath([
|
|
750
|
+
"delete"
|
|
751
|
+
]);
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Click cancel button on modal window to cancel deletion.
|
|
755
|
+
*/ async clickCancelAndWait() {
|
|
756
|
+
await this.modal.clickCancel();
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* Click Delete button on modal window to delete the CI
|
|
760
|
+
*/ async clickConfirmAndWait() {
|
|
761
|
+
await this.modal.clickDelete();
|
|
547
762
|
}
|
|
548
763
|
}
|
|
549
764
|
|
|
550
765
|
|
|
551
766
|
|
|
552
767
|
|
|
553
|
-
class $
|
|
768
|
+
class $b90c33a29683027b$export$60413e28724d3abd extends (0, $50f6953b9762c03c$export$a7fed597f4b8afd8) {
|
|
554
769
|
constructor(page){
|
|
555
|
-
super(page);
|
|
770
|
+
super(page.locator(".dip-view-body"));
|
|
556
771
|
this.page = page;
|
|
557
|
-
this.
|
|
558
|
-
this.
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
ignoreCase: true
|
|
772
|
+
this.inputName = page.locator('input[name="name"]');
|
|
773
|
+
this.inputLatestVersion = page.locator('input[name="lastVersion"]');
|
|
774
|
+
this.saveButton = page.getByRole("button", {
|
|
775
|
+
name: "Save",
|
|
776
|
+
exact: true
|
|
563
777
|
});
|
|
778
|
+
this.saveAndCloseButton = page.getByRole("button", {
|
|
779
|
+
name: "Save and close",
|
|
780
|
+
exact: true
|
|
781
|
+
});
|
|
782
|
+
this.cancelButton = page.getByRole("button", {
|
|
783
|
+
name: "Cancel",
|
|
784
|
+
exact: true
|
|
785
|
+
});
|
|
786
|
+
this.formSection = page.locator(".xl-react-components.xl-react-dip-dynamic-form");
|
|
787
|
+
this.addButton = page.locator(".xl-btn-add");
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Enter name in name field of the application form
|
|
791
|
+
* @param name
|
|
792
|
+
* @returns
|
|
793
|
+
*/ async enterName(name) {
|
|
794
|
+
return await this.findElementInSection(this.inputName).fill(name);
|
|
795
|
+
}
|
|
796
|
+
/**
|
|
797
|
+
* Enter latest version field
|
|
798
|
+
* @param version
|
|
799
|
+
* @returns
|
|
800
|
+
*/ async enterLatestVersion(version) {
|
|
801
|
+
return await this.findElementInSection(this.inputLatestVersion).fill(version);
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* Click save button
|
|
805
|
+
* @returns
|
|
806
|
+
*/ async clickSave() {
|
|
807
|
+
return await this.findElementInSection(this.saveButton).click();
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Click save and close button
|
|
811
|
+
* @returns
|
|
812
|
+
*/ async clickSaveAndClose() {
|
|
813
|
+
return await this.findElementInSection(this.saveAndCloseButton).click();
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* Click cancel button
|
|
817
|
+
* @returns
|
|
818
|
+
*/ async clickCancel() {
|
|
819
|
+
return await this.findElementInSection(this.cancelButton).click();
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Expecting save button is disabled
|
|
823
|
+
* @returns
|
|
824
|
+
*/ async assertSaveButtonIsDisabled() {
|
|
825
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveButton)).toBeDisabled();
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Expecting Save and close button is disabled
|
|
829
|
+
* @returns
|
|
830
|
+
*/ async assertSaveAndCloseButtonIsDisabled() {
|
|
831
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* Enter Field Values using its label value around application forms
|
|
835
|
+
* @param fieldName
|
|
836
|
+
* @param expectedValue
|
|
837
|
+
* @returns
|
|
838
|
+
*/ async addFieldValue(fieldName, expectedValue) {
|
|
839
|
+
const label = this.formSection.locator('//label[text()="' + fieldName + '"]/parent::div/parent::div');
|
|
840
|
+
const input = label.locator(".xl-react-components-input input");
|
|
841
|
+
await input.fill(expectedValue);
|
|
842
|
+
await input.press("Enter");
|
|
843
|
+
const result = await input.getAttribute("value");
|
|
844
|
+
return (0, $1UEKj$playwrighttest.expect)(result).toEqual(expectedValue);
|
|
845
|
+
}
|
|
846
|
+
async addOrchestrator(fieldValue) {
|
|
847
|
+
const label = this.formSection.locator('//label[text()="Orchestrator"]/parent::div/parent::div');
|
|
848
|
+
const input = label.locator(".xl-react-components-input input");
|
|
849
|
+
await input.fill(fieldValue);
|
|
850
|
+
await this.addButton.click();
|
|
851
|
+
await this.saveButton.waitFor();
|
|
852
|
+
await this.saveButton.click();
|
|
853
|
+
const result = await this.page.locator("span.text-container").getAttribute("title");
|
|
854
|
+
return (0, $1UEKj$playwrighttest.expect)(result).toEqual(fieldValue);
|
|
564
855
|
}
|
|
565
856
|
}
|
|
566
857
|
|
|
567
858
|
|
|
568
|
-
|
|
569
|
-
class $749097e2d65c1527$export$2b77a92f1a5ad772 extends (0, $b031bda8df4df200$export$6e2c8f0811a474ce) {
|
|
859
|
+
class $1fae0b7de3d21f52$export$bf4a5dd3be690f6b extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
570
860
|
constructor(page){
|
|
571
|
-
super(page
|
|
572
|
-
this.
|
|
573
|
-
this.
|
|
574
|
-
this.
|
|
861
|
+
super(page);
|
|
862
|
+
this.contextMenu = new (0, $9dd8dd888e812fd7$export$133beb65adbc45a3)(page);
|
|
863
|
+
this.form = new (0, $f0e8ecb73642aac7$export$13ee474454c1948e)(page);
|
|
864
|
+
this.tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
865
|
+
this.util = new (0, $dcea22adf7bc9211$export$7db63d2c950874b5)(this, page);
|
|
866
|
+
this.modal = new (0, $1b7c532a5b0861f3$export$bd6452a745ffdb18)(page);
|
|
867
|
+
this.commonUtil = new (0, $26b4a6e9a3909559$export$5a20f96f6e2d29e9)(page);
|
|
868
|
+
this.appForm = new (0, $b90c33a29683027b$export$60413e28724d3abd)(page);
|
|
575
869
|
}
|
|
576
870
|
}
|
|
577
871
|
|
|
578
872
|
|
|
579
|
-
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
class $114862ed97d76403$export$36d69433c4f81145 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
580
876
|
constructor(page){
|
|
581
877
|
super(page);
|
|
582
|
-
|
|
583
|
-
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
class $465c25c02ae34e1f$export$855563f8bdb36207 extends (0, $50f6953b9762c03c$export$a7fed597f4b8afd8) {
|
|
892
|
+
constructor(page){
|
|
893
|
+
super(page.locator(".dip-view-body"));
|
|
894
|
+
this.page = page;
|
|
895
|
+
this.inputName = page.locator('input[name="name"]');
|
|
896
|
+
this.inputLatestVersion = page.locator('input[name="lastVersion"]');
|
|
897
|
+
this.saveButton = page.getByRole("button", {
|
|
898
|
+
name: "Save",
|
|
899
|
+
exact: true
|
|
900
|
+
});
|
|
901
|
+
this.saveAndCloseButton = page.getByRole("button", {
|
|
902
|
+
name: "Save and close",
|
|
584
903
|
exact: true
|
|
585
904
|
});
|
|
586
905
|
this.cancelButton = page.getByRole("button", {
|
|
587
906
|
name: "Cancel",
|
|
588
907
|
exact: true
|
|
589
908
|
});
|
|
909
|
+
this.inputHost = page.locator('input[name="host"]');
|
|
910
|
+
this.inputPort = page.getByLabel("Port");
|
|
911
|
+
this.inputUsername = page.locator('input[name="username"]');
|
|
912
|
+
this.inputPassword = page.locator('input[name="password"]');
|
|
913
|
+
this.inputFromAddress = page.locator('input[name="fromAddress"]');
|
|
914
|
+
this.inputTestAddress = page.locator('input[name="testAddress"]');
|
|
915
|
+
this.inputHostName = page.locator('input[name="hostname"]');
|
|
590
916
|
}
|
|
591
|
-
|
|
592
|
-
|
|
917
|
+
/**
|
|
918
|
+
* Enter name in name field of the configuration form
|
|
919
|
+
* @param name
|
|
920
|
+
* @returns
|
|
921
|
+
*/ async enterName(name) {
|
|
922
|
+
return await this.findElementInSection(this.inputName).fill(name);
|
|
593
923
|
}
|
|
594
|
-
|
|
595
|
-
|
|
924
|
+
/**
|
|
925
|
+
* Enter latest version field
|
|
926
|
+
* @param version
|
|
927
|
+
* @returns
|
|
928
|
+
*/ async enterLatestVersion(version) {
|
|
929
|
+
return await this.findElementInSection(this.inputLatestVersion).fill(version);
|
|
930
|
+
}
|
|
931
|
+
/**
|
|
932
|
+
* Click save button
|
|
933
|
+
* @returns
|
|
934
|
+
*/ async clickSave() {
|
|
935
|
+
return await this.findElementInSection(this.saveButton).click();
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* Click save and close button
|
|
939
|
+
* @returns
|
|
940
|
+
*/ async clickSaveAndClose() {
|
|
941
|
+
return await this.findElementInSection(this.saveAndCloseButton).click();
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Click cancel button
|
|
945
|
+
* @returns
|
|
946
|
+
*/ async clickCancel() {
|
|
947
|
+
return await this.findElementInSection(this.cancelButton).click();
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Expecting save button is disabled
|
|
951
|
+
* @returns
|
|
952
|
+
*/ async assertSaveButtonIsDisabled() {
|
|
953
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveButton)).toBeDisabled();
|
|
954
|
+
}
|
|
955
|
+
/**
|
|
956
|
+
* Expecting Save and close button is disabled
|
|
957
|
+
* @returns
|
|
958
|
+
*/ async assertSaveAndCloseButtonIsDisabled() {
|
|
959
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Expecting field value with its field name
|
|
963
|
+
* @param fieldName
|
|
964
|
+
* @param value
|
|
965
|
+
* @returns
|
|
966
|
+
*/ async expectFieldValue(fieldName, value) {
|
|
967
|
+
(0, $1UEKj$playwrighttest.expect)(await this.page.locator('input[name="' + fieldName + '"]').getAttribute("value")).toEqual(value);
|
|
968
|
+
}
|
|
969
|
+
/**
|
|
970
|
+
* Set Host value to the Host field in configuration form
|
|
971
|
+
* @param host
|
|
972
|
+
* @returns
|
|
973
|
+
*/ async setHostValue(host) {
|
|
974
|
+
await this.findElementInSection(this.inputHost).fill(host);
|
|
975
|
+
}
|
|
976
|
+
/**
|
|
977
|
+
* Setting port value in the configuration form
|
|
978
|
+
* @param port
|
|
979
|
+
* @returns
|
|
980
|
+
*/ async setPortValue(port) {
|
|
981
|
+
await this.findElementInSection(this.inputPort).fill(port);
|
|
982
|
+
}
|
|
983
|
+
/**
|
|
984
|
+
* Setting from Address field value in configuration form
|
|
985
|
+
* @param address
|
|
986
|
+
* @returns
|
|
987
|
+
*/ async setFromAddress(address) {
|
|
988
|
+
await this.findElementInSection(this.inputFromAddress).fill(address);
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Setting username in configuration form
|
|
992
|
+
* @param username
|
|
993
|
+
* @returns
|
|
994
|
+
*/ async setUserName(username) {
|
|
995
|
+
await this.findElementInSection(this.inputUsername).fill(username);
|
|
996
|
+
}
|
|
997
|
+
/**
|
|
998
|
+
* Setting password in configuration form
|
|
999
|
+
* @param password
|
|
1000
|
+
* @returns
|
|
1001
|
+
*/ async setPassword(password) {
|
|
1002
|
+
await this.findElementInSection(this.inputPassword).fill(password);
|
|
1003
|
+
}
|
|
1004
|
+
/**
|
|
1005
|
+
* Setting host name in configuration form
|
|
1006
|
+
* @param hostname
|
|
1007
|
+
* @returns
|
|
1008
|
+
*/ async setHostName(hostname) {
|
|
1009
|
+
await this.findElementInSection(this.inputHostName).fill(hostname);
|
|
596
1010
|
}
|
|
597
1011
|
}
|
|
598
1012
|
|
|
599
1013
|
|
|
600
|
-
class $
|
|
1014
|
+
class $168ec5e952b92f0d$export$ad55ec59bf82c4fc {
|
|
1015
|
+
constructor(page1, page){
|
|
1016
|
+
this.configPage = page1;
|
|
1017
|
+
this.page = page;
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
class $0b66c9d41a4ba704$export$8ef81de2d4ebb0b9 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
601
1023
|
constructor(page){
|
|
602
1024
|
super(page);
|
|
603
|
-
this.
|
|
604
|
-
this.
|
|
1025
|
+
this.contextMenu = new (0, $9dd8dd888e812fd7$export$133beb65adbc45a3)(page);
|
|
1026
|
+
this.form = new (0, $f0e8ecb73642aac7$export$13ee474454c1948e)(page);
|
|
605
1027
|
this.tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
606
|
-
this.
|
|
607
|
-
this.
|
|
1028
|
+
this.modal = new (0, $1b7c532a5b0861f3$export$bd6452a745ffdb18)(page);
|
|
1029
|
+
this.commonUtil = new (0, $26b4a6e9a3909559$export$5a20f96f6e2d29e9)(page);
|
|
1030
|
+
this.configForm = new (0, $465c25c02ae34e1f$export$855563f8bdb36207)(page);
|
|
1031
|
+
this.util = new (0, $168ec5e952b92f0d$export$ad55ec59bf82c4fc)(this, page);
|
|
608
1032
|
}
|
|
609
1033
|
}
|
|
610
1034
|
|
|
611
1035
|
|
|
612
1036
|
|
|
613
1037
|
|
|
614
|
-
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
class $fef9a424af55e937$export$21cde1e6a73cf500 extends (0, $50f6953b9762c03c$export$a7fed597f4b8afd8) {
|
|
1045
|
+
constructor(page){
|
|
1046
|
+
super(page.locator(".dip-view-body"));
|
|
1047
|
+
this.page = page;
|
|
1048
|
+
this.formSection = page.locator(".xl-react-components.xl-react-dip-dynamic-form");
|
|
1049
|
+
this.inputName = page.locator('input[name="name"]');
|
|
1050
|
+
this.inputLatestVersion = page.locator('input[name="lastVersion"]');
|
|
1051
|
+
this.saveButton = page.getByRole("button", {
|
|
1052
|
+
name: "Save",
|
|
1053
|
+
exact: true
|
|
1054
|
+
});
|
|
1055
|
+
this.saveAndCloseButton = page.getByRole("button", {
|
|
1056
|
+
name: "Save and close",
|
|
1057
|
+
exact: true
|
|
1058
|
+
});
|
|
1059
|
+
this.cancelButton = page.getByRole("button", {
|
|
1060
|
+
name: "Cancel",
|
|
1061
|
+
exact: true
|
|
1062
|
+
});
|
|
1063
|
+
this.inputVersion = page.locator("");
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* Expect the label text is available in form.
|
|
1067
|
+
* @param label
|
|
1068
|
+
*/ async assertLabelText(label) {
|
|
1069
|
+
await (0, $1UEKj$playwrighttest.expect)(this.page.getByText(label, {
|
|
1070
|
+
exact: true
|
|
1071
|
+
})).toBeVisible();
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Enter name in name field of the application form
|
|
1075
|
+
* @param name
|
|
1076
|
+
* @returns
|
|
1077
|
+
*/ async enterName(name) {
|
|
1078
|
+
return await this.findElementInSection(this.inputName).fill(name);
|
|
1079
|
+
}
|
|
1080
|
+
/**
|
|
1081
|
+
* Enter latest version field
|
|
1082
|
+
* @param version
|
|
1083
|
+
* @returns
|
|
1084
|
+
*/ async enterLatestVersion(version) {
|
|
1085
|
+
return await this.findElementInSection(this.inputLatestVersion).fill(version);
|
|
1086
|
+
}
|
|
1087
|
+
/**
|
|
1088
|
+
* Click save button
|
|
1089
|
+
* @returns
|
|
1090
|
+
*/ async clickSave() {
|
|
1091
|
+
return await this.findElementInSection(this.saveButton).click();
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Click save and close button
|
|
1095
|
+
* @returns
|
|
1096
|
+
*/ async clickSaveAndClose() {
|
|
1097
|
+
return await this.findElementInSection(this.saveAndCloseButton).click();
|
|
1098
|
+
}
|
|
1099
|
+
/**
|
|
1100
|
+
* Click cancel button
|
|
1101
|
+
* @returns
|
|
1102
|
+
*/ async clickCancel() {
|
|
1103
|
+
return await this.findElementInSection(this.cancelButton).click();
|
|
1104
|
+
}
|
|
1105
|
+
/**
|
|
1106
|
+
* Expecting save button is disabled
|
|
1107
|
+
* @returns
|
|
1108
|
+
*/ async assertSaveButtonIsDisabled() {
|
|
1109
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveButton)).toBeDisabled();
|
|
1110
|
+
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Expecting Save and close button is disabled
|
|
1113
|
+
* @returns
|
|
1114
|
+
*/ async assertSaveAndCloseButtonIsDisabled() {
|
|
1115
|
+
return await (0, $1UEKj$playwrighttest.expect)(this.findElementInSection(this.saveAndCloseButton)).toBeDisabled();
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Enter options in the input field of dropdown to match with suggestion list in form
|
|
1119
|
+
* @param fieldName
|
|
1120
|
+
* @param value
|
|
1121
|
+
*/ async selectVersionOption(fieldName, value) {
|
|
1122
|
+
const label = this.formSection.locator('//label[text()="' + fieldName + '"]/parent::div/parent::div');
|
|
1123
|
+
await label.locator(".xl-react-components-input input").fill(value);
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
class $46c3ae45662ff7ad$export$b8a8d62f66d27fa1 {
|
|
1129
|
+
constructor(page1, page){
|
|
1130
|
+
this.environmentPage = page1;
|
|
1131
|
+
this.page = page;
|
|
1132
|
+
}
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
class $6d811907766c6ed0$export$2c95c5c5be4fb9b0 extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
615
1137
|
constructor(page){
|
|
616
1138
|
super(page);
|
|
1139
|
+
this.contextMenu = new (0, $9dd8dd888e812fd7$export$133beb65adbc45a3)(page);
|
|
1140
|
+
this.form = new (0, $f0e8ecb73642aac7$export$13ee474454c1948e)(page);
|
|
1141
|
+
this.tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
1142
|
+
this.modal = new (0, $1b7c532a5b0861f3$export$bd6452a745ffdb18)(page);
|
|
1143
|
+
this.commonUtil = new (0, $26b4a6e9a3909559$export$5a20f96f6e2d29e9)(page);
|
|
1144
|
+
this.envForm = new (0, $fef9a424af55e937$export$21cde1e6a73cf500)(page);
|
|
1145
|
+
this.util = new (0, $46c3ae45662ff7ad$export$b8a8d62f66d27fa1)(this, page);
|
|
617
1146
|
}
|
|
618
1147
|
}
|
|
619
1148
|
|
|
620
1149
|
|
|
621
1150
|
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
class $2176608eec52f17d$export$1f6beddb119e759b extends (0, $ae23b16684112d0b$export$2b65d1d97338f32b) {
|
|
1157
|
+
constructor(page){
|
|
1158
|
+
super(page);
|
|
1159
|
+
this.contextMenu = new (0, $9dd8dd888e812fd7$export$133beb65adbc45a3)(page);
|
|
1160
|
+
this.form = new (0, $f0e8ecb73642aac7$export$13ee474454c1948e)(page);
|
|
1161
|
+
this.tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
1162
|
+
this.modal = new (0, $1b7c532a5b0861f3$export$bd6452a745ffdb18)(page);
|
|
1163
|
+
this.commonUtil = new (0, $26b4a6e9a3909559$export$5a20f96f6e2d29e9)(page);
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
|
|
622
1168
|
const $3352700e95ddc19e$export$e0969da9b8fb378d = (0, $1UEKj$playwrighttest.test).extend({
|
|
623
1169
|
loginPage: async ({ page: page }, use)=>{
|
|
624
1170
|
// Set up the fixture.
|
|
@@ -640,6 +1186,21 @@ const $3352700e95ddc19e$export$e0969da9b8fb378d = (0, $1UEKj$playwrighttest.test
|
|
|
640
1186
|
const tab = new (0, $0a8f56f4ec9e6ec3$export$3e41faf802a29e71)(page);
|
|
641
1187
|
await use(tab);
|
|
642
1188
|
return tab;
|
|
1189
|
+
},
|
|
1190
|
+
environmentPage: async ({ page: page }, use)=>{
|
|
1191
|
+
const environmentPage = new (0, $6d811907766c6ed0$export$2c95c5c5be4fb9b0)(page);
|
|
1192
|
+
await use(environmentPage);
|
|
1193
|
+
return environmentPage;
|
|
1194
|
+
},
|
|
1195
|
+
configurePage: async ({ page: page }, use)=>{
|
|
1196
|
+
const configurePage = new (0, $0b66c9d41a4ba704$export$8ef81de2d4ebb0b9)(page);
|
|
1197
|
+
await use(configurePage);
|
|
1198
|
+
return configurePage;
|
|
1199
|
+
},
|
|
1200
|
+
infraPage: async ({ page: page }, use)=>{
|
|
1201
|
+
const infraPage = new (0, $2176608eec52f17d$export$1f6beddb119e759b)(page);
|
|
1202
|
+
await use(infraPage);
|
|
1203
|
+
return infraPage;
|
|
643
1204
|
}
|
|
644
1205
|
});
|
|
645
1206
|
|