@onecx/angular-testing 4.43.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. package/esm2022/lib/harnesses/button.harness.mjs +31 -0
  2. package/esm2022/lib/harnesses/div.harness.mjs +28 -0
  3. package/esm2022/lib/harnesses/input.harness.mjs +39 -0
  4. package/esm2022/lib/harnesses/list-item.harness.mjs +17 -0
  5. package/esm2022/lib/harnesses/menu-item.harness.mjs +17 -0
  6. package/esm2022/lib/harnesses/p-tableCheckbox.harness.mjs +18 -0
  7. package/esm2022/lib/harnesses/p.harness.mjs +30 -0
  8. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-accordion-tab.harness.mjs +2 -2
  9. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-accordion.harness.mjs +2 -2
  10. package/esm2022/lib/harnesses/primeng/p-breadcrumb.harness.mjs +13 -0
  11. package/esm2022/lib/harnesses/primeng/p-button-directive.harness.mjs +23 -0
  12. package/esm2022/lib/harnesses/primeng/p-button.harness.mjs +27 -0
  13. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-chart.harness.mjs +2 -2
  14. package/esm2022/lib/harnesses/primeng/p-checkbox.harness.mjs +27 -0
  15. package/esm2022/lib/harnesses/primeng/p-dialog.harness.mjs +25 -0
  16. package/esm2022/lib/harnesses/primeng/p-dropdown.harness.mjs +61 -0
  17. package/esm2022/lib/harnesses/primeng/p-menu-item.harness.mjs +25 -0
  18. package/esm2022/lib/harnesses/primeng/p-menu.harness.mjs +30 -0
  19. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-menubar.harness.mjs +2 -2
  20. package/esm2022/lib/harnesses/primeng/p-multiSelect.harness.mjs +69 -0
  21. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-multiSelectListItem.harness.mjs +2 -2
  22. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-paginator.harness.mjs +2 -2
  23. package/esm2022/lib/harnesses/primeng/p-panelmenu-item.harness.mjs +26 -0
  24. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-panelmenu.harness.mjs +2 -2
  25. package/esm2022/lib/harnesses/primeng/p-password.harness.mjs +34 -0
  26. package/esm2022/lib/harnesses/primeng/p-picklist.harness.mjs +64 -0
  27. package/{esm2020 → esm2022}/lib/harnesses/primeng/p-selectButton.harness.mjs +2 -2
  28. package/esm2022/lib/harnesses/span.harness.mjs +17 -0
  29. package/{esm2020 → esm2022}/lib/harnesses/table-header-column.harness.mjs +2 -2
  30. package/esm2022/lib/harnesses/table-row.harness.mjs +19 -0
  31. package/{fesm2020 → fesm2022}/onecx-angular-testing.mjs +44 -35
  32. package/fesm2022/onecx-angular-testing.mjs.map +1 -0
  33. package/package.json +7 -13
  34. package/esm2020/lib/harnesses/button.harness.mjs +0 -31
  35. package/esm2020/lib/harnesses/div.harness.mjs +0 -28
  36. package/esm2020/lib/harnesses/input.harness.mjs +0 -39
  37. package/esm2020/lib/harnesses/list-item.harness.mjs +0 -17
  38. package/esm2020/lib/harnesses/menu-item.harness.mjs +0 -17
  39. package/esm2020/lib/harnesses/p-tableCheckbox.harness.mjs +0 -18
  40. package/esm2020/lib/harnesses/p.harness.mjs +0 -30
  41. package/esm2020/lib/harnesses/primeng/p-breadcrumb.harness.mjs +0 -13
  42. package/esm2020/lib/harnesses/primeng/p-button-directive.harness.mjs +0 -23
  43. package/esm2020/lib/harnesses/primeng/p-button.harness.mjs +0 -27
  44. package/esm2020/lib/harnesses/primeng/p-checkbox.harness.mjs +0 -27
  45. package/esm2020/lib/harnesses/primeng/p-dialog.harness.mjs +0 -25
  46. package/esm2020/lib/harnesses/primeng/p-dropdown.harness.mjs +0 -61
  47. package/esm2020/lib/harnesses/primeng/p-menu-item.harness.mjs +0 -25
  48. package/esm2020/lib/harnesses/primeng/p-menu.harness.mjs +0 -30
  49. package/esm2020/lib/harnesses/primeng/p-multiSelect.harness.mjs +0 -60
  50. package/esm2020/lib/harnesses/primeng/p-panelmenu-item.harness.mjs +0 -26
  51. package/esm2020/lib/harnesses/primeng/p-password.harness.mjs +0 -34
  52. package/esm2020/lib/harnesses/primeng/p-picklist.harness.mjs +0 -64
  53. package/esm2020/lib/harnesses/span.harness.mjs +0 -17
  54. package/esm2020/lib/harnesses/table-row.harness.mjs +0 -19
  55. package/fesm2015/onecx-angular-testing.mjs +0 -938
  56. package/fesm2015/onecx-angular-testing.mjs.map +0 -1
  57. package/fesm2020/onecx-angular-testing.mjs.map +0 -1
  58. /package/{esm2020 → esm2022}/index.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/harnesses/menu-item-with-icon.harness.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/harnesses/utils/primeicon.utils.mjs +0 -0
  61. /package/{esm2020 → esm2022}/onecx-angular-testing.mjs +0 -0
@@ -7,21 +7,22 @@ class PAccordionTabHarness extends ComponentHarness {
7
7
  super(...arguments);
8
8
  this.getButton = this.locatorFor('a.p-accordion-header-link');
9
9
  }
10
+ static { this.hostSelector = 'p-accordiontab'; }
10
11
  async expand() {
11
12
  await (await this.getButton()).click();
12
13
  }
13
14
  }
14
- PAccordionTabHarness.hostSelector = 'p-accordiontab';
15
15
 
16
16
  class PAccordionHarness extends ComponentHarness {
17
17
  constructor() {
18
18
  super(...arguments);
19
19
  this.getAllAccordionTabs = this.locatorForAll(PAccordionTabHarness);
20
20
  }
21
+ static { this.hostSelector = 'p-accordion'; }
21
22
  }
22
- PAccordionHarness.hostSelector = 'p-accordion';
23
23
 
24
24
  class ListItemHarness extends ComponentHarness {
25
+ static { this.hostSelector = 'li'; }
25
26
  static with(options) {
26
27
  return new HarnessPredicate(ListItemHarness, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
27
28
  }
@@ -35,20 +36,20 @@ class ListItemHarness extends ComponentHarness {
35
36
  await (await this.host()).click();
36
37
  }
37
38
  }
38
- ListItemHarness.hostSelector = 'li';
39
39
 
40
40
  class PBreadcrumbHarness extends ComponentHarness {
41
41
  constructor() {
42
42
  super(...arguments);
43
43
  this.getBreadcrumbItems = this.locatorForAll(ListItemHarness);
44
44
  }
45
+ static { this.hostSelector = 'p-breadcrumb'; }
45
46
  async getBreadcrumbItem(itemText) {
46
47
  return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))();
47
48
  }
48
49
  }
49
- PBreadcrumbHarness.hostSelector = 'p-breadcrumb';
50
50
 
51
51
  class PButtonDirectiveHarness extends ComponentHarness {
52
+ static { this.hostSelector = 'button[pButton]'; }
52
53
  static with(options) {
53
54
  return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
54
55
  }
@@ -68,9 +69,9 @@ class PButtonDirectiveHarness extends ComponentHarness {
68
69
  return await (await this.host()).getProperty('disabled');
69
70
  }
70
71
  }
71
- PButtonDirectiveHarness.hostSelector = 'button[pButton]';
72
72
 
73
73
  class PButtonHarness extends ComponentHarness {
74
+ static { this.hostSelector = 'p-button'; }
74
75
  static with(options) {
75
76
  return new HarnessPredicate(PButtonHarness, options)
76
77
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -94,9 +95,9 @@ class PButtonHarness extends ComponentHarness {
94
95
  await (await this.locatorFor('button')()).click();
95
96
  }
96
97
  }
97
- PButtonHarness.hostSelector = 'p-button';
98
98
 
99
99
  class PChartHarness extends ComponentHarness {
100
+ static { this.hostSelector = 'p-chart'; }
100
101
  async getType() {
101
102
  return await (await this.host()).getAttribute('ng-reflect-type');
102
103
  }
@@ -104,9 +105,9 @@ class PChartHarness extends ComponentHarness {
104
105
  return await (await this.host()).getAttribute('ng-reflect-options');
105
106
  }
106
107
  }
107
- PChartHarness.hostSelector = 'p-chart';
108
108
 
109
109
  class DivHarness extends ComponentHarness {
110
+ static { this.hostSelector = 'div'; }
110
111
  static with(options) {
111
112
  return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
112
113
  }
@@ -131,9 +132,9 @@ class DivHarness extends ComponentHarness {
131
132
  await (await this.host()).click();
132
133
  }
133
134
  }
134
- DivHarness.hostSelector = 'div';
135
135
 
136
136
  class InputHarness extends ComponentHarness {
137
+ static { this.hostSelector = 'input'; }
137
138
  static with(options) {
138
139
  return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
139
140
  }
@@ -169,13 +170,13 @@ class InputHarness extends ComponentHarness {
169
170
  await (await this.host()).click();
170
171
  }
171
172
  }
172
- InputHarness.hostSelector = 'input';
173
173
 
174
174
  class PCheckboxHarness extends ComponentHarness {
175
175
  constructor() {
176
176
  super(...arguments);
177
177
  this.getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }));
178
178
  }
179
+ static { this.hostSelector = 'p-checkbox'; }
179
180
  static with(options) {
180
181
  return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) => HarnessPredicate.stringMatches(harness.getId(), inputid));
181
182
  }
@@ -193,7 +194,6 @@ class PCheckboxHarness extends ComponentHarness {
193
194
  await (await this.getCheckBoxDiv())?.click();
194
195
  }
195
196
  }
196
- PCheckboxHarness.hostSelector = 'p-checkbox';
197
197
 
198
198
  class PDialogHarness extends ContentContainerComponentHarness {
199
199
  constructor() {
@@ -201,6 +201,7 @@ class PDialogHarness extends ContentContainerComponentHarness {
201
201
  this.getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }));
202
202
  this.getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }));
203
203
  }
204
+ static { this.hostSelector = 'p-dialog'; }
204
205
  async getDialogTitle() {
205
206
  return await (await this.getHeader())?.getText();
206
207
  }
@@ -216,9 +217,9 @@ class PDialogHarness extends ContentContainerComponentHarness {
216
217
  return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false;
217
218
  }
218
219
  }
219
- PDialogHarness.hostSelector = 'p-dialog';
220
220
 
221
221
  class PDropdownHarness extends ContentContainerComponentHarness {
222
+ static { this.hostSelector = 'p-dropdown'; }
222
223
  static with(options) {
223
224
  return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
224
225
  }
@@ -275,9 +276,9 @@ class PDropdownHarness extends ContentContainerComponentHarness {
275
276
  }
276
277
  }
277
278
  }
278
- PDropdownHarness.hostSelector = 'p-dropdown';
279
279
 
280
280
  class SpanHarness extends ComponentHarness {
281
+ static { this.hostSelector = 'span'; }
281
282
  static with(options) {
282
283
  return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
283
284
  }
@@ -291,7 +292,6 @@ class SpanHarness extends ComponentHarness {
291
292
  return await (await this.host()).text();
292
293
  }
293
294
  }
294
- SpanHarness.hostSelector = 'span';
295
295
 
296
296
  class PMenuItemHarness extends ComponentHarness {
297
297
  constructor() {
@@ -300,6 +300,7 @@ class PMenuItemHarness extends ComponentHarness {
300
300
  this.getChildren = this.locatorForAll(PMenuItemHarness);
301
301
  this.getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }));
302
302
  }
303
+ static { this.hostSelector = 'li.p-menuitem'; }
303
304
  async getText() {
304
305
  return await (await this.getAnchor()).text();
305
306
  }
@@ -314,9 +315,9 @@ class PMenuItemHarness extends ComponentHarness {
314
315
  return await (await this.getAnchor()).getAttribute('href');
315
316
  }
316
317
  }
317
- PMenuItemHarness.hostSelector = 'li.p-menuitem';
318
318
 
319
319
  class MenuItemHarness extends ComponentHarness {
320
+ static { this.hostSelector = 'li>div>a'; }
320
321
  static with(options) {
321
322
  return new HarnessPredicate(MenuItemHarness, options).addOption('text', options.text, (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
322
323
  }
@@ -330,9 +331,9 @@ class MenuItemHarness extends ComponentHarness {
330
331
  return await (await this.host()).getAttribute('href');
331
332
  }
332
333
  }
333
- MenuItemHarness.hostSelector = 'li > a';
334
334
 
335
335
  class PMenuHarness extends ContentContainerComponentHarness {
336
+ static { this.hostSelector = 'p-menu'; }
336
337
  async getHarnessLoaderForPMenuOverlay() {
337
338
  return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay');
338
339
  }
@@ -358,17 +359,17 @@ class PMenuHarness extends ContentContainerComponentHarness {
358
359
  return undefined;
359
360
  }
360
361
  }
361
- PMenuHarness.hostSelector = 'p-menu';
362
362
 
363
363
  class PMenuBarHarness extends ComponentHarness {
364
364
  constructor() {
365
365
  super(...arguments);
366
366
  this.getAllMenuItems = this.locatorForAll(PMenuItemHarness);
367
367
  }
368
+ static { this.hostSelector = 'p-menubar'; }
368
369
  }
369
- PMenuBarHarness.hostSelector = 'p-menubar';
370
370
 
371
371
  class PMultiSelectListItemHarness extends ComponentHarness {
372
+ static { this.hostSelector = 'li'; }
372
373
  async getTestElement() {
373
374
  return await this.host();
374
375
  }
@@ -379,9 +380,9 @@ class PMultiSelectListItemHarness extends ComponentHarness {
379
380
  return await (await this.host()).text();
380
381
  }
381
382
  }
382
- PMultiSelectListItemHarness.hostSelector = 'li';
383
383
 
384
384
  class PMultiSelectHarness extends ComponentHarness {
385
+ static { this.hostSelector = 'p-multiselect'; }
385
386
  static with(options) {
386
387
  return new HarnessPredicate(PMultiSelectHarness, options)
387
388
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -404,7 +405,14 @@ class PMultiSelectHarness extends ComponentHarness {
404
405
  return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness);
405
406
  }
406
407
  async isOpen() {
407
- return await (await this.locatorFor('div')()).hasClass('p-multiselect-open');
408
+ try {
409
+ await this.getHarnessLoaderForPMultiSelectPanel();
410
+ return true;
411
+ }
412
+ catch (error) {
413
+ console.error(error);
414
+ return false;
415
+ }
408
416
  }
409
417
  async open() {
410
418
  if (!(await this.isOpen())) {
@@ -423,7 +431,9 @@ class PMultiSelectHarness extends ComponentHarness {
423
431
  }
424
432
  }
425
433
  async isHighlighted(PMultiSelectListItem) {
426
- return await (await PMultiSelectListItem.getTestElement()).hasClass('p-highlight');
434
+ return (await (await PMultiSelectListItem.getTestElement()).getAttribute('data-p-highlight')) === 'true'
435
+ ? true
436
+ : false;
427
437
  }
428
438
  async getSelectedOptions() {
429
439
  const allOptions = await this.getAllOptions();
@@ -437,7 +447,6 @@ class PMultiSelectHarness extends ComponentHarness {
437
447
  return selectedOptions;
438
448
  }
439
449
  }
440
- PMultiSelectHarness.hostSelector = 'p-multiSelect';
441
450
 
442
451
  class PanelMenuItemHarness extends ComponentHarness {
443
452
  constructor() {
@@ -446,6 +455,7 @@ class PanelMenuItemHarness extends ComponentHarness {
446
455
  this.getChildren = this.locatorForAll(PMenuItemHarness);
447
456
  this.getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }));
448
457
  }
458
+ static { this.hostSelector = 'div.p-panelmenu-panel'; }
449
459
  async getText() {
450
460
  return await (await this.getAnchor()).text();
451
461
  }
@@ -460,17 +470,17 @@ class PanelMenuItemHarness extends ComponentHarness {
460
470
  return await (await this.getAnchor()).getAttribute('href');
461
471
  }
462
472
  }
463
- PanelMenuItemHarness.hostSelector = 'div.p-panelmenu-panel';
464
473
 
465
474
  class PPanelMenuHarness extends ComponentHarness {
466
475
  constructor() {
467
476
  super(...arguments);
468
477
  this.getAllPanels = this.locatorForAll(PanelMenuItemHarness);
469
478
  }
479
+ static { this.hostSelector = 'p-panelmenu'; }
470
480
  }
471
- PPanelMenuHarness.hostSelector = 'p-panelmenu';
472
481
 
473
482
  class ButtonHarness extends ComponentHarness {
483
+ static { this.hostSelector = 'button'; }
474
484
  static with(options) {
475
485
  return new HarnessPredicate(ButtonHarness, options)
476
486
  .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
@@ -498,7 +508,6 @@ class ButtonHarness extends ComponentHarness {
498
508
  return await (await this.host()).getProperty('disabled');
499
509
  }
500
510
  }
501
- ButtonHarness.hostSelector = 'button';
502
511
 
503
512
  class PPaginatorHarness extends ContentContainerComponentHarness {
504
513
  constructor() {
@@ -507,6 +516,7 @@ class PPaginatorHarness extends ContentContainerComponentHarness {
507
516
  this.getRowsPerPageOptions = this.locatorFor(PDropdownHarness);
508
517
  this.getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }));
509
518
  }
519
+ static { this.hostSelector = 'p-paginator'; }
510
520
  async getCurrentPageReportText() {
511
521
  return await (await this.getCurrentPageReport()).getText();
512
522
  }
@@ -515,13 +525,13 @@ class PPaginatorHarness extends ContentContainerComponentHarness {
515
525
  (await this.getNextPageButton()).click();
516
526
  }
517
527
  }
518
- PPaginatorHarness.hostSelector = 'p-paginator';
519
528
 
520
529
  class PPasswordHarness extends ComponentHarness {
521
530
  constructor() {
522
531
  super(...arguments);
523
532
  this.getInput = this.locatorFor(InputHarness);
524
533
  }
534
+ static { this.hostSelector = 'p-password'; }
525
535
  static with(options) {
526
536
  return new HarnessPredicate(PPasswordHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
527
537
  }
@@ -547,13 +557,13 @@ class PPasswordHarness extends ComponentHarness {
547
557
  return await (await this.getInput()).setValue(value);
548
558
  }
549
559
  }
550
- PPasswordHarness.hostSelector = 'p-password';
551
560
 
552
561
  class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
553
562
  constructor() {
554
563
  super(...arguments);
555
564
  this.getButtons = this.locatorForAll(ButtonHarness);
556
565
  }
566
+ static { this.hostSelector = '.p-picklist-buttons'; }
557
567
  static with(options) {
558
568
  return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
559
569
  }
@@ -561,13 +571,13 @@ class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
561
571
  return (await (await this.host()).hasClass(c)) ? c : '';
562
572
  }
563
573
  }
564
- PPicklistControlsButtonsHarness.hostSelector = '.p-picklist-buttons';
565
574
  class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
566
575
  constructor() {
567
576
  super(...arguments);
568
577
  this.getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }));
569
578
  this.getAllListItems = this.locatorForAll(ListItemHarness);
570
579
  }
580
+ static { this.hostSelector = '.p-picklist-list-wrapper'; }
571
581
  static with(options) {
572
582
  return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
573
583
  }
@@ -575,7 +585,6 @@ class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
575
585
  return (await (await this.host()).hasClass(c)) ? c : '';
576
586
  }
577
587
  }
578
- PPicklistListWrapperHarness.hostSelector = '.p-picklist-list-wrapper';
579
588
  class PPicklistHarness extends ContentContainerComponentHarness {
580
589
  constructor() {
581
590
  super(...arguments);
@@ -585,6 +594,7 @@ class PPicklistHarness extends ContentContainerComponentHarness {
585
594
  this.getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }));
586
595
  this.getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }));
587
596
  }
597
+ static { this.hostSelector = 'p-picklist'; }
588
598
  async getSourceControlsButtons() {
589
599
  return await (await this.getPicklistSourceControls()).getButtons();
590
600
  }
@@ -607,15 +617,14 @@ class PPicklistHarness extends ContentContainerComponentHarness {
607
617
  return await (await this.getPicklistTarget()).getAllListItems();
608
618
  }
609
619
  }
610
- PPicklistHarness.hostSelector = 'p-picklist';
611
620
 
612
621
  class PSelectButtonHarness extends ContentContainerComponentHarness {
613
622
  constructor() {
614
623
  super(...arguments);
615
624
  this.getAllButtons = this.locatorForAll('div > div');
616
625
  }
626
+ static { this.hostSelector = 'p-selectbutton'; }
617
627
  }
618
- PSelectButtonHarness.hostSelector = 'p-selectbutton';
619
628
 
620
629
  class MenuItemWithIconHarness extends MenuItemHarness {
621
630
  async hasIcon(icon) {
@@ -625,13 +634,14 @@ class MenuItemWithIconHarness extends MenuItemHarness {
625
634
  }
626
635
 
627
636
  class PTableCheckboxHarness extends ComponentHarness {
637
+ static { this.hostSelector = 'p-tablecheckbox'; }
628
638
  static with(options = {}) {
629
639
  return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {
630
640
  return (await harness.isChecked()) === selected;
631
641
  });
632
642
  }
633
643
  async isChecked() {
634
- const allChecked = await this.locatorForAll('.pi-check')();
644
+ const allChecked = await this.locatorForAll('checkicon')();
635
645
  return allChecked.length === 1;
636
646
  }
637
647
  async checkBox() {
@@ -639,9 +649,9 @@ class PTableCheckboxHarness extends ComponentHarness {
639
649
  return checkBoxElement.click();
640
650
  }
641
651
  }
642
- PTableCheckboxHarness.hostSelector = 'p-tableCheckbox';
643
652
 
644
653
  class PHarness extends ComponentHarness {
654
+ static { this.hostSelector = 'p'; }
645
655
  static with(options) {
646
656
  return new HarnessPredicate(PHarness, options)
647
657
  .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))
@@ -668,7 +678,6 @@ class PHarness extends ComponentHarness {
668
678
  return [];
669
679
  }
670
680
  }
671
- PHarness.hostSelector = 'p';
672
681
 
673
682
  class TableHeaderColumnHarness extends ContentContainerComponentHarness {
674
683
  constructor() {
@@ -680,11 +689,11 @@ class TableHeaderColumnHarness extends ContentContainerComponentHarness {
680
689
  class: 'filterMultiSelect',
681
690
  }));
682
691
  }
692
+ static { this.hostSelector = 'th'; }
683
693
  async getText() {
684
694
  return (await this.host()).text();
685
695
  }
686
696
  }
687
- TableHeaderColumnHarness.hostSelector = 'th';
688
697
 
689
698
  class TableRowHarness extends ContentContainerComponentHarness {
690
699
  constructor() {
@@ -694,6 +703,7 @@ class TableRowHarness extends ContentContainerComponentHarness {
694
703
  this.getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }));
695
704
  this.getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }));
696
705
  }
706
+ static { this.hostSelector = 'tbody > tr'; }
697
707
  async getData() {
698
708
  const tds = await this.locatorForAll('td')();
699
709
  const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')));
@@ -701,7 +711,6 @@ class TableRowHarness extends ContentContainerComponentHarness {
701
711
  return Promise.all(textTds.map((t) => t.text()));
702
712
  }
703
713
  }
704
- TableRowHarness.hostSelector = 'tbody > tr';
705
714
 
706
715
  /**
707
716
  * Generated bundle index. Do not edit.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onecx-angular-testing.mjs","sources":["../../../../libs/angular-testing/src/lib/harnesses/primeng/p-accordion-tab.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-accordion.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/list-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-breadcrumb.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button-directive.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-chart.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/div.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/input.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-checkbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dialog.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dropdown.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/span.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menu.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-menubar.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-multiSelectListItem.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-multiSelect.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-panelmenu-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-panelmenu.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/button.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-paginator.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-password.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-picklist.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-selectButton.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item-with-icon.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p-tableCheckbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-header-column.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-row.harness.ts","../../../../libs/angular-testing/src/onecx-angular-testing.ts"],"sourcesContent":["import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PAccordionTabHarness extends ComponentHarness {\n static hostSelector = 'p-accordiontab'\n\n getButton = this.locatorFor('a.p-accordion-header-link')\n\n async expand() {\n await (await this.getButton()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PAccordionTabHarness } from './p-accordion-tab.harness'\n\nexport class PAccordionHarness extends ComponentHarness {\n static hostSelector = 'p-accordion'\n\n getAllAccordionTabs = this.locatorForAll(PAccordionTabHarness)\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface ListItemHarnessFilters extends BaseHarnessFilters {\n text?: string\n}\n\nexport class ListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\n\n static with(options: ListItemHarnessFilters): HarnessPredicate<ListItemHarness> {\n return new HarnessPredicate(ListItemHarness, options).addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text)\n )\n }\n\n async getText() {\n return await (await this.host()).text()\n }\n\n async isSelected(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-selected')) === 'true' ? true : false\n }\n\n async selectItem() {\n await (await this.host()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport class PBreadcrumbHarness extends ComponentHarness {\n static hostSelector = 'p-breadcrumb'\n\n getBreadcrumbItems = this.locatorForAll(ListItemHarness)\n\n async getBreadcrumbItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonDirectiveHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PButtonDirectiveHarness extends ComponentHarness {\n static hostSelector = 'button[pButton]'\n\n static with(options: PButtonDirectiveHarnessFilters): HarnessPredicate<PButtonDirectiveHarness> {\n return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async click() {\n await (await this.host()).click()\n }\n\n async getLabel(): Promise<string | null> {\n return await (await this.host()).text()\n }\n\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-icon')\n }\n\n async getDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n name?: string\n label?: string\n icon?: string\n}\n\nexport class PButtonHarness extends ComponentHarness {\n static hostSelector = 'p-button'\n\n static with(options: PButtonHarnessFilters): HarnessPredicate<PButtonHarness> {\n return new HarnessPredicate(PButtonHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('name', options.name, (harness, name) => HarnessPredicate.stringMatches(harness.getName(), name))\n .addOption('label', options.label, (harness, label) => HarnessPredicate.stringMatches(harness.getLabel(), label))\n .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))\n }\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getName(): Promise<string | null> {\n return await (await this.host()).getAttribute('name')\n }\n\n async getLabel(): Promise<string | null> {\n return await (await this.host()).text()\n }\n\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-icon')\n }\n\n async click() {\n await (await this.locatorFor('button')()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PChartHarness extends ComponentHarness {\n static hostSelector = 'p-chart'\n\n async getType(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-type')\n }\n async getOptions(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-options')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface DivHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class DivHarness extends ComponentHarness {\n static hostSelector = 'div'\n\n static with(options: DivHarnessFilters): HarnessPredicate<DivHarness> {\n return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing'\n\nexport interface InputHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class InputHarness extends ComponentHarness {\n static hostSelector = 'input'\n\n static with(options: InputHarnessFilters): HarnessPredicate<InputHarness> {\n return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getValue(): Promise<string | null> {\n return await (await this.host()).getProperty<string>('value')\n }\n async getChecked(): Promise<boolean> {\n return await (await this.host()).getProperty<boolean>('checked')\n }\n\n async setValue(value: string | Date): Promise<void> {\n if (value instanceof Date) {\n await (\n await this.host()\n ).setInputValue(\n `${value.toLocaleDateString([], {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n })} ${value.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`\n )\n } else {\n await (await this.host()).clear()\n if (value) {\n await (await this.host()).sendKeys(value)\n }\n await (await this.host()).setInputValue(value)\n }\n }\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click() {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\nimport { InputHarness } from '../input.harness'\n\nexport interface PCheckBoxHarnessFilters extends BaseHarnessFilters {\n inputid?: string\n}\nexport class PCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-checkbox'\n\n getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }))\n\n static with(options: PCheckBoxHarnessFilters): HarnessPredicate<PCheckboxHarness> {\n return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) =>\n HarnessPredicate.stringMatches(harness.getId(), inputid)\n )\n }\n\n async isChecked(): Promise<boolean> {\n return (await this.locatorFor(InputHarness)()).getChecked()\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('inputId')\n }\n\n async isHidden(): Promise<boolean> {\n const attr = await (await this.host()).getAttribute('hidden')\n return Boolean(attr)\n }\n\n async click(): Promise<void> {\n await (await this.getCheckBoxDiv())?.click()\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, TestKey } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\n\nexport interface PDialogHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDialogHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dialog'\n\n getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }))\n getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }))\n\n async getDialogTitle(): Promise<string | undefined> {\n return await (await this.getHeader())?.getText()\n }\n\n async close() {\n if (await this.isVisible()) {\n await (await this.host()).sendKeys(TestKey.ESCAPE)\n } else {\n console.warn('Unable to close CustomGroupColumnSelectionDialog, because it is not open.')\n }\n }\n\n async isVisible(): Promise<boolean> {\n return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PDropdownHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDropdownHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dropdown'\n\n static with(options: PDropdownHarnessFilters): HarnessPredicate<PDropdownHarness> {\n return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getDefaultText() {\n return (await this.locatorForOptional('span.p-placeholder')())?.text()\n }\n\n async isOpen(): Promise<boolean> {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-open')\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to open dropdown, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to close dropdown, because it is not open.')\n }\n }\n\n async getDropdownItems() {\n await this.open()\n const rootLocator = this.documentRootLocatorFactory()\n const items = await rootLocator.harnessLoaderFor('.p-dropdown-items')\n return await items.getAllHarnesses(ListItemHarness)\n }\n\n async getDropdownItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n\n async selectedDropdownItem(position: number) {\n const selectedColumnGroup = await Promise.all(\n (await this.getDropdownItems()).filter((listItem) => listItem.isSelected())\n )\n return selectedColumnGroup[position]\n }\n\n async selectedDropdownItemText(position: number) {\n return (await this.selectedDropdownItem(position)).getText()\n }\n\n async hasClearOption() {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-clearable')\n }\n\n async clear() {\n if (await this.hasClearOption()) {\n return await (await this.locatorFor('.p-dropdown-clear-icon')()).click()\n } else {\n console.warn('Unable to clear dropdown, because it has no clear option')\n }\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface SpanHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class SpanHarness extends ComponentHarness {\n static hostSelector = 'span'\n\n static with(options: SpanHarnessFilters): HarnessPredicate<SpanHarness> {\n return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}","import { ComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\n\nexport class PMenuItemHarness extends ComponentHarness {\n static hostSelector = 'li.p-menuitem'\n\n getAnchor = this.locatorFor('a')\n getChildren = this.locatorForAll(PMenuItemHarness)\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }))\n\n async getText(): Promise<string> {\n return await (await this.getAnchor()).text()\n }\n\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await (await this.getIconSpan())?.host())?.getAttribute('class')\n return classList?.includes(icon)\n }\n\n async click() {\n return await (await this.getAnchor()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.getAnchor()).getAttribute('href')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface MenuItemHarnessFilters extends BaseHarnessFilters {\n text?: string\n}\n\nexport class MenuItemHarness extends ComponentHarness {\n static hostSelector = 'li>div>a'\n\n static with(options: MenuItemHarnessFilters): HarnessPredicate<MenuItemHarness> {\n return new HarnessPredicate(MenuItemHarness, options).addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text)\n )\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async selectItem() {\n await (await this.host()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.host()).getAttribute('href')\n }\n}\n","import { ContentContainerComponentHarness, HarnessLoader } from '@angular/cdk/testing'\nimport { MenuItemHarness } from '../menu-item.harness'\n\nexport class PMenuHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-menu'\n\n async getHarnessLoaderForPMenuOverlay(): Promise<HarnessLoader | null> {\n return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay')\n }\n\n async isOpen(): Promise<boolean> {\n return !!(await this.getHarnessLoaderForPMenuOverlay())\n }\n\n async getAllMenuItems(): Promise<MenuItemHarness[] | undefined> {\n if (await this.isOpen()) {\n return await (await this.getHarnessLoaderForPMenuOverlay())?.getAllHarnesses(MenuItemHarness)\n } else {\n console.warn('Cannot get menu items because menu is closed.')\n }\n return []\n }\n\n async getMenuItem(itemText: string): Promise<MenuItemHarness | undefined | null> {\n if (await this.isOpen()) {\n return await (\n await this.getHarnessLoaderForPMenuOverlay()\n )?.getHarnessOrNull(MenuItemHarness.with({ text: itemText }))\n } else {\n console.warn('Cannot get menu items because menu is closed.')\n }\n return undefined\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PMenuItemHarness } from './p-menu-item.harness'\n\nexport class PMenuBarHarness extends ComponentHarness {\n static hostSelector = 'p-menubar'\n\n getAllMenuItems = this.locatorForAll(PMenuItemHarness)\n}\n","import { ComponentHarness, TestElement } from '@angular/cdk/testing'\n\nexport class PMultiSelectListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessLoader, HarnessPredicate } from '@angular/cdk/testing'\nimport { PMultiSelectListItemHarness } from './p-multiSelectListItem.harness'\n\nexport interface PMultiSelectHarnessFilters extends BaseHarnessFilters {\n id?: string\n class?: string\n}\n\nexport class PMultiSelectHarness extends ComponentHarness {\n static hostSelector = 'p-multiselect'\n\n static with(options: PMultiSelectHarnessFilters): HarnessPredicate<PMultiSelectHarness> {\n return new HarnessPredicate(PMultiSelectHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async getHarnessLoaderForPMultiSelectPanel(): Promise<HarnessLoader> {\n const rootLocator = this.documentRootLocatorFactory()\n return rootLocator.harnessLoaderFor('.p-multiselect-panel')\n }\n\n async getAllOptions(): Promise<PMultiSelectListItemHarness[]> {\n if (!(await this.isOpen())) {\n await this.open()\n }\n return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness)\n }\n\n async isOpen(): Promise<boolean> {\n try {\n await this.getHarnessLoaderForPMultiSelectPanel()\n return true\n } catch (error) {\n console.error(error)\n return false\n }\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to open multiSelect, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to close multiSelect, because it is not open.')\n }\n }\n\n async isHighlighted(PMultiSelectListItem: PMultiSelectListItemHarness): Promise<boolean> {\n return (await (await PMultiSelectListItem.getTestElement()).getAttribute('data-p-highlight')) === 'true'\n ? true\n : false\n }\n\n async getSelectedOptions(): Promise<string[] | null> {\n const allOptions = await this.getAllOptions()\n const selectedOptions: string[] = []\n for (let index = 0; index < allOptions.length; index++) {\n const option = allOptions[index]\n if (await this.isHighlighted(option)) {\n selectedOptions.push(await option.getText())\n }\n }\n return selectedOptions\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\nimport { PMenuItemHarness } from './p-menu-item.harness'\n\nexport class PanelMenuItemHarness extends ComponentHarness {\n static hostSelector = 'div.p-panelmenu-panel'\n\n getAnchor = this.locatorFor('a')\n getChildren = this.locatorForAll(PMenuItemHarness)\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-menuitem-icon' }))\n\n async getText(): Promise<string> {\n return await (await this.getAnchor()).text()\n }\n\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await (await this.getIconSpan())?.host())?.getAttribute('class')\n return classList?.includes(icon)\n }\n\n async click() {\n await (await this.getAnchor()).click()\n }\n\n async getLink(): Promise<string | null> {\n return await (await this.getAnchor()).getAttribute('href')\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\nimport { PanelMenuItemHarness } from './p-panelmenu-item.harness'\n\nexport class PPanelMenuHarness extends ComponentHarness {\n static hostSelector = 'p-panelmenu'\n\n getAllPanels = this.locatorForAll(PanelMenuItemHarness)\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface ButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n icon?: string\n class?: string\n}\n\nexport class ButtonHarness extends ComponentHarness {\n static hostSelector = 'button'\n\n static with(options: ButtonHarnessFilters): HarnessPredicate<ButtonHarness> {\n return new HarnessPredicate(ButtonHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('icon')\n }\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async click() {\n if (!(await this.isDisabled())) {\n await (await this.host()).click()\n } else {\n console.warn('Button cannot be clicked, because it is disabled!')\n }\n }\n\n async isDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\nimport { PDropdownHarness } from './p-dropdown.harness'\nimport { ButtonHarness } from '../button.harness'\n\nexport class PPaginatorHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-paginator'\n getCurrentPageReport = this.locatorFor(SpanHarness.with({ class: 'p-paginator-current' }))\n getRowsPerPageOptions = this.locatorFor(PDropdownHarness)\n getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }))\n\n async getCurrentPageReportText(): Promise<string | undefined> {\n return await (await this.getCurrentPageReport()).getText()\n }\n\n async clickNextPage() {\n ;(await this.getNextPageButton()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { InputHarness } from '../input.harness'\n\nexport interface PPasswordHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PPasswordHarness extends ComponentHarness {\n static hostSelector = 'p-password'\n\n getInput = this.locatorFor(InputHarness)\n\n static with(options: PPasswordHarnessFilters): HarnessPredicate<PPasswordHarness> {\n return new HarnessPredicate(PPasswordHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getPromptLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-prompt-label')\n }\n\n async getWeakLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-weak-label')\n }\n\n async getMediumLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-medium-label')\n }\n\n async getStrongLabel(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-strong-label')\n }\n\n async getValue(): Promise<string | null> {\n return await (await this.getInput()).getValue()\n }\n\n async setValue(value: string) {\n return await (await this.getInput()).setValue(value)\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ButtonHarness } from '../button.harness'\nimport { DivHarness } from '../div.harness'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PPicklistControlsButtonsFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport interface PPicklistListWrapperFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-buttons'\n\n getButtons = this.locatorForAll(ButtonHarness)\n\n static with(options: PPicklistControlsButtonsFilters): HarnessPredicate<PPicklistControlsButtonsHarness> {\n return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption(\n 'class',\n options.class,\n (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistListWrapperHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-list-wrapper'\n\n getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }))\n getAllListItems = this.locatorForAll(ListItemHarness)\n\n static with(options: PPicklistListWrapperFilters): HarnessPredicate<PPicklistListWrapperHarness> {\n return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-picklist'\n\n private getPicklistSourceControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-source-controls' })\n )\n private getPicklistTransferControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-transfer-buttons' })\n )\n private getPicklistTargetControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-target-controls' })\n )\n\n private getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }))\n private getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }))\n\n async getSourceControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistSourceControls()).getButtons()\n }\n\n async getTransferControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTransferControls()).getButtons()\n }\n\n async getTargetControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTargetControls()).getButtons()\n }\n\n async getSourceHeader(): Promise<string> {\n return await (await (await this.getPicklistSource()).getHeader()).getText()\n }\n\n async getTargetHeader(): Promise<string> {\n return await (await (await this.getPicklistTarget()).getHeader()).getText()\n }\n\n async getSourceListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistSource()).getAllListItems()\n }\n\n async getTargetListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistTarget()).getAllListItems()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport class PSelectButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-selectbutton'\n\n getAllButtons = this.locatorForAll('div > div')\n}\n","import { MenuItemHarness } from './menu-item.harness'\n\nexport class MenuItemWithIconHarness extends MenuItemHarness {\n async hasIcon(icon: string): Promise<boolean | undefined> {\n const classList = await (await this.locatorForOptional('i')())?.getAttribute('class')\n return classList?.includes(icon)\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PTableCheckboxHarnessFilter extends BaseHarnessFilters {\n isSelected?: boolean\n}\n\nexport class PTableCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-tablecheckbox'\n\n static with<T extends PTableCheckboxHarness>(this: ComponentHarnessConstructor<T>, options: PTableCheckboxHarnessFilter = {}): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {\n return (await harness.isChecked()) === selected\n })\n }\n\n async isChecked(): Promise<boolean> {\n const allChecked = await this.locatorForAll('checkicon')()\n return allChecked.length === 1\n }\n\n async checkBox(): Promise<void> {\n const checkBoxElement = await this.locatorFor('.p-checkbox-box')()\n return checkBoxElement.click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PHarnessFilters extends BaseHarnessFilters {\n class?: string\n id?: string\n}\n\nexport class PHarness extends ComponentHarness {\n static hostSelector = 'p'\n\n static with(options: PHarnessFilters): HarnessPredicate<PHarness> {\n return new HarnessPredicate(PHarness, options)\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.hasId(id), id))\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async hasId(id: string): Promise<string> {\n return (await (await this.host()).matchesSelector('#' + id)) ? id : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\nimport { PMultiSelectHarness } from './primeng/p-multiSelect.harness'\n\nexport class TableHeaderColumnHarness extends ContentContainerComponentHarness {\n static hostSelector = 'th'\n\n getSortButton = this.locatorFor(\n ButtonHarness.with({\n class: 'sortButton',\n })\n )\n\n getFilterMultiSelect = this.locatorFor(\n PMultiSelectHarness.with({\n class: 'filterMultiSelect',\n })\n )\n\n async getText(): Promise<string> {\n return (await this.host()).text()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\n\nexport class TableRowHarness extends ContentContainerComponentHarness {\n static hostSelector = 'tbody > tr'\n\n getAllActionButtons = this.locatorForAll('button')\n getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewTableRowButton' }))\n getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }))\n getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }))\n\n async getData(): Promise<string[]> {\n const tds = await this.locatorForAll('td')()\n const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')))\n const textTds = tds.filter((_v, index) => !isActionsTd[index])\n return Promise.all(textTds.map((t) => t.text()))\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@onecx/angular-testing",
3
- "version": "4.43.0",
3
+ "version": "5.0.0",
4
4
  "peerDependencies": {
5
- "@angular/cdk": "^15.2.7",
6
- "primeng": "^15.0.0"
5
+ "@angular/cdk": "^18.0.5",
6
+ "primeng": "^17.18.2"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
@@ -11,11 +11,7 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "module": "fesm2015/onecx-angular-testing.mjs",
15
- "es2020": "fesm2020/onecx-angular-testing.mjs",
16
- "esm2020": "esm2020/onecx-angular-testing.mjs",
17
- "fesm2020": "fesm2020/onecx-angular-testing.mjs",
18
- "fesm2015": "fesm2015/onecx-angular-testing.mjs",
14
+ "module": "fesm2022/onecx-angular-testing.mjs",
19
15
  "typings": "index.d.ts",
20
16
  "exports": {
21
17
  "./package.json": {
@@ -23,11 +19,9 @@
23
19
  },
24
20
  ".": {
25
21
  "types": "./index.d.ts",
26
- "esm2020": "./esm2020/onecx-angular-testing.mjs",
27
- "es2020": "./fesm2020/onecx-angular-testing.mjs",
28
- "es2015": "./fesm2015/onecx-angular-testing.mjs",
29
- "node": "./fesm2015/onecx-angular-testing.mjs",
30
- "default": "./fesm2020/onecx-angular-testing.mjs"
22
+ "esm2022": "./esm2022/onecx-angular-testing.mjs",
23
+ "esm": "./esm2022/onecx-angular-testing.mjs",
24
+ "default": "./fesm2022/onecx-angular-testing.mjs"
31
25
  }
32
26
  },
33
27
  "sideEffects": false
@@ -1,31 +0,0 @@
1
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- export class ButtonHarness extends ComponentHarness {
3
- static with(options) {
4
- return new HarnessPredicate(ButtonHarness, options)
5
- .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
6
- .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))
7
- .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
8
- }
9
- async getId() {
10
- return await (await this.host()).getAttribute('id');
11
- }
12
- async getIcon() {
13
- return await (await this.host()).getAttribute('icon');
14
- }
15
- async getByClass(c) {
16
- return (await (await this.host()).hasClass(c)) ? c : '';
17
- }
18
- async click() {
19
- if (!(await this.isDisabled())) {
20
- await (await this.host()).click();
21
- }
22
- else {
23
- console.warn('Button cannot be clicked, because it is disabled!');
24
- }
25
- }
26
- async isDisabled() {
27
- return await (await this.host()).getProperty('disabled');
28
- }
29
- }
30
- ButtonHarness.hostSelector = 'button';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL2hhcm5lc3Nlcy9idXR0b24uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFRN0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxnQkFBZ0I7SUFHakQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUE2QjtRQUN2QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUNoRCxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ2pHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDM0csU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU87UUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFTO1FBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDekQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtTQUNsQzthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxtREFBbUQsQ0FBQyxDQUFBO1NBQ2xFO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVO1FBQ2QsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDMUQsQ0FBQzs7QUE3Qk0sMEJBQVksR0FBRyxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZydcblxuZXhwb3J0IGludGVyZmFjZSBCdXR0b25IYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIGlkPzogc3RyaW5nXG4gIGljb24/OiBzdHJpbmdcbiAgY2xhc3M/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIEJ1dHRvbkhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdidXR0b24nXG5cbiAgc3RhdGljIHdpdGgob3B0aW9uczogQnV0dG9uSGFybmVzc0ZpbHRlcnMpOiBIYXJuZXNzUHJlZGljYXRlPEJ1dHRvbkhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoQnV0dG9uSGFybmVzcywgb3B0aW9ucylcbiAgICAgIC5hZGRPcHRpb24oJ2lkJywgb3B0aW9ucy5pZCwgKGhhcm5lc3MsIGlkKSA9PiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRJZCgpLCBpZCkpXG4gICAgICAuYWRkT3B0aW9uKCdpY29uJywgb3B0aW9ucy5pY29uLCAoaGFybmVzcywgaWNvbikgPT4gSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0SWNvbigpLCBpY29uKSlcbiAgICAgIC5hZGRPcHRpb24oJ2NsYXNzJywgb3B0aW9ucy5jbGFzcywgKGhhcm5lc3MsIGMpID0+IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhoYXJuZXNzLmdldEJ5Q2xhc3MoYyksIGMpKVxuICB9XG5cbiAgYXN5bmMgZ2V0SWQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdpZCcpXG4gIH1cbiAgYXN5bmMgZ2V0SWNvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2ljb24nKVxuICB9XG4gIGFzeW5jIGdldEJ5Q2xhc3MoYzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKGMpKSA/IGMgOiAnJ1xuICB9XG5cbiAgYXN5bmMgY2xpY2soKSB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0Rpc2FibGVkKCkpKSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdCdXR0b24gY2Fubm90IGJlIGNsaWNrZWQsIGJlY2F1c2UgaXQgaXMgZGlzYWJsZWQhJylcbiAgICB9XG4gIH1cblxuICBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldFByb3BlcnR5KCdkaXNhYmxlZCcpXG4gIH1cbn1cbiJdfQ==