@onecx/angular-testing 8.0.0-rc.4 → 8.0.0-rc.6
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/README.md +14 -4
- package/fesm2022/onecx-angular-testing.mjs +3 -0
- package/fesm2022/onecx-angular-testing.mjs.map +1 -1
- package/migrations/index.js +1 -4
- package/migrations/index.js.map +1 -1
- package/migrations/v6/migrate-onecx-to-v6.js +3 -6
- package/migrations/v6/migrate-onecx-to-v6.js.map +1 -1
- package/package.json +7 -7
- package/{index.d.ts → types/onecx-angular-testing.d.ts} +8 -7
package/README.md
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
# angular-testing
|
|
1
|
+
# @onecx/angular-testing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`@onecx/angular-testing` contains testing utilities for OneCX applications.
|
|
4
|
+
More information about OneCX libraries can be found in the [OneCX documentation](https://onecx.github.io/docs/documentation/current/onecx-portal-ui-libs/index.html).
|
|
4
5
|
|
|
5
|
-
##
|
|
6
|
+
## Installation
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
```bash
|
|
9
|
+
npm install @onecx/angular-testing
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Additional Commands
|
|
13
|
+
- `npx nx run angular-testing:build` - Builds the library and outputs the result to the `dist` folder.
|
|
14
|
+
- `npx nx run angular-testing:build-migrations` - Builds the migration files for the library.
|
|
15
|
+
- `npx nx run angular-testing:test` - Runs the unit tests for the library.
|
|
16
|
+
- `npx nx run angular-testing:lint` - Lints the library's codebase.
|
|
17
|
+
- `npx nx run angular-testing:release` - Releases a new version of the library to npm, following semantic versioning guidelines.
|
|
@@ -145,6 +145,9 @@ class PButtonHarness extends ComponentHarness {
|
|
|
145
145
|
async getBadgeValue() {
|
|
146
146
|
return await (await this.host()).getAttribute('ng-reflect-badge');
|
|
147
147
|
}
|
|
148
|
+
async getLoadingIcon() {
|
|
149
|
+
return await this.locatorForOptional('.p-button-loading-icon')();
|
|
150
|
+
}
|
|
148
151
|
}
|
|
149
152
|
|
|
150
153
|
class PChartHarness extends ComponentHarness {
|
|
@@ -1 +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/span.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-chip.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dialog.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-select.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/primeng/p-togglebutton.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item-with-icon.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/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/utils/waitForDeferredViewsToBeRendered.ts","../../../../libs/angular-testing/src/lib/harnesses/table-row.harness.ts","../../../../libs/angular-testing/src/lib/mocks/IntersectionObserverMock.ts","../../../../libs/angular-testing/src/lib/mocks/OriginMock.ts","../../../../libs/angular-testing/src/lib/utils/fake-translate-loader.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 const iconElement = await this.locatorForOptional('.p-button-icon')()\n if (!iconElement) {\n return null\n }\n\n const classList = await iconElement.getProperty('classList')\n if (!classList) {\n return null\n }\n\n const iconClass = Array.from(classList as DOMTokenList).find((c: string) => \n (c.startsWith('pi-'))\n )\n \n return iconClass ? `pi ${iconClass}` : null\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 SpanHarnessFilters extends BaseHarnessFilters {\n id?: string\n class?: string\n classes?: Array<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)\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n }\n\n static without(options: SpanHarnessFilters): HarnessPredicate<SpanHarness> {\n return new HarnessPredicate(SpanHarness, options).addOption(\n 'classes',\n options.classes,\n (harness, classes: Array<string>) => {\n return Promise.all(classes.map((c) => harness.checkHasClass(c))).then((classContainedArr) =>\n classContainedArr.every((classContained) => !classContained)\n )\n }\n )\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> {\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 hasAnyClass(classes: Array<string>) {\n const ret: Promise<boolean>[] = []\n classes.forEach((c) => ret.push(this.checkHasClass(c)))\n const res = await Promise.all(ret)\n return res.some((res) => res) ? 'true' : 'false'\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\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 getLabelSpan = this.locatorForOptional(SpanHarness.without({ classes: ['p-badge', 'p-button-icon'] }))\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-button-icon' }))\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.getLabelSpan())?.getText()) ?? null\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 async getBadgeValue() {\n return await (await this.host()).getAttribute('ng-reflect-badge')\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('data-automation-type')\n }\n async getOptions(): Promise<string | null> {\n return await (await this.host()).getAttribute('data-automation-options')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface DivHarnessFilters extends BaseHarnessFilters {\n class?: string\n id?: 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)\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\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('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 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 { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PChipHarness extends ComponentHarness {\n static hostSelector = 'p-chip'\n\n getRemoveButton = this.locatorForOptional('.p-chip-remove-icon')\n\n async getContent() {\n return await (await this.host()).text()\n }\n\n async clickRemove() {\n await (await this.getRemoveButton())?.click()\n }\n\n async click() {\n await (await this.host()).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 PSelectHarnessFilters extends BaseHarnessFilters {\n id?: string\n inputId?: string\n}\n\nexport class PSelectHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-select'\n\n static with(options: PSelectHarnessFilters): HarnessPredicate<PSelectHarness> {\n return new HarnessPredicate(PSelectHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('inputId', options.inputId, (harness, inputId) =>\n HarnessPredicate.stringMatches(harness.getInputId(), inputId)\n )\n }\n\n async getInputId(): Promise<string | null> {\n return await (await this.host()).getAttribute('inputId')\n }\n\n async getAriaLabel(): Promise<string | null | undefined> {\n return (await this.locatorForOptional('span.p-placeholder')())?.getAttribute('aria-label')\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 getSelectedText() {\n return (await this.locatorForOptional('span.p-select-label')())?.text()\n }\n\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('p-select-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 p-select, 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 p-select, because it is not open.')\n }\n }\n\n async getSelectItems() {\n await this.open()\n const rootLocator = this.documentRootLocatorFactory()\n const items = await rootLocator.harnessLoaderFor('.p-select-list')\n return await items.getAllHarnesses(ListItemHarness)\n }\n\n async getSelectItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n\n async selectedSelectItem(position: number) {\n const selectedColumnGroup = await Promise.all(\n (await this.getSelectItems()).filter((listItem) => listItem.isSelected())\n )\n return selectedColumnGroup[position]\n }\n\n async selectedSelectItemText(position: number) {\n return (await this.selectedSelectItem(position)).getText()\n }\n\n async hasClearOption() {\n return (await this.locatorFor('div')()).hasClass('p-select-clearable')\n }\n\n async clear() {\n if (await this.hasClearOption()) {\n return await (await this.locatorFor('.p-select-clear-icon')()).click()\n } else {\n console.warn('Unable to clear p-select, because it has no clear option')\n }\n }\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 | null> {\n const rootLocator = this.documentRootLocatorFactory()\n return rootLocator.harnessLoaderForOptional('.p-multiselect-overlay')\n }\n\n async getAllOptions(): Promise<PMultiSelectListItemHarness[]> {\n if (!(await this.isOpen())) {\n await this.open()\n }\n const panel = await this.getHarnessLoaderForPMultiSelectPanel()\n if (!panel) {\n throw new Error('Unable to access multiselect panel after opening.')\n }\n return await panel.getAllHarnesses(PMultiSelectListItemHarness)\n }\n\n async isOpen(): Promise<boolean> {\n const panel = await this.getHarnessLoaderForPMultiSelectPanel()\n if (!panel) return false\n return true\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 await this.waitForTasksOutsideAngular()\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 { PSelectHarness } from './p-select.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(PSelectHarness)\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-controls'\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-container'\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-controls' })\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-list-container' }))\n private getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-list-container' }))\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('p-togglebutton')\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PToggleButtonHarnessFilters extends BaseHarnessFilters {\n onLabel?: string\n}\n\nexport class PToggleButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-togglebutton'\n\n static with(options: PToggleButtonHarnessFilters): HarnessPredicate<PToggleButtonHarness> {\n return new HarnessPredicate(PToggleButtonHarness, options).addOption(\n 'onLabel',\n options.onLabel,\n (harness, onLabel) => HarnessPredicate.stringMatches(harness.getOnLabel(), onLabel)\n )\n }\n\n async getOnLabel() {\n return await (await this.host()).getAttribute('ng-reflect-on-label')\n }\n\n async click() {\n await (await this.host()).click()\n }\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 {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} 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>(\n this: ComponentHarnessConstructor<T>,\n options: PTableCheckboxHarnessFilter = {}\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'isSelected',\n options.isSelected,\n async (harness, selected) => {\n return (await harness.isChecked()) === selected\n }\n )\n }\n\n async isChecked(): Promise<boolean> {\n const allChecked = await this.locatorForAll('.p-checkbox-box .p-icon')()\n return allChecked.length === 1\n }\n\n async checkBox(): Promise<void> {\n const checkBoxElement = await this.locatorFor('.p-checkbox-input')()\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 { ComponentHarness, ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport async function waitForDeferredViewsToBeRendered(harness: ComponentHarness | ContentContainerComponentHarness) {\n return await new Promise<void>((resolve) => {\n setTimeout(() => {\n // Warning was removed for logs readability reasons\n // console.warn(\n // 'waitForTasksOutsideAngular has not finished within 500ms. We are not waiting any longer to not cause timeouts.'\n // );\n ;(harness as any).forceStabilize().then(() => resolve())\n }, 2_000)\n // waitForTasksOutsideAngular makes sure that the observe method of the IntersectionObserver is called for each defer block.\n // setTimeout makes sure that we are only continuing after the IntersectionObserverMock has called ther callback for each\n // defer block, because js scheduling is making sure that all methods which are scheduled via setTimeout are executed in the\n // respective order. This guarentees that the resolve method is called after the defer block was rendered.\n ;(harness as any).waitForTasksOutsideAngular().then(() => setTimeout(() => resolve()))\n })\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\nimport { waitForDeferredViewsToBeRendered } from '../utils/waitForDeferredViewsToBeRendered'\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 await waitForDeferredViewsToBeRendered(this)\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","export class IntersectionObserverMock {\n private callback: any\n private entries: any[]\n root: any\n rootMargin: any\n thresholds: any\n constructor(callback: any, _options: any) {\n this.callback = callback\n this.entries = []\n }\n\n observe(target: Element) {\n const entry = {\n boundingClientRect: target.getBoundingClientRect(),\n intersectionRatio: 1,\n isIntersecting: true,\n target: target,\n }\n this.entries.push(entry)\n setTimeout(() => {\n this.callback(this.entries, this)\n })\n }\n\n takeRecords() {\n return this.entries\n }\n\n unobserve(target: any) {\n this.entries = this.entries.filter((entry) => entry.target !== target)\n }\n\n disconnect() {\n this.entries = []\n }\n}\n\nexport function ensureIntersectionObserverMockExists() {\n if (!global.IntersectionObserver || global.IntersectionObserver !== IntersectionObserverMock) {\n global.IntersectionObserver = IntersectionObserverMock\n }\n}\n","export function ensureOriginMockExists() {\n if (!global.origin) {\n global.origin = ''\n }\n}\n","import { TranslateLoader, provideTranslateService, TranslationObject } from '@ngx-translate/core'\nimport { Observable, of } from 'rxjs'\n\n/**\n * This is a workaround for the compatibility issue with ngx-translate-testing v7\n * which uses the deprecated TranslateFakeCompiler that doesn't exist in ngx-translate v17 anymore.\n *\n * @see https://ngx-translate.org/getting-started/migration-guide/#5-renamed-internal-classes\n * @see https://github.com/mwootendev/ngx-translate-plugins/issues/87\n */\nexport class FakeTranslateLoader implements TranslateLoader {\n constructor(private readonly translations: { [lang: string]: TranslationObject } = {}) {}\n\n getTranslation(lang: string): Observable<TranslationObject> {\n return of(this.translations[lang] || {})\n }\n}\n\nexport function provideTranslateTestingService(translates: Record<string, TranslationObject>) {\n return provideTranslateService({\n loader: { provide: TranslateLoader, useValue: new FakeTranslateLoader(translates) },\n })\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
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/span.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-chip.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dialog.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-select.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/primeng/p-togglebutton.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/menu-item-with-icon.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/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/utils/waitForDeferredViewsToBeRendered.ts","../../../../libs/angular-testing/src/lib/harnesses/table-row.harness.ts","../../../../libs/angular-testing/src/lib/mocks/IntersectionObserverMock.ts","../../../../libs/angular-testing/src/lib/mocks/OriginMock.ts","../../../../libs/angular-testing/src/lib/utils/fake-translate-loader.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 const iconElement = await this.locatorForOptional('.p-button-icon')()\n if (!iconElement) {\n return null\n }\n\n const classList = await iconElement.getProperty('classList')\n if (!classList) {\n return null\n }\n\n const iconClass = Array.from(classList as DOMTokenList).find((c: string) => \n (c.startsWith('pi-'))\n )\n \n return iconClass ? `pi ${iconClass}` : null\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 SpanHarnessFilters extends BaseHarnessFilters {\n id?: string\n class?: string\n classes?: Array<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)\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n }\n\n static without(options: SpanHarnessFilters): HarnessPredicate<SpanHarness> {\n return new HarnessPredicate(SpanHarness, options).addOption(\n 'classes',\n options.classes,\n (harness, classes: Array<string>) => {\n return Promise.all(classes.map((c) => harness.checkHasClass(c))).then((classContainedArr) =>\n classContainedArr.every((classContained) => !classContained)\n )\n }\n )\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> {\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 hasAnyClass(classes: Array<string>) {\n const ret: Promise<boolean>[] = []\n classes.forEach((c) => ret.push(this.checkHasClass(c)))\n const res = await Promise.all(ret)\n return res.some((res) => res) ? 'true' : 'false'\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\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 getLabelSpan = this.locatorForOptional(SpanHarness.without({ classes: ['p-badge', 'p-button-icon'] }))\n getIconSpan = this.locatorForOptional(SpanHarness.with({ class: 'p-button-icon' }))\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.getLabelSpan())?.getText()) ?? null\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 async getBadgeValue() {\n return await (await this.host()).getAttribute('ng-reflect-badge')\n }\n\n async getLoadingIcon() {\n return await this.locatorForOptional('.p-button-loading-icon')()\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('data-automation-type')\n }\n async getOptions(): Promise<string | null> {\n return await (await this.host()).getAttribute('data-automation-options')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface DivHarnessFilters extends BaseHarnessFilters {\n class?: string\n id?: 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)\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\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('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 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 { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PChipHarness extends ComponentHarness {\n static hostSelector = 'p-chip'\n\n getRemoveButton = this.locatorForOptional('.p-chip-remove-icon')\n\n async getContent() {\n return await (await this.host()).text()\n }\n\n async clickRemove() {\n await (await this.getRemoveButton())?.click()\n }\n\n async click() {\n await (await this.host()).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 PSelectHarnessFilters extends BaseHarnessFilters {\n id?: string\n inputId?: string\n}\n\nexport class PSelectHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-select'\n\n static with(options: PSelectHarnessFilters): HarnessPredicate<PSelectHarness> {\n return new HarnessPredicate(PSelectHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('inputId', options.inputId, (harness, inputId) =>\n HarnessPredicate.stringMatches(harness.getInputId(), inputId)\n )\n }\n\n async getInputId(): Promise<string | null> {\n return await (await this.host()).getAttribute('inputId')\n }\n\n async getAriaLabel(): Promise<string | null | undefined> {\n return (await this.locatorForOptional('span.p-placeholder')())?.getAttribute('aria-label')\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 getSelectedText() {\n return (await this.locatorForOptional('span.p-select-label')())?.text()\n }\n\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('p-select-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 p-select, 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 p-select, because it is not open.')\n }\n }\n\n async getSelectItems() {\n await this.open()\n const rootLocator = this.documentRootLocatorFactory()\n const items = await rootLocator.harnessLoaderFor('.p-select-list')\n return await items.getAllHarnesses(ListItemHarness)\n }\n\n async getSelectItem(itemText: string): Promise<ListItemHarness | null> {\n return await this.locatorForOptional(ListItemHarness.with({ text: itemText }))()\n }\n\n async selectedSelectItem(position: number) {\n const selectedColumnGroup = await Promise.all(\n (await this.getSelectItems()).filter((listItem) => listItem.isSelected())\n )\n return selectedColumnGroup[position]\n }\n\n async selectedSelectItemText(position: number) {\n return (await this.selectedSelectItem(position)).getText()\n }\n\n async hasClearOption() {\n return (await this.locatorFor('div')()).hasClass('p-select-clearable')\n }\n\n async clear() {\n if (await this.hasClearOption()) {\n return await (await this.locatorFor('.p-select-clear-icon')()).click()\n } else {\n console.warn('Unable to clear p-select, because it has no clear option')\n }\n }\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 | null> {\n const rootLocator = this.documentRootLocatorFactory()\n return rootLocator.harnessLoaderForOptional('.p-multiselect-overlay')\n }\n\n async getAllOptions(): Promise<PMultiSelectListItemHarness[]> {\n if (!(await this.isOpen())) {\n await this.open()\n }\n const panel = await this.getHarnessLoaderForPMultiSelectPanel()\n if (!panel) {\n throw new Error('Unable to access multiselect panel after opening.')\n }\n return await panel.getAllHarnesses(PMultiSelectListItemHarness)\n }\n\n async isOpen(): Promise<boolean> {\n const panel = await this.getHarnessLoaderForPMultiSelectPanel()\n if (!panel) return false\n return true\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 await this.waitForTasksOutsideAngular()\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 { PSelectHarness } from './p-select.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(PSelectHarness)\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-controls'\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-container'\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-controls' })\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-list-container' }))\n private getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-list-container' }))\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('p-togglebutton')\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PToggleButtonHarnessFilters extends BaseHarnessFilters {\n onLabel?: string\n}\n\nexport class PToggleButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-togglebutton'\n\n static with(options: PToggleButtonHarnessFilters): HarnessPredicate<PToggleButtonHarness> {\n return new HarnessPredicate(PToggleButtonHarness, options).addOption(\n 'onLabel',\n options.onLabel,\n (harness, onLabel) => HarnessPredicate.stringMatches(harness.getOnLabel(), onLabel)\n )\n }\n\n async getOnLabel() {\n return await (await this.host()).getAttribute('ng-reflect-on-label')\n }\n\n async click() {\n await (await this.host()).click()\n }\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 {\n BaseHarnessFilters,\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} 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>(\n this: ComponentHarnessConstructor<T>,\n options: PTableCheckboxHarnessFilter = {}\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'isSelected',\n options.isSelected,\n async (harness, selected) => {\n return (await harness.isChecked()) === selected\n }\n )\n }\n\n async isChecked(): Promise<boolean> {\n const allChecked = await this.locatorForAll('.p-checkbox-box .p-icon')()\n return allChecked.length === 1\n }\n\n async checkBox(): Promise<void> {\n const checkBoxElement = await this.locatorFor('.p-checkbox-input')()\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 { ComponentHarness, ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport async function waitForDeferredViewsToBeRendered(harness: ComponentHarness | ContentContainerComponentHarness) {\n return await new Promise<void>((resolve) => {\n setTimeout(() => {\n // Warning was removed for logs readability reasons\n // console.warn(\n // 'waitForTasksOutsideAngular has not finished within 500ms. We are not waiting any longer to not cause timeouts.'\n // );\n ;(harness as any).forceStabilize().then(() => resolve())\n }, 2_000)\n // waitForTasksOutsideAngular makes sure that the observe method of the IntersectionObserver is called for each defer block.\n // setTimeout makes sure that we are only continuing after the IntersectionObserverMock has called ther callback for each\n // defer block, because js scheduling is making sure that all methods which are scheduled via setTimeout are executed in the\n // respective order. This guarentees that the resolve method is called after the defer block was rendered.\n ;(harness as any).waitForTasksOutsideAngular().then(() => setTimeout(() => resolve()))\n })\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\nimport { waitForDeferredViewsToBeRendered } from '../utils/waitForDeferredViewsToBeRendered'\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 await waitForDeferredViewsToBeRendered(this)\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","export class IntersectionObserverMock {\n private callback: any\n private entries: any[]\n root: any\n rootMargin: any\n thresholds: any\n constructor(callback: any, _options: any) {\n this.callback = callback\n this.entries = []\n }\n\n observe(target: Element) {\n const entry = {\n boundingClientRect: target.getBoundingClientRect(),\n intersectionRatio: 1,\n isIntersecting: true,\n target: target,\n }\n this.entries.push(entry)\n setTimeout(() => {\n this.callback(this.entries, this)\n })\n }\n\n takeRecords() {\n return this.entries\n }\n\n unobserve(target: any) {\n this.entries = this.entries.filter((entry) => entry.target !== target)\n }\n\n disconnect() {\n this.entries = []\n }\n}\n\nexport function ensureIntersectionObserverMockExists() {\n if (!global.IntersectionObserver || global.IntersectionObserver !== IntersectionObserverMock) {\n global.IntersectionObserver = IntersectionObserverMock\n }\n}\n","export function ensureOriginMockExists() {\n if (!global.origin) {\n global.origin = ''\n }\n}\n","import { TranslateLoader, provideTranslateService, TranslationObject } from '@ngx-translate/core'\nimport { Observable, of } from 'rxjs'\n\n/**\n * This is a workaround for the compatibility issue with ngx-translate-testing v7\n * which uses the deprecated TranslateFakeCompiler that doesn't exist in ngx-translate v17 anymore.\n *\n * @see https://ngx-translate.org/getting-started/migration-guide/#5-renamed-internal-classes\n * @see https://github.com/mwootendev/ngx-translate-plugins/issues/87\n */\nexport class FakeTranslateLoader implements TranslateLoader {\n constructor(private readonly translations: { [lang: string]: TranslationObject } = {}) {}\n\n getTranslation(lang: string): Observable<TranslationObject> {\n return of(this.translations[lang] || {})\n }\n}\n\nexport function provideTranslateTestingService(translates: Record<string, TranslationObject>) {\n return provideTranslateService({\n loader: { provide: TranslateLoader, useValue: new FakeTranslateLoader(translates) },\n })\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/migrations/index.js
CHANGED
package/migrations/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/angular-testing/migrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/angular-testing/migrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const nx_migration_utils_1 = require("@onecx/nx-migration-utils");
|
|
5
|
-
async function migrateOnecxToV6(tree) {
|
|
6
|
-
await (0, nx_migration_utils_1.commonMigrateOnecxToV6)(tree);
|
|
1
|
+
import { commonMigrateOnecxToV6 } from '@onecx/nx-migration-utils';
|
|
2
|
+
export default async function migrateOnecxToV6(tree) {
|
|
3
|
+
await commonMigrateOnecxToV6(tree);
|
|
7
4
|
}
|
|
8
5
|
//# sourceMappingURL=migrate-onecx-to-v6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-onecx-to-v6.js","sourceRoot":"","sources":["../../../../../libs/angular-testing/migrations/v6/migrate-onecx-to-v6.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate-onecx-to-v6.js","sourceRoot":"","sources":["../../../../../libs/angular-testing/migrations/v6/migrate-onecx-to-v6.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAU;IACvD,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onecx/angular-testing",
|
|
3
|
-
"version": "8.0.0-rc.
|
|
3
|
+
"version": "8.0.0-rc.6",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/onecx/onecx-portal-ui-libs"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@angular/cdk": "^
|
|
11
|
-
"
|
|
12
|
-
"
|
|
10
|
+
"@angular/cdk": "^21.0.0",
|
|
11
|
+
"primeng": "^21.0.2",
|
|
12
|
+
"@onecx/accelerator": "^8.0.0-rc.6",
|
|
13
13
|
"@nx/devkit": "^22.0.2",
|
|
14
14
|
"@ngx-translate/core": "^17.0.0",
|
|
15
|
-
"@onecx/nx-migration-utils": "^8.0.0-rc.
|
|
15
|
+
"@onecx/nx-migration-utils": "^8.0.0-rc.6",
|
|
16
16
|
"rxjs": "^7.8.2"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"migrations": "./migrations.json"
|
|
26
26
|
},
|
|
27
27
|
"module": "fesm2022/onecx-angular-testing.mjs",
|
|
28
|
-
"typings": "
|
|
28
|
+
"typings": "types/onecx-angular-testing.d.ts",
|
|
29
29
|
"exports": {
|
|
30
30
|
"./package.json": {
|
|
31
31
|
"default": "./package.json"
|
|
32
32
|
},
|
|
33
33
|
".": {
|
|
34
|
-
"types": "./
|
|
34
|
+
"types": "./types/onecx-angular-testing.d.ts",
|
|
35
35
|
"default": "./fesm2022/onecx-angular-testing.mjs"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentHarness, BaseHarnessFilters, HarnessPredicate, ContentContainerComponentHarness, HarnessLoader, TestElement, ComponentHarnessConstructor } from '@angular/cdk/testing';
|
|
2
2
|
export * from '@angular/cdk/testing';
|
|
3
|
-
import * as
|
|
3
|
+
import * as _onecx_angular_testing from '@onecx/angular-testing';
|
|
4
4
|
import { PrimeIcons } from 'primeng/api';
|
|
5
5
|
export * from '@angular/cdk/testing/testbed';
|
|
6
6
|
import * as _angular_core from '@angular/core';
|
|
@@ -9,7 +9,7 @@ import { Observable } from 'rxjs';
|
|
|
9
9
|
|
|
10
10
|
declare class PAccordionTabHarness extends ComponentHarness {
|
|
11
11
|
static hostSelector: string;
|
|
12
|
-
getButton: () => Promise<
|
|
12
|
+
getButton: () => Promise<_onecx_angular_testing.TestElement>;
|
|
13
13
|
expand(): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -81,6 +81,7 @@ declare class PButtonHarness extends ComponentHarness {
|
|
|
81
81
|
getIcon(): Promise<string | null>;
|
|
82
82
|
click(): Promise<void>;
|
|
83
83
|
getBadgeValue(): Promise<string | null>;
|
|
84
|
+
getLoadingIcon(): Promise<_onecx_angular_testing.TestElement | null>;
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
declare class PChartHarness extends ComponentHarness {
|
|
@@ -119,7 +120,7 @@ declare class PCheckboxHarness extends ComponentHarness {
|
|
|
119
120
|
|
|
120
121
|
declare class PChipHarness extends ComponentHarness {
|
|
121
122
|
static hostSelector: string;
|
|
122
|
-
getRemoveButton: () => Promise<
|
|
123
|
+
getRemoveButton: () => Promise<_onecx_angular_testing.TestElement | null>;
|
|
123
124
|
getContent(): Promise<string>;
|
|
124
125
|
clickRemove(): Promise<void>;
|
|
125
126
|
click(): Promise<void>;
|
|
@@ -162,7 +163,7 @@ declare class PSelectHarness extends ContentContainerComponentHarness {
|
|
|
162
163
|
|
|
163
164
|
declare class PMenuItemHarness extends ComponentHarness {
|
|
164
165
|
static hostSelector: string;
|
|
165
|
-
getAnchor: () => Promise<
|
|
166
|
+
getAnchor: () => Promise<_onecx_angular_testing.TestElement>;
|
|
166
167
|
getChildren: () => Promise<PMenuItemHarness[]>;
|
|
167
168
|
getIconSpan: () => Promise<SpanHarness | null>;
|
|
168
169
|
getText(): Promise<string>;
|
|
@@ -222,7 +223,7 @@ declare class PMultiSelectHarness extends ComponentHarness {
|
|
|
222
223
|
|
|
223
224
|
declare class PanelMenuItemHarness extends ComponentHarness {
|
|
224
225
|
static hostSelector: string;
|
|
225
|
-
getAnchor: () => Promise<
|
|
226
|
+
getAnchor: () => Promise<_onecx_angular_testing.TestElement>;
|
|
226
227
|
getChildren: () => Promise<PMenuItemHarness[]>;
|
|
227
228
|
getIconSpan: () => Promise<SpanHarness | null>;
|
|
228
229
|
getText(): Promise<string>;
|
|
@@ -327,7 +328,7 @@ declare class PPicklistHarness extends ContentContainerComponentHarness {
|
|
|
327
328
|
|
|
328
329
|
declare class PSelectButtonHarness extends ContentContainerComponentHarness {
|
|
329
330
|
static hostSelector: string;
|
|
330
|
-
getAllButtons: () => Promise<
|
|
331
|
+
getAllButtons: () => Promise<_onecx_angular_testing.TestElement[]>;
|
|
331
332
|
}
|
|
332
333
|
|
|
333
334
|
interface PToggleButtonHarnessFilters extends BaseHarnessFilters {
|
|
@@ -379,7 +380,7 @@ declare class TableHeaderColumnHarness extends ContentContainerComponentHarness
|
|
|
379
380
|
|
|
380
381
|
declare class TableRowHarness extends ContentContainerComponentHarness {
|
|
381
382
|
static hostSelector: string;
|
|
382
|
-
getAllActionButtons: () => Promise<
|
|
383
|
+
getAllActionButtons: () => Promise<_onecx_angular_testing.TestElement[]>;
|
|
383
384
|
getViewButton: () => Promise<ButtonHarness | null>;
|
|
384
385
|
getEditButton: () => Promise<ButtonHarness | null>;
|
|
385
386
|
getDeleteButton: () => Promise<ButtonHarness | null>;
|