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