@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
@@ -1,34 +0,0 @@
1
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- import { InputHarness } from '../input.harness';
3
- export class PPasswordHarness extends ComponentHarness {
4
- constructor() {
5
- super(...arguments);
6
- this.getInput = this.locatorFor(InputHarness);
7
- }
8
- static with(options) {
9
- return new HarnessPredicate(PPasswordHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
10
- }
11
- async getId() {
12
- return await (await this.host()).getAttribute('id');
13
- }
14
- async getPromptLabel() {
15
- return await (await this.host()).getAttribute('ng-reflect-prompt-label');
16
- }
17
- async getWeakLabel() {
18
- return await (await this.host()).getAttribute('ng-reflect-weak-label');
19
- }
20
- async getMediumLabel() {
21
- return await (await this.host()).getAttribute('ng-reflect-medium-label');
22
- }
23
- async getStrongLabel() {
24
- return await (await this.host()).getAttribute('ng-reflect-strong-label');
25
- }
26
- async getValue() {
27
- return await (await this.getInput()).getValue();
28
- }
29
- async setValue(value) {
30
- return await (await this.getInput()).setValue(value);
31
- }
32
- }
33
- PPasswordHarness.hostSelector = 'p-password';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicC1wYXNzd29yZC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9oYXJuZXNzZXMvcHJpbWVuZy9wLXBhc3N3b3JkLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQU0vQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBQXREOztRQUdFLGFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBa0MxQyxDQUFDO0lBaENDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBZ0M7UUFDMUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUNqRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RELENBQUM7O0FBbkNNLDZCQUFZLEdBQUcsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnXG5pbXBvcnQgeyBJbnB1dEhhcm5lc3MgfSBmcm9tICcuLi9pbnB1dC5oYXJuZXNzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFBQYXNzd29yZEhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgQmFzZUhhcm5lc3NGaWx0ZXJzIHtcbiAgaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFBQYXNzd29yZEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdwLXBhc3N3b3JkJ1xuXG4gIGdldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKElucHV0SGFybmVzcylcblxuICBzdGF0aWMgd2l0aChvcHRpb25zOiBQUGFzc3dvcmRIYXJuZXNzRmlsdGVycyk6IEhhcm5lc3NQcmVkaWNhdGU8UFBhc3N3b3JkSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShQUGFzc3dvcmRIYXJuZXNzLCBvcHRpb25zKS5hZGRPcHRpb24oJ2lkJywgb3B0aW9ucy5pZCwgKGhhcm5lc3MsIGlkKSA9PlxuICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0SWQoKSwgaWQpXG4gICAgKVxuICB9XG4gIGFzeW5jIGdldElkKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnaWQnKVxuICB9XG5cbiAgYXN5bmMgZ2V0UHJvbXB0TGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCduZy1yZWZsZWN0LXByb21wdC1sYWJlbCcpXG4gIH1cblxuICBhc3luYyBnZXRXZWFrTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCduZy1yZWZsZWN0LXdlYWstbGFiZWwnKVxuICB9XG5cbiAgYXN5bmMgZ2V0TWVkaXVtTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCduZy1yZWZsZWN0LW1lZGl1bS1sYWJlbCcpXG4gIH1cblxuICBhc3luYyBnZXRTdHJvbmdMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ25nLXJlZmxlY3Qtc3Ryb25nLWxhYmVsJylcbiAgfVxuXG4gIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5nZXRJbnB1dCgpKS5nZXRWYWx1ZSgpXG4gIH1cblxuICBhc3luYyBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmdldElucHV0KCkpLnNldFZhbHVlKHZhbHVlKVxuICB9XG59XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- import { ButtonHarness } from '../button.harness';
3
- import { DivHarness } from '../div.harness';
4
- import { ListItemHarness } from '../list-item.harness';
5
- export class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
6
- constructor() {
7
- super(...arguments);
8
- this.getButtons = this.locatorForAll(ButtonHarness);
9
- }
10
- static with(options) {
11
- return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
12
- }
13
- async getByClass(c) {
14
- return (await (await this.host()).hasClass(c)) ? c : '';
15
- }
16
- }
17
- PPicklistControlsButtonsHarness.hostSelector = '.p-picklist-buttons';
18
- export class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
19
- constructor() {
20
- super(...arguments);
21
- this.getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }));
22
- this.getAllListItems = this.locatorForAll(ListItemHarness);
23
- }
24
- static with(options) {
25
- return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
26
- }
27
- async getByClass(c) {
28
- return (await (await this.host()).hasClass(c)) ? c : '';
29
- }
30
- }
31
- PPicklistListWrapperHarness.hostSelector = '.p-picklist-list-wrapper';
32
- export class PPicklistHarness extends ContentContainerComponentHarness {
33
- constructor() {
34
- super(...arguments);
35
- this.getPicklistSourceControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-source-controls' }));
36
- this.getPicklistTransferControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-transfer-buttons' }));
37
- this.getPicklistTargetControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-target-controls' }));
38
- this.getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }));
39
- this.getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }));
40
- }
41
- async getSourceControlsButtons() {
42
- return await (await this.getPicklistSourceControls()).getButtons();
43
- }
44
- async getTransferControlsButtons() {
45
- return await (await this.getPicklistTransferControls()).getButtons();
46
- }
47
- async getTargetControlsButtons() {
48
- return await (await this.getPicklistTargetControls()).getButtons();
49
- }
50
- async getSourceHeader() {
51
- return await (await (await this.getPicklistSource()).getHeader()).getText();
52
- }
53
- async getTargetHeader() {
54
- return await (await (await this.getPicklistTarget()).getHeader()).getText();
55
- }
56
- async getSourceListItems() {
57
- return await (await this.getPicklistSource()).getAllListItems();
58
- }
59
- async getTargetListItems() {
60
- return await (await this.getPicklistTarget()).getAllListItems();
61
- }
62
- }
63
- PPicklistHarness.hostSelector = 'p-picklist';
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicC1waWNrbGlzdC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9oYXJuZXNzZXMvcHJpbWVuZy9wLXBpY2tsaXN0Lmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBVXRELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxnQ0FBZ0M7SUFBckY7O1FBR0UsZUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUE7SUFhaEQsQ0FBQztJQVhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBd0M7UUFDbEQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLCtCQUErQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDN0UsT0FBTyxFQUNQLE9BQU8sQ0FBQyxLQUFLLEVBQ2IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDekUsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQVM7UUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUN6RCxDQUFDOztB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QUFDLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ2pFLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUNqRSxDQUFDOztBQXpDTSw2QkFBWSxHQUFHLFlBQVksQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZydcbmltcG9ydCB7IEJ1dHRvbkhhcm5lc3MgfSBmcm9tICcuLi9idXR0b24uaGFybmVzcydcbmltcG9ydCB7IERpdkhhcm5lc3MgfSBmcm9tICcuLi9kaXYuaGFybmVzcydcbmltcG9ydCB7IExpc3RJdGVtSGFybmVzcyB9IGZyb20gJy4uL2xpc3QtaXRlbS5oYXJuZXNzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFBQaWNrbGlzdENvbnRyb2xzQnV0dG9uc0ZpbHRlcnMgZXh0ZW5kcyBCYXNlSGFybmVzc0ZpbHRlcnMge1xuICBjbGFzcz86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBQaWNrbGlzdExpc3RXcmFwcGVyRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIGNsYXNzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBQUGlja2xpc3RDb250cm9sc0J1dHRvbnNIYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5wLXBpY2tsaXN0LWJ1dHRvbnMnXG5cbiAgZ2V0QnV0dG9ucyA9IHRoaXMubG9jYXRvckZvckFsbChCdXR0b25IYXJuZXNzKVxuXG4gIHN0YXRpYyB3aXRoKG9wdGlvbnM6IFBQaWNrbGlzdENvbnRyb2xzQnV0dG9uc0ZpbHRlcnMpOiBIYXJuZXNzUHJlZGljYXRlPFBQaWNrbGlzdENvbnRyb2xzQnV0dG9uc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoUFBpY2tsaXN0Q29udHJvbHNCdXR0b25zSGFybmVzcywgb3B0aW9ucykuYWRkT3B0aW9uKFxuICAgICAgJ2NsYXNzJyxcbiAgICAgIG9wdGlvbnMuY2xhc3MsXG4gICAgICAoaGFybmVzcywgYykgPT4gSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0QnlDbGFzcyhjKSwgYylcbiAgICApXG4gIH1cblxuICBhc3luYyBnZXRCeUNsYXNzKGM6IHN0cmluZykge1xuICAgIHJldHVybiAoYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5oYXNDbGFzcyhjKSkgPyBjIDogJydcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUFBpY2tsaXN0TGlzdFdyYXBwZXJIYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5wLXBpY2tsaXN0LWxpc3Qtd3JhcHBlcidcblxuICBnZXRIZWFkZXIgPSB0aGlzLmxvY2F0b3JGb3IoRGl2SGFybmVzcy53aXRoKHsgY2xhc3M6ICdwLXBpY2tsaXN0LWhlYWRlcicgfSkpXG4gIGdldEFsbExpc3RJdGVtcyA9IHRoaXMubG9jYXRvckZvckFsbChMaXN0SXRlbUhhcm5lc3MpXG5cbiAgc3RhdGljIHdpdGgob3B0aW9uczogUFBpY2tsaXN0TGlzdFdyYXBwZXJGaWx0ZXJzKTogSGFybmVzc1ByZWRpY2F0ZTxQUGlja2xpc3RMaXN0V3JhcHBlckhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoUFBpY2tsaXN0TGlzdFdyYXBwZXJIYXJuZXNzLCBvcHRpb25zKS5hZGRPcHRpb24oJ2NsYXNzJywgb3B0aW9ucy5jbGFzcywgKGhhcm5lc3MsIGMpID0+XG4gICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRCeUNsYXNzKGMpLCBjKVxuICAgIClcbiAgfVxuXG4gIGFzeW5jIGdldEJ5Q2xhc3MoYzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKGMpKSA/IGMgOiAnJ1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQUGlja2xpc3RIYXJuZXNzIGV4dGVuZHMgQ29udGVudENvbnRhaW5lckNvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3AtcGlja2xpc3QnXG5cbiAgcHJpdmF0ZSBnZXRQaWNrbGlzdFNvdXJjZUNvbnRyb2xzID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgIFBQaWNrbGlzdENvbnRyb2xzQnV0dG9uc0hhcm5lc3Mud2l0aCh7IGNsYXNzOiAncC1waWNrbGlzdC1zb3VyY2UtY29udHJvbHMnIH0pXG4gIClcbiAgcHJpdmF0ZSBnZXRQaWNrbGlzdFRyYW5zZmVyQ29udHJvbHMgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgUFBpY2tsaXN0Q29udHJvbHNCdXR0b25zSGFybmVzcy53aXRoKHsgY2xhc3M6ICdwLXBpY2tsaXN0LXRyYW5zZmVyLWJ1dHRvbnMnIH0pXG4gIClcbiAgcHJpdmF0ZSBnZXRQaWNrbGlzdFRhcmdldENvbnRyb2xzID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgIFBQaWNrbGlzdENvbnRyb2xzQnV0dG9uc0hhcm5lc3Mud2l0aCh7IGNsYXNzOiAncC1waWNrbGlzdC10YXJnZXQtY29udHJvbHMnIH0pXG4gIClcblxuICBwcml2YXRlIGdldFBpY2tsaXN0U291cmNlID0gdGhpcy5sb2NhdG9yRm9yKFBQaWNrbGlzdExpc3RXcmFwcGVySGFybmVzcy53aXRoKHsgY2xhc3M6ICdwLXBpY2tsaXN0LXNvdXJjZS13cmFwcGVyJyB9KSlcbiAgcHJpdmF0ZSBnZXRQaWNrbGlzdFRhcmdldCA9IHRoaXMubG9jYXRvckZvcihQUGlja2xpc3RMaXN0V3JhcHBlckhhcm5lc3Mud2l0aCh7IGNsYXNzOiAncC1waWNrbGlzdC10YXJnZXQtd3JhcHBlcicgfSkpXG5cbiAgYXN5bmMgZ2V0U291cmNlQ29udHJvbHNCdXR0b25zKCk6IFByb21pc2U8QnV0dG9uSGFybmVzc1tdPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmdldFBpY2tsaXN0U291cmNlQ29udHJvbHMoKSkuZ2V0QnV0dG9ucygpXG4gIH1cblxuICBhc3luYyBnZXRUcmFuc2ZlckNvbnRyb2xzQnV0dG9ucygpOiBQcm9taXNlPEJ1dHRvbkhhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5nZXRQaWNrbGlzdFRyYW5zZmVyQ29udHJvbHMoKSkuZ2V0QnV0dG9ucygpXG4gIH1cblxuICBhc3luYyBnZXRUYXJnZXRDb250cm9sc0J1dHRvbnMoKTogUHJvbWlzZTxCdXR0b25IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuZ2V0UGlja2xpc3RUYXJnZXRDb250cm9scygpKS5nZXRCdXR0b25zKClcbiAgfVxuXG4gIGFzeW5jIGdldFNvdXJjZUhlYWRlcigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgKGF3YWl0IHRoaXMuZ2V0UGlja2xpc3RTb3VyY2UoKSkuZ2V0SGVhZGVyKCkpLmdldFRleHQoKVxuICB9XG5cbiAgYXN5bmMgZ2V0VGFyZ2V0SGVhZGVyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCAoYXdhaXQgdGhpcy5nZXRQaWNrbGlzdFRhcmdldCgpKS5nZXRIZWFkZXIoKSkuZ2V0VGV4dCgpXG4gIH1cblxuICBhc3luYyBnZXRTb3VyY2VMaXN0SXRlbXMoKTogUHJvbWlzZTxMaXN0SXRlbUhhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5nZXRQaWNrbGlzdFNvdXJjZSgpKS5nZXRBbGxMaXN0SXRlbXMoKVxuICB9XG5cbiAgYXN5bmMgZ2V0VGFyZ2V0TGlzdEl0ZW1zKCk6IFByb21pc2U8TGlzdEl0ZW1IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuZ2V0UGlja2xpc3RUYXJnZXQoKSkuZ2V0QWxsTGlzdEl0ZW1zKClcbiAgfVxufVxuIl19
@@ -1,17 +0,0 @@
1
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
- export class SpanHarness extends ComponentHarness {
3
- static with(options) {
4
- return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
5
- }
6
- async getByClass(c) {
7
- return (await (await this.host()).hasClass(c)) ? c : '';
8
- }
9
- async checkHasClass(value) {
10
- return await (await this.host()).hasClass(value);
11
- }
12
- async getText() {
13
- return await (await this.host()).text();
14
- }
15
- }
16
- SpanHarness.hostSelector = 'span';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi9oYXJuZXNzZXMvc3Bhbi5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU03RixNQUFNLE9BQU8sV0FBWSxTQUFRLGdCQUFnQjtJQUcvQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQTJCO1FBQ3JDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ2pHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6RCxDQUFBO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBUztRQUN4QixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ3pELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQWE7UUFDL0IsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN6QyxDQUFDOztBQWxCTSx3QkFBWSxHQUFHLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5IYXJuZXNzRmlsdGVycyBleHRlbmRzIEJhc2VIYXJuZXNzRmlsdGVycyB7XG4gIGNsYXNzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTcGFuSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NwYW4nXG5cbiAgc3RhdGljIHdpdGgob3B0aW9uczogU3Bhbkhhcm5lc3NGaWx0ZXJzKTogSGFybmVzc1ByZWRpY2F0ZTxTcGFuSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShTcGFuSGFybmVzcywgb3B0aW9ucykuYWRkT3B0aW9uKCdjbGFzcycsIG9wdGlvbnMuY2xhc3MsIChoYXJuZXNzLCBjKSA9PlxuICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGhhcm5lc3MuZ2V0QnlDbGFzcyhjKSwgYylcbiAgICApXG4gIH1cblxuICBhc3luYyBnZXRCeUNsYXNzKGM6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKGMpKSA/IGMgOiAnJ1xuICB9XG5cbiAgYXN5bmMgY2hlY2tIYXNDbGFzcyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3ModmFsdWUpXG4gIH1cblxuICBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpXG4gIH1cbn0iXX0=
@@ -1,19 +0,0 @@
1
- import { ContentContainerComponentHarness } from '@angular/cdk/testing';
2
- import { ButtonHarness } from './button.harness';
3
- export class TableRowHarness extends ContentContainerComponentHarness {
4
- constructor() {
5
- super(...arguments);
6
- this.getAllActionButtons = this.locatorForAll('button');
7
- this.getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewTableRowButton' }));
8
- this.getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }));
9
- this.getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }));
10
- }
11
- async getData() {
12
- const tds = await this.locatorForAll('td')();
13
- const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')));
14
- const textTds = tds.filter((_v, index) => !isActionsTd[index]);
15
- return Promise.all(textTds.map((t) => t.text()));
16
- }
17
- }
18
- TableRowHarness.hostSelector = 'tbody > tr';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93Lmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL2hhcm5lc3Nlcy90YWJsZS1yb3cuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFaEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0NBQWdDO0lBQXJFOztRQUdFLHdCQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDbEQsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM1RixrQkFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQzVGLG9CQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFRbEcsQ0FBQztJQU5DLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzVFLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQzlELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7O0FBWk0sNEJBQVksR0FBRyxZQUFZLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJ1xuaW1wb3J0IHsgQnV0dG9uSGFybmVzcyB9IGZyb20gJy4vYnV0dG9uLmhhcm5lc3MnXG5cbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0hhcm5lc3MgZXh0ZW5kcyBDb250ZW50Q29udGFpbmVyQ29tcG9uZW50SGFybmVzcyB7XG4gIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAndGJvZHkgPiB0cidcblxuICBnZXRBbGxBY3Rpb25CdXR0b25zID0gdGhpcy5sb2NhdG9yRm9yQWxsKCdidXR0b24nKVxuICBnZXRWaWV3QnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoQnV0dG9uSGFybmVzcy53aXRoKHsgY2xhc3M6ICd2aWV3VGFibGVSb3dCdXR0b24nIH0pKVxuICBnZXRFZGl0QnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoQnV0dG9uSGFybmVzcy53aXRoKHsgY2xhc3M6ICdlZGl0VGFibGVSb3dCdXR0b24nIH0pKVxuICBnZXREZWxldGVCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChCdXR0b25IYXJuZXNzLndpdGgoeyBjbGFzczogJ2RlbGV0ZVRhYmxlUm93QnV0dG9uJyB9KSlcblxuICBhc3luYyBnZXREYXRhKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCB0ZHMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoJ3RkJykoKVxuICAgIGNvbnN0IGlzQWN0aW9uc1RkID0gYXdhaXQgUHJvbWlzZS5hbGwodGRzLm1hcCgodCkgPT4gdC5oYXNDbGFzcygnYWN0aW9ucycpKSlcbiAgICBjb25zdCB0ZXh0VGRzID0gdGRzLmZpbHRlcigoX3YsIGluZGV4KSA9PiAhaXNBY3Rpb25zVGRbaW5kZXhdKVxuICAgIHJldHVybiBQcm9taXNlLmFsbCh0ZXh0VGRzLm1hcCgodCkgPT4gdC50ZXh0KCkpKVxuICB9XG59XG4iXX0=