@onecx/angular-testing 4.11.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +7 -0
- package/esm2020/index.mjs +26 -0
- package/esm2020/lib/harnesses/button.harness.mjs +31 -0
- package/esm2020/lib/harnesses/div.harness.mjs +28 -0
- package/esm2020/lib/harnesses/input.harness.mjs +39 -0
- package/esm2020/lib/harnesses/list-item.harness.mjs +14 -0
- package/esm2020/lib/harnesses/menu-item.harness.mjs +11 -0
- package/esm2020/lib/harnesses/p-tableCheckbox.harness.mjs +18 -0
- package/esm2020/lib/harnesses/p.harness.mjs +30 -0
- package/esm2020/lib/harnesses/primeng/p-button-directive.harness.mjs +23 -0
- package/esm2020/lib/harnesses/primeng/p-button.harness.mjs +14 -0
- package/esm2020/lib/harnesses/primeng/p-chart.harness.mjs +11 -0
- package/esm2020/lib/harnesses/primeng/p-checkbox.harness.mjs +27 -0
- package/esm2020/lib/harnesses/primeng/p-dialog.harness.mjs +25 -0
- package/esm2020/lib/harnesses/primeng/p-dropdown.harness.mjs +49 -0
- package/esm2020/lib/harnesses/primeng/p-menu.harness.mjs +21 -0
- package/esm2020/lib/harnesses/primeng/p-multiSelect.harness.mjs +60 -0
- package/esm2020/lib/harnesses/primeng/p-multiSelectListItem.harness.mjs +14 -0
- package/esm2020/lib/harnesses/primeng/p-paginator.harness.mjs +21 -0
- package/esm2020/lib/harnesses/primeng/p-picklist.harness.mjs +64 -0
- package/esm2020/lib/harnesses/primeng/p-selectButton.harness.mjs +9 -0
- package/esm2020/lib/harnesses/span.harness.mjs +17 -0
- package/esm2020/lib/harnesses/table-header-column.harness.mjs +19 -0
- package/esm2020/lib/harnesses/table-row.harness.mjs +19 -0
- package/esm2020/lib/harnesses/utils/primeicon.utils.mjs +2 -0
- package/esm2020/onecx-angular-testing.mjs +5 -0
- package/fesm2015/onecx-angular-testing.mjs +710 -0
- package/fesm2015/onecx-angular-testing.mjs.map +1 -0
- package/fesm2020/onecx-angular-testing.mjs +537 -0
- package/fesm2020/onecx-angular-testing.mjs.map +1 -0
- package/index.d.ts +25 -0
- package/lib/harnesses/button.harness.d.ts +15 -0
- package/lib/harnesses/div.harness.d.ts +13 -0
- package/lib/harnesses/input.harness.d.ts +14 -0
- package/lib/harnesses/list-item.harness.d.ts +7 -0
- package/lib/harnesses/menu-item.harness.d.ts +6 -0
- package/lib/harnesses/p-tableCheckbox.harness.d.ts +10 -0
- package/lib/harnesses/p.harness.d.ts +14 -0
- package/lib/harnesses/primeng/p-button-directive.harness.d.ts +13 -0
- package/lib/harnesses/primeng/p-button.harness.d.ts +10 -0
- package/lib/harnesses/primeng/p-chart.harness.d.ts +6 -0
- package/lib/harnesses/primeng/p-checkbox.harness.d.ts +14 -0
- package/lib/harnesses/primeng/p-dialog.harness.d.ts +13 -0
- package/lib/harnesses/primeng/p-dropdown.harness.d.ts +18 -0
- package/lib/harnesses/primeng/p-menu.harness.d.ts +8 -0
- package/lib/harnesses/primeng/p-multiSelect.harness.d.ts +19 -0
- package/lib/harnesses/primeng/p-multiSelectListItem.harness.d.ts +7 -0
- package/lib/harnesses/primeng/p-paginator.harness.d.ts +12 -0
- package/lib/harnesses/primeng/p-picklist.harness.d.ts +38 -0
- package/lib/harnesses/primeng/p-selectButton.harness.d.ts +5 -0
- package/lib/harnesses/span.harness.d.ts +11 -0
- package/lib/harnesses/table-header-column.harness.d.ts +9 -0
- package/lib/harnesses/table-row.harness.d.ts +10 -0
- package/lib/harnesses/utils/primeicon.utils.d.ts +2 -0
- package/package.json +34 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"onecx-angular-testing.mjs","sources":["../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button-directive.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-button.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-chart.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/div.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/input.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-checkbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dialog.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/list-item.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-dropdown.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-multiSelectListItem.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-multiSelect.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/button.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/span.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/primeng/p-paginator.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p-tableCheckbox.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/p.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-header-column.harness.ts","../../../../libs/angular-testing/src/lib/harnesses/table-row.harness.ts","../../../../libs/angular-testing/src/onecx-angular-testing.ts"],"sourcesContent":["import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonDirectiveHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PButtonDirectiveHarness extends ComponentHarness {\n static hostSelector = 'button[pButton]'\n\n static with(options: PButtonDirectiveHarnessFilters): HarnessPredicate<PButtonDirectiveHarness> {\n return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async click() {\n await (await this.host()).click()\n }\n\n async getLabel(): Promise<string | null> {\n return await (await this.host()).text()\n }\n\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-icon')\n }\n\n async getDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\nexport class PButtonHarness extends ComponentHarness {\n static hostSelector = 'p-button'\n\n static with(options: PButtonHarnessFilters): HarnessPredicate<PButtonHarness> {\n return new HarnessPredicate(PButtonHarness, 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 click() {\n await (await this.locatorFor('button')()).click()\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class PChartHarness extends ComponentHarness {\n static hostSelector = 'p-chart'\n\n async getType(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-type')\n }\n async getOptions(): Promise<string | null> {\n return await (await this.host()).getAttribute('ng-reflect-options')\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface DivHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class DivHarness extends ComponentHarness {\n static hostSelector = 'div'\n\n static with(options: DivHarnessFilters): HarnessPredicate<DivHarness> {\n return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate, TestElement } from '@angular/cdk/testing'\n\nexport interface InputHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class InputHarness extends ComponentHarness {\n static hostSelector = 'input'\n\n static with(options: InputHarnessFilters): HarnessPredicate<InputHarness> {\n return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getValue(): Promise<string | null> {\n return await (await this.host()).getProperty<string>('value')\n }\n async getChecked(): Promise<boolean> {\n return await (await this.host()).getProperty<boolean>('checked')\n }\n\n async setValue(value: string | Date): Promise<void> {\n if (value instanceof Date) {\n await (\n await this.host()\n ).setInputValue(\n `${value.toLocaleDateString([], {\n month: '2-digit',\n day: '2-digit',\n year: 'numeric',\n })} ${value.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`\n )\n } else {\n await (await this.host()).clear()\n if (value) {\n await (await this.host()).sendKeys(value)\n }\n await (await this.host()).setInputValue(value)\n }\n }\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click() {\n await (await this.host()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\nimport { InputHarness } from '../input.harness'\n\nexport interface PCheckBoxHarnessFilters extends BaseHarnessFilters {\n inputid?: string\n}\nexport class PCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-checkbox'\n\n getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }))\n\n static with(options: PCheckBoxHarnessFilters): HarnessPredicate<PCheckboxHarness> {\n return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) =>\n HarnessPredicate.stringMatches(harness.getId(), inputid)\n )\n }\n\n async isChecked(): Promise<boolean> {\n return (await this.locatorFor(InputHarness)()).getChecked()\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('inputId')\n }\n\n async isHidden(): Promise<boolean> {\n const attr = await (await this.host()).getAttribute('hidden')\n return Boolean(attr)\n }\n\n async click(): Promise<void> {\n await (await this.getCheckBoxDiv())?.click()\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, TestKey } from '@angular/cdk/testing'\nimport { DivHarness } from '../div.harness'\n\nexport interface PDialogHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDialogHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dialog'\n\n getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }))\n getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }))\n\n async getDialogTitle(): Promise<string | undefined> {\n return await (await this.getHeader())?.getText()\n }\n\n async close() {\n if (await this.isVisible()) {\n await (await this.host()).sendKeys(TestKey.ESCAPE)\n } else {\n console.warn('Unable to close CustomGroupColumnSelectionDialog, because it is not open.')\n }\n }\n\n async isVisible(): Promise<boolean> {\n return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class ListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\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 { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PDropdownHarnessFilters extends BaseHarnessFilters {\n id?: string\n}\n\nexport class PDropdownHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-dropdown'\n\n static with(options: PDropdownHarnessFilters): HarnessPredicate<PDropdownHarness> {\n return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) =>\n HarnessPredicate.stringMatches(harness.getId(), id)\n )\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getDefaultText() {\n return (await this.locatorForOptional('span.p-placeholder')())?.text()\n }\n\n async isOpen(): Promise<boolean> {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-open')\n }\n\n async open() {\n if (!(await this.isOpen())) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to open dropdown, because it is already open.')\n }\n }\n\n async close() {\n if (await this.isOpen()) {\n await (await this.locatorFor('div')()).click()\n } else {\n console.warn('Unable to close dropdown, because it is not open.')\n }\n }\n\n async getDropdownItems() {\n await this.open()\n const dropdownItems = this.locatorForAll(ListItemHarness)()\n return await dropdownItems\n }\n\n async selectedDropdownItem(position: number) {\n const selectedColumnGroup = await Promise.all(\n (await this.getDropdownItems()).filter((listItem) => listItem.isSelected())\n )\n return selectedColumnGroup[position]\n }\n\n async selectedDropdownItemText(position: number) {\n return (await this.selectedDropdownItem(position)).getText()\n }\n\n async hasClearOption() {\n return (await this.locatorFor('div')()).hasClass('p-dropdown-clearable')\n }\n}\n","import { ComponentHarness } from '@angular/cdk/testing'\n\nexport class MenuItemHarness extends ComponentHarness {\n static hostSelector = 'li > a'\n\n async getText() {\n return await (await this.host()).text()\n }\n\n async selectItem() {\n await (await this.host()).click()\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() {\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","import { ComponentHarness, TestElement } from '@angular/cdk/testing'\n\nexport class PMultiSelectListItemHarness extends ComponentHarness {\n static hostSelector = 'li'\n\n async getTestElement(): Promise<TestElement> {\n return await this.host()\n }\n\n async click(): Promise<void> {\n await (await this.host()).click()\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessLoader, HarnessPredicate } from '@angular/cdk/testing'\nimport { PMultiSelectListItemHarness } from './p-multiSelectListItem.harness'\n\nexport interface PMultiSelectHarnessFilters extends BaseHarnessFilters {\n id?: string\n class?: string\n}\n\nexport class PMultiSelectHarness extends ComponentHarness {\n static hostSelector = 'p-multiSelect'\n\n static with(options: PMultiSelectHarnessFilters): HarnessPredicate<PMultiSelectHarness> {\n return new HarnessPredicate(PMultiSelectHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async getHarnessLoaderForPMultiSelectPanel(): Promise<HarnessLoader> {\n const rootLocator = this.documentRootLocatorFactory()\n return rootLocator.harnessLoaderFor('.p-multiselect-panel')\n }\n\n async getAllOptions(): Promise<PMultiSelectListItemHarness[]> {\n if (!(await this.isOpen())) {\n await this.open()\n }\n return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness)\n }\n\n async isOpen(): Promise<boolean> {\n return await (await this.locatorFor('div')()).hasClass('p-multiselect-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 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()).hasClass('p-highlight')\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 { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface ButtonHarnessFilters extends BaseHarnessFilters {\n id?: string\n icon?: string\n class?: string\n}\n\nexport class ButtonHarness extends ComponentHarness {\n static hostSelector = 'button'\n\n static with(options: ButtonHarnessFilters): HarnessPredicate<ButtonHarness> {\n return new HarnessPredicate(ButtonHarness, options)\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))\n .addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n }\n\n async getId(): Promise<string | null> {\n return await (await this.host()).getAttribute('id')\n }\n async getIcon(): Promise<string | null> {\n return await (await this.host()).getAttribute('icon')\n }\n async getByClass(c: string): Promise<string | null> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async click() {\n if (!(await this.isDisabled())) {\n await (await this.host()).click()\n } else {\n console.warn('Button cannot be clicked, because it is disabled!')\n }\n }\n\n async isDisabled(): Promise<boolean> {\n return await (await this.host()).getProperty('disabled')\n }\n}\n","import { BaseHarnessFilters, ContentContainerComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\nimport { ButtonHarness } from '../button.harness'\nimport { DivHarness } from '../div.harness'\nimport { ListItemHarness } from '../list-item.harness'\n\nexport interface PPicklistControlsButtonsFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport interface PPicklistListWrapperFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-buttons'\n\n getButtons = this.locatorForAll(ButtonHarness)\n\n static with(options: PPicklistControlsButtonsFilters): HarnessPredicate<PPicklistControlsButtonsHarness> {\n return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption(\n 'class',\n options.class,\n (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistListWrapperHarness extends ContentContainerComponentHarness {\n static hostSelector = '.p-picklist-list-wrapper'\n\n getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }))\n getAllListItems = this.locatorForAll(ListItemHarness)\n\n static with(options: PPicklistListWrapperFilters): HarnessPredicate<PPicklistListWrapperHarness> {\n return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string) {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n}\n\nexport class PPicklistHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-picklist'\n\n private getPicklistSourceControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-source-controls' })\n )\n private getPicklistTransferControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-transfer-buttons' })\n )\n private getPicklistTargetControls = this.locatorFor(\n PPicklistControlsButtonsHarness.with({ class: 'p-picklist-target-controls' })\n )\n\n private getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }))\n private getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }))\n\n async getSourceControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistSourceControls()).getButtons()\n }\n\n async getTransferControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTransferControls()).getButtons()\n }\n\n async getTargetControlsButtons(): Promise<ButtonHarness[]> {\n return await (await this.getPicklistTargetControls()).getButtons()\n }\n\n async getSourceHeader(): Promise<string> {\n return await (await (await this.getPicklistSource()).getHeader()).getText()\n }\n\n async getTargetHeader(): Promise<string> {\n return await (await (await this.getPicklistTarget()).getHeader()).getText()\n }\n\n async getSourceListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistSource()).getAllListItems()\n }\n\n async getTargetListItems(): Promise<ListItemHarness[]> {\n return await (await this.getPicklistTarget()).getAllListItems()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\n\nexport class PSelectButtonHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-selectbutton'\n\n getAllButtons = this.locatorForAll('div > div')\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface SpanHarnessFilters extends BaseHarnessFilters {\n class?: string\n}\n\nexport class SpanHarness extends ComponentHarness {\n static hostSelector = 'span'\n\n static with(options: SpanHarnessFilters): HarnessPredicate<SpanHarness> {\n return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) =>\n HarnessPredicate.stringMatches(harness.getByClass(c), c)\n )\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n}","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { SpanHarness } from '../span.harness'\nimport { PDropdownHarness } from './p-dropdown.harness'\nimport { ButtonHarness } from '../button.harness'\n\nexport class PPaginatorHarness extends ContentContainerComponentHarness {\n static hostSelector = 'p-paginator'\n getCurrentPageReport = this.locatorFor(SpanHarness.with({ class: 'p-paginator-current' }))\n getRowsPerPageOptions = this.locatorFor(PDropdownHarness)\n getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }))\n\n async getCurrentPageReportText(): Promise<string | undefined> {\n return await (await this.getCurrentPageReport()).getText()\n }\n\n async clickNextPage() {\n ;(await this.getNextPageButton()).click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PTableCheckboxHarnessFilter extends BaseHarnessFilters {\n isSelected?: boolean\n}\n\nexport class PTableCheckboxHarness extends ComponentHarness {\n static hostSelector = 'p-tableCheckbox'\n\n static with<T extends PTableCheckboxHarness>(this: ComponentHarnessConstructor<T>, options: PTableCheckboxHarnessFilter = {}): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {\n return (await harness.isChecked()) === selected\n })\n }\n\n async isChecked(): Promise<boolean> {\n const allChecked = await this.locatorForAll('.pi-check')()\n return allChecked.length === 1\n }\n\n async checkBox(): Promise<void> {\n const checkBoxElement = await this.locatorFor('.p-checkbox-box')()\n return checkBoxElement.click()\n }\n}\n","import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing'\n\nexport interface PHarnessFilters extends BaseHarnessFilters {\n class?: string\n id?: string\n}\n\nexport class PHarness extends ComponentHarness {\n static hostSelector = 'p'\n\n static with(options: PHarnessFilters): HarnessPredicate<PHarness> {\n return new HarnessPredicate(PHarness, options)\n .addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))\n .addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.hasId(id), id))\n }\n\n async getByClass(c: string): Promise<string> {\n return (await (await this.host()).hasClass(c)) ? c : ''\n }\n\n async hasId(id: string): Promise<string> {\n return (await (await this.host()).matchesSelector('#' + id)) ? id : ''\n }\n\n async checkHasClass(value: string) {\n return await (await this.host()).hasClass(value)\n }\n\n async getText(): Promise<string> {\n return await (await this.host()).text()\n }\n\n async getClassList() {\n const host = await this.host()\n const attributeString = await host.getAttribute('class')\n if (attributeString) {\n return attributeString.trim().split(' ')\n }\n return []\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\nimport { PMultiSelectHarness } from './primeng/p-multiSelect.harness'\n\nexport class TableHeaderColumnHarness extends ContentContainerComponentHarness {\n static hostSelector = 'th'\n\n getSortButton = this.locatorFor(\n ButtonHarness.with({\n class: 'sortButton',\n })\n )\n\n getFilterMultiSelect = this.locatorFor(\n PMultiSelectHarness.with({\n class: 'filterMultiSelect',\n })\n )\n\n async getText(): Promise<string> {\n return (await this.host()).text()\n }\n}\n","import { ContentContainerComponentHarness } from '@angular/cdk/testing'\nimport { ButtonHarness } from './button.harness'\n\nexport class TableRowHarness extends ContentContainerComponentHarness {\n static hostSelector = 'tbody > tr'\n\n getAllActionButtons = this.locatorForAll('button')\n getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewTableRowButton' }))\n getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }))\n getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }))\n\n async getData(): Promise<string[]> {\n const tds = await this.locatorForAll('td')()\n const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')))\n const textTds = tds.filter((_v, index) => !isActionsTd[index])\n return Promise.all(textTds.map((t) => t.text()))\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,537 @@
|
|
1
|
+
import { ComponentHarness, HarnessPredicate, ContentContainerComponentHarness, TestKey } from '@angular/cdk/testing';
|
2
|
+
export * from '@angular/cdk/testing';
|
3
|
+
export * from '@angular/cdk/testing/testbed';
|
4
|
+
|
5
|
+
class PButtonDirectiveHarness extends ComponentHarness {
|
6
|
+
static with(options) {
|
7
|
+
return new HarnessPredicate(PButtonDirectiveHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
|
8
|
+
}
|
9
|
+
async getId() {
|
10
|
+
return await (await this.host()).getAttribute('id');
|
11
|
+
}
|
12
|
+
async click() {
|
13
|
+
await (await this.host()).click();
|
14
|
+
}
|
15
|
+
async getLabel() {
|
16
|
+
return await (await this.host()).text();
|
17
|
+
}
|
18
|
+
async getIcon() {
|
19
|
+
return await (await this.host()).getAttribute('ng-reflect-icon');
|
20
|
+
}
|
21
|
+
async getDisabled() {
|
22
|
+
return await (await this.host()).getProperty('disabled');
|
23
|
+
}
|
24
|
+
}
|
25
|
+
PButtonDirectiveHarness.hostSelector = 'button[pButton]';
|
26
|
+
|
27
|
+
class PButtonHarness extends ComponentHarness {
|
28
|
+
static with(options) {
|
29
|
+
return new HarnessPredicate(PButtonHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
|
30
|
+
}
|
31
|
+
async getId() {
|
32
|
+
return await (await this.host()).getAttribute('id');
|
33
|
+
}
|
34
|
+
async click() {
|
35
|
+
await (await this.locatorFor('button')()).click();
|
36
|
+
}
|
37
|
+
}
|
38
|
+
PButtonHarness.hostSelector = 'p-button';
|
39
|
+
|
40
|
+
class PChartHarness extends ComponentHarness {
|
41
|
+
async getType() {
|
42
|
+
return await (await this.host()).getAttribute('ng-reflect-type');
|
43
|
+
}
|
44
|
+
async getOptions() {
|
45
|
+
return await (await this.host()).getAttribute('ng-reflect-options');
|
46
|
+
}
|
47
|
+
}
|
48
|
+
PChartHarness.hostSelector = 'p-chart';
|
49
|
+
|
50
|
+
class DivHarness extends ComponentHarness {
|
51
|
+
static with(options) {
|
52
|
+
return new HarnessPredicate(DivHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
53
|
+
}
|
54
|
+
async getByClass(c) {
|
55
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
56
|
+
}
|
57
|
+
async checkHasClass(value) {
|
58
|
+
return await (await this.host()).hasClass(value);
|
59
|
+
}
|
60
|
+
async getText() {
|
61
|
+
return await (await this.host()).text();
|
62
|
+
}
|
63
|
+
async getClassList() {
|
64
|
+
const host = await this.host();
|
65
|
+
const attributeString = await host.getAttribute('class');
|
66
|
+
if (attributeString) {
|
67
|
+
return attributeString.trim().split(' ');
|
68
|
+
}
|
69
|
+
return [];
|
70
|
+
}
|
71
|
+
async click() {
|
72
|
+
await (await this.host()).click();
|
73
|
+
}
|
74
|
+
}
|
75
|
+
DivHarness.hostSelector = 'div';
|
76
|
+
|
77
|
+
class InputHarness extends ComponentHarness {
|
78
|
+
static with(options) {
|
79
|
+
return new HarnessPredicate(InputHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
|
80
|
+
}
|
81
|
+
async getId() {
|
82
|
+
return await (await this.host()).getAttribute('id');
|
83
|
+
}
|
84
|
+
async getValue() {
|
85
|
+
return await (await this.host()).getProperty('value');
|
86
|
+
}
|
87
|
+
async getChecked() {
|
88
|
+
return await (await this.host()).getProperty('checked');
|
89
|
+
}
|
90
|
+
async setValue(value) {
|
91
|
+
if (value instanceof Date) {
|
92
|
+
await (await this.host()).setInputValue(`${value.toLocaleDateString([], {
|
93
|
+
month: '2-digit',
|
94
|
+
day: '2-digit',
|
95
|
+
year: 'numeric',
|
96
|
+
})} ${value.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}`);
|
97
|
+
}
|
98
|
+
else {
|
99
|
+
await (await this.host()).clear();
|
100
|
+
if (value) {
|
101
|
+
await (await this.host()).sendKeys(value);
|
102
|
+
}
|
103
|
+
await (await this.host()).setInputValue(value);
|
104
|
+
}
|
105
|
+
}
|
106
|
+
async getTestElement() {
|
107
|
+
return await this.host();
|
108
|
+
}
|
109
|
+
async click() {
|
110
|
+
await (await this.host()).click();
|
111
|
+
}
|
112
|
+
}
|
113
|
+
InputHarness.hostSelector = 'input';
|
114
|
+
|
115
|
+
class PCheckboxHarness extends ComponentHarness {
|
116
|
+
constructor() {
|
117
|
+
super(...arguments);
|
118
|
+
this.getCheckBoxDiv = this.locatorForOptional(DivHarness.with({ class: 'p-checkbox-box' }));
|
119
|
+
}
|
120
|
+
static with(options) {
|
121
|
+
return new HarnessPredicate(PCheckboxHarness, options).addOption('inputid', options.inputid, (harness, inputid) => HarnessPredicate.stringMatches(harness.getId(), inputid));
|
122
|
+
}
|
123
|
+
async isChecked() {
|
124
|
+
return (await this.locatorFor(InputHarness)()).getChecked();
|
125
|
+
}
|
126
|
+
async getId() {
|
127
|
+
return await (await this.host()).getAttribute('inputId');
|
128
|
+
}
|
129
|
+
async isHidden() {
|
130
|
+
const attr = await (await this.host()).getAttribute('hidden');
|
131
|
+
return Boolean(attr);
|
132
|
+
}
|
133
|
+
async click() {
|
134
|
+
await (await this.getCheckBoxDiv())?.click();
|
135
|
+
}
|
136
|
+
}
|
137
|
+
PCheckboxHarness.hostSelector = 'p-checkbox';
|
138
|
+
|
139
|
+
class PDialogHarness extends ContentContainerComponentHarness {
|
140
|
+
constructor() {
|
141
|
+
super(...arguments);
|
142
|
+
this.getHeader = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-header' }));
|
143
|
+
this.getFooter = this.locatorForOptional(DivHarness.with({ class: 'p-dialog-footer' }));
|
144
|
+
}
|
145
|
+
async getDialogTitle() {
|
146
|
+
return await (await this.getHeader())?.getText();
|
147
|
+
}
|
148
|
+
async close() {
|
149
|
+
if (await this.isVisible()) {
|
150
|
+
await (await this.host()).sendKeys(TestKey.ESCAPE);
|
151
|
+
}
|
152
|
+
else {
|
153
|
+
console.warn('Unable to close CustomGroupColumnSelectionDialog, because it is not open.');
|
154
|
+
}
|
155
|
+
}
|
156
|
+
async isVisible() {
|
157
|
+
return (await (await this.host()).getAttribute('ng-reflect-visible')) === 'true' ? true : false;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
PDialogHarness.hostSelector = 'p-dialog';
|
161
|
+
|
162
|
+
class ListItemHarness extends ComponentHarness {
|
163
|
+
async getText() {
|
164
|
+
return await (await this.host()).text();
|
165
|
+
}
|
166
|
+
async isSelected() {
|
167
|
+
return (await (await this.host()).getAttribute('aria-selected')) === 'true' ? true : false;
|
168
|
+
}
|
169
|
+
async selectItem() {
|
170
|
+
await (await this.host()).click();
|
171
|
+
}
|
172
|
+
}
|
173
|
+
ListItemHarness.hostSelector = 'li';
|
174
|
+
|
175
|
+
class PDropdownHarness extends ContentContainerComponentHarness {
|
176
|
+
static with(options) {
|
177
|
+
return new HarnessPredicate(PDropdownHarness, options).addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id));
|
178
|
+
}
|
179
|
+
async getId() {
|
180
|
+
return await (await this.host()).getAttribute('id');
|
181
|
+
}
|
182
|
+
async getDefaultText() {
|
183
|
+
return (await this.locatorForOptional('span.p-placeholder')())?.text();
|
184
|
+
}
|
185
|
+
async isOpen() {
|
186
|
+
return (await this.locatorFor('div')()).hasClass('p-dropdown-open');
|
187
|
+
}
|
188
|
+
async open() {
|
189
|
+
if (!(await this.isOpen())) {
|
190
|
+
await (await this.locatorFor('div')()).click();
|
191
|
+
}
|
192
|
+
else {
|
193
|
+
console.warn('Unable to open dropdown, because it is already open.');
|
194
|
+
}
|
195
|
+
}
|
196
|
+
async close() {
|
197
|
+
if (await this.isOpen()) {
|
198
|
+
await (await this.locatorFor('div')()).click();
|
199
|
+
}
|
200
|
+
else {
|
201
|
+
console.warn('Unable to close dropdown, because it is not open.');
|
202
|
+
}
|
203
|
+
}
|
204
|
+
async getDropdownItems() {
|
205
|
+
await this.open();
|
206
|
+
const dropdownItems = this.locatorForAll(ListItemHarness)();
|
207
|
+
return await dropdownItems;
|
208
|
+
}
|
209
|
+
async selectedDropdownItem(position) {
|
210
|
+
const selectedColumnGroup = await Promise.all((await this.getDropdownItems()).filter((listItem) => listItem.isSelected()));
|
211
|
+
return selectedColumnGroup[position];
|
212
|
+
}
|
213
|
+
async selectedDropdownItemText(position) {
|
214
|
+
return (await this.selectedDropdownItem(position)).getText();
|
215
|
+
}
|
216
|
+
async hasClearOption() {
|
217
|
+
return (await this.locatorFor('div')()).hasClass('p-dropdown-clearable');
|
218
|
+
}
|
219
|
+
}
|
220
|
+
PDropdownHarness.hostSelector = 'p-dropdown';
|
221
|
+
|
222
|
+
class MenuItemHarness extends ComponentHarness {
|
223
|
+
async getText() {
|
224
|
+
return await (await this.host()).text();
|
225
|
+
}
|
226
|
+
async selectItem() {
|
227
|
+
await (await this.host()).click();
|
228
|
+
}
|
229
|
+
}
|
230
|
+
MenuItemHarness.hostSelector = 'li > a';
|
231
|
+
|
232
|
+
class PMenuHarness extends ContentContainerComponentHarness {
|
233
|
+
async getHarnessLoaderForPMenuOverlay() {
|
234
|
+
return this.documentRootLocatorFactory().harnessLoaderForOptional('.p-menu-overlay');
|
235
|
+
}
|
236
|
+
async isOpen() {
|
237
|
+
return !!(await this.getHarnessLoaderForPMenuOverlay());
|
238
|
+
}
|
239
|
+
async getAllMenuItems() {
|
240
|
+
if (await this.isOpen()) {
|
241
|
+
return await (await this.getHarnessLoaderForPMenuOverlay())?.getAllHarnesses(MenuItemHarness);
|
242
|
+
}
|
243
|
+
else {
|
244
|
+
console.warn('Cannot get menu items because menu is closed.');
|
245
|
+
}
|
246
|
+
return [];
|
247
|
+
}
|
248
|
+
}
|
249
|
+
PMenuHarness.hostSelector = 'p-menu';
|
250
|
+
|
251
|
+
class PMultiSelectListItemHarness extends ComponentHarness {
|
252
|
+
async getTestElement() {
|
253
|
+
return await this.host();
|
254
|
+
}
|
255
|
+
async click() {
|
256
|
+
await (await this.host()).click();
|
257
|
+
}
|
258
|
+
async getText() {
|
259
|
+
return await (await this.host()).text();
|
260
|
+
}
|
261
|
+
}
|
262
|
+
PMultiSelectListItemHarness.hostSelector = 'li';
|
263
|
+
|
264
|
+
class PMultiSelectHarness extends ComponentHarness {
|
265
|
+
static with(options) {
|
266
|
+
return new HarnessPredicate(PMultiSelectHarness, options)
|
267
|
+
.addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
|
268
|
+
.addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
269
|
+
}
|
270
|
+
async getId() {
|
271
|
+
return await (await this.host()).getAttribute('id');
|
272
|
+
}
|
273
|
+
async getByClass(c) {
|
274
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
275
|
+
}
|
276
|
+
async getHarnessLoaderForPMultiSelectPanel() {
|
277
|
+
const rootLocator = this.documentRootLocatorFactory();
|
278
|
+
return rootLocator.harnessLoaderFor('.p-multiselect-panel');
|
279
|
+
}
|
280
|
+
async getAllOptions() {
|
281
|
+
if (!(await this.isOpen())) {
|
282
|
+
await this.open();
|
283
|
+
}
|
284
|
+
return await (await this.getHarnessLoaderForPMultiSelectPanel()).getAllHarnesses(PMultiSelectListItemHarness);
|
285
|
+
}
|
286
|
+
async isOpen() {
|
287
|
+
return await (await this.locatorFor('div')()).hasClass('p-multiselect-open');
|
288
|
+
}
|
289
|
+
async open() {
|
290
|
+
if (!(await this.isOpen())) {
|
291
|
+
await (await this.locatorFor('div')()).click();
|
292
|
+
}
|
293
|
+
else {
|
294
|
+
console.warn('Unable to open multiSelect, because it is already open.');
|
295
|
+
}
|
296
|
+
}
|
297
|
+
async close() {
|
298
|
+
if (await this.isOpen()) {
|
299
|
+
await (await this.locatorFor('div')()).click();
|
300
|
+
}
|
301
|
+
else {
|
302
|
+
console.warn('Unable to close multiSelect, because it is not open.');
|
303
|
+
}
|
304
|
+
}
|
305
|
+
async isHighlighted(PMultiSelectListItem) {
|
306
|
+
return await (await PMultiSelectListItem.getTestElement()).hasClass('p-highlight');
|
307
|
+
}
|
308
|
+
async getSelectedOptions() {
|
309
|
+
const allOptions = await this.getAllOptions();
|
310
|
+
const selectedOptions = [];
|
311
|
+
for (let index = 0; index < allOptions.length; index++) {
|
312
|
+
const option = allOptions[index];
|
313
|
+
if (await this.isHighlighted(option)) {
|
314
|
+
selectedOptions.push(await option.getText());
|
315
|
+
}
|
316
|
+
}
|
317
|
+
return selectedOptions;
|
318
|
+
}
|
319
|
+
}
|
320
|
+
PMultiSelectHarness.hostSelector = 'p-multiSelect';
|
321
|
+
|
322
|
+
class ButtonHarness extends ComponentHarness {
|
323
|
+
static with(options) {
|
324
|
+
return new HarnessPredicate(ButtonHarness, options)
|
325
|
+
.addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.getId(), id))
|
326
|
+
.addOption('icon', options.icon, (harness, icon) => HarnessPredicate.stringMatches(harness.getIcon(), icon))
|
327
|
+
.addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
328
|
+
}
|
329
|
+
async getId() {
|
330
|
+
return await (await this.host()).getAttribute('id');
|
331
|
+
}
|
332
|
+
async getIcon() {
|
333
|
+
return await (await this.host()).getAttribute('icon');
|
334
|
+
}
|
335
|
+
async getByClass(c) {
|
336
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
337
|
+
}
|
338
|
+
async click() {
|
339
|
+
if (!(await this.isDisabled())) {
|
340
|
+
await (await this.host()).click();
|
341
|
+
}
|
342
|
+
else {
|
343
|
+
console.warn('Button cannot be clicked, because it is disabled!');
|
344
|
+
}
|
345
|
+
}
|
346
|
+
async isDisabled() {
|
347
|
+
return await (await this.host()).getProperty('disabled');
|
348
|
+
}
|
349
|
+
}
|
350
|
+
ButtonHarness.hostSelector = 'button';
|
351
|
+
|
352
|
+
class PPicklistControlsButtonsHarness extends ContentContainerComponentHarness {
|
353
|
+
constructor() {
|
354
|
+
super(...arguments);
|
355
|
+
this.getButtons = this.locatorForAll(ButtonHarness);
|
356
|
+
}
|
357
|
+
static with(options) {
|
358
|
+
return new HarnessPredicate(PPicklistControlsButtonsHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
359
|
+
}
|
360
|
+
async getByClass(c) {
|
361
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
362
|
+
}
|
363
|
+
}
|
364
|
+
PPicklistControlsButtonsHarness.hostSelector = '.p-picklist-buttons';
|
365
|
+
class PPicklistListWrapperHarness extends ContentContainerComponentHarness {
|
366
|
+
constructor() {
|
367
|
+
super(...arguments);
|
368
|
+
this.getHeader = this.locatorFor(DivHarness.with({ class: 'p-picklist-header' }));
|
369
|
+
this.getAllListItems = this.locatorForAll(ListItemHarness);
|
370
|
+
}
|
371
|
+
static with(options) {
|
372
|
+
return new HarnessPredicate(PPicklistListWrapperHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
373
|
+
}
|
374
|
+
async getByClass(c) {
|
375
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
376
|
+
}
|
377
|
+
}
|
378
|
+
PPicklistListWrapperHarness.hostSelector = '.p-picklist-list-wrapper';
|
379
|
+
class PPicklistHarness extends ContentContainerComponentHarness {
|
380
|
+
constructor() {
|
381
|
+
super(...arguments);
|
382
|
+
this.getPicklistSourceControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-source-controls' }));
|
383
|
+
this.getPicklistTransferControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-transfer-buttons' }));
|
384
|
+
this.getPicklistTargetControls = this.locatorFor(PPicklistControlsButtonsHarness.with({ class: 'p-picklist-target-controls' }));
|
385
|
+
this.getPicklistSource = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-source-wrapper' }));
|
386
|
+
this.getPicklistTarget = this.locatorFor(PPicklistListWrapperHarness.with({ class: 'p-picklist-target-wrapper' }));
|
387
|
+
}
|
388
|
+
async getSourceControlsButtons() {
|
389
|
+
return await (await this.getPicklistSourceControls()).getButtons();
|
390
|
+
}
|
391
|
+
async getTransferControlsButtons() {
|
392
|
+
return await (await this.getPicklistTransferControls()).getButtons();
|
393
|
+
}
|
394
|
+
async getTargetControlsButtons() {
|
395
|
+
return await (await this.getPicklistTargetControls()).getButtons();
|
396
|
+
}
|
397
|
+
async getSourceHeader() {
|
398
|
+
return await (await (await this.getPicklistSource()).getHeader()).getText();
|
399
|
+
}
|
400
|
+
async getTargetHeader() {
|
401
|
+
return await (await (await this.getPicklistTarget()).getHeader()).getText();
|
402
|
+
}
|
403
|
+
async getSourceListItems() {
|
404
|
+
return await (await this.getPicklistSource()).getAllListItems();
|
405
|
+
}
|
406
|
+
async getTargetListItems() {
|
407
|
+
return await (await this.getPicklistTarget()).getAllListItems();
|
408
|
+
}
|
409
|
+
}
|
410
|
+
PPicklistHarness.hostSelector = 'p-picklist';
|
411
|
+
|
412
|
+
class PSelectButtonHarness extends ContentContainerComponentHarness {
|
413
|
+
constructor() {
|
414
|
+
super(...arguments);
|
415
|
+
this.getAllButtons = this.locatorForAll('div > div');
|
416
|
+
}
|
417
|
+
}
|
418
|
+
PSelectButtonHarness.hostSelector = 'p-selectbutton';
|
419
|
+
|
420
|
+
class SpanHarness extends ComponentHarness {
|
421
|
+
static with(options) {
|
422
|
+
return new HarnessPredicate(SpanHarness, options).addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c));
|
423
|
+
}
|
424
|
+
async getByClass(c) {
|
425
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
426
|
+
}
|
427
|
+
async checkHasClass(value) {
|
428
|
+
return await (await this.host()).hasClass(value);
|
429
|
+
}
|
430
|
+
async getText() {
|
431
|
+
return await (await this.host()).text();
|
432
|
+
}
|
433
|
+
}
|
434
|
+
SpanHarness.hostSelector = 'span';
|
435
|
+
|
436
|
+
class PPaginatorHarness extends ContentContainerComponentHarness {
|
437
|
+
constructor() {
|
438
|
+
super(...arguments);
|
439
|
+
this.getCurrentPageReport = this.locatorFor(SpanHarness.with({ class: 'p-paginator-current' }));
|
440
|
+
this.getRowsPerPageOptions = this.locatorFor(PDropdownHarness);
|
441
|
+
this.getNextPageButton = this.locatorFor(ButtonHarness.with({ class: 'p-paginator-next' }));
|
442
|
+
}
|
443
|
+
async getCurrentPageReportText() {
|
444
|
+
return await (await this.getCurrentPageReport()).getText();
|
445
|
+
}
|
446
|
+
async clickNextPage() {
|
447
|
+
;
|
448
|
+
(await this.getNextPageButton()).click();
|
449
|
+
}
|
450
|
+
}
|
451
|
+
PPaginatorHarness.hostSelector = 'p-paginator';
|
452
|
+
|
453
|
+
class PTableCheckboxHarness extends ComponentHarness {
|
454
|
+
static with(options = {}) {
|
455
|
+
return new HarnessPredicate(this, options).addOption('isSelected', options.isSelected, async (harness, selected) => {
|
456
|
+
return (await harness.isChecked()) === selected;
|
457
|
+
});
|
458
|
+
}
|
459
|
+
async isChecked() {
|
460
|
+
const allChecked = await this.locatorForAll('.pi-check')();
|
461
|
+
return allChecked.length === 1;
|
462
|
+
}
|
463
|
+
async checkBox() {
|
464
|
+
const checkBoxElement = await this.locatorFor('.p-checkbox-box')();
|
465
|
+
return checkBoxElement.click();
|
466
|
+
}
|
467
|
+
}
|
468
|
+
PTableCheckboxHarness.hostSelector = 'p-tableCheckbox';
|
469
|
+
|
470
|
+
class PHarness extends ComponentHarness {
|
471
|
+
static with(options) {
|
472
|
+
return new HarnessPredicate(PHarness, options)
|
473
|
+
.addOption('class', options.class, (harness, c) => HarnessPredicate.stringMatches(harness.getByClass(c), c))
|
474
|
+
.addOption('id', options.id, (harness, id) => HarnessPredicate.stringMatches(harness.hasId(id), id));
|
475
|
+
}
|
476
|
+
async getByClass(c) {
|
477
|
+
return (await (await this.host()).hasClass(c)) ? c : '';
|
478
|
+
}
|
479
|
+
async hasId(id) {
|
480
|
+
return (await (await this.host()).matchesSelector('#' + id)) ? id : '';
|
481
|
+
}
|
482
|
+
async checkHasClass(value) {
|
483
|
+
return await (await this.host()).hasClass(value);
|
484
|
+
}
|
485
|
+
async getText() {
|
486
|
+
return await (await this.host()).text();
|
487
|
+
}
|
488
|
+
async getClassList() {
|
489
|
+
const host = await this.host();
|
490
|
+
const attributeString = await host.getAttribute('class');
|
491
|
+
if (attributeString) {
|
492
|
+
return attributeString.trim().split(' ');
|
493
|
+
}
|
494
|
+
return [];
|
495
|
+
}
|
496
|
+
}
|
497
|
+
PHarness.hostSelector = 'p';
|
498
|
+
|
499
|
+
class TableHeaderColumnHarness extends ContentContainerComponentHarness {
|
500
|
+
constructor() {
|
501
|
+
super(...arguments);
|
502
|
+
this.getSortButton = this.locatorFor(ButtonHarness.with({
|
503
|
+
class: 'sortButton',
|
504
|
+
}));
|
505
|
+
this.getFilterMultiSelect = this.locatorFor(PMultiSelectHarness.with({
|
506
|
+
class: 'filterMultiSelect',
|
507
|
+
}));
|
508
|
+
}
|
509
|
+
async getText() {
|
510
|
+
return (await this.host()).text();
|
511
|
+
}
|
512
|
+
}
|
513
|
+
TableHeaderColumnHarness.hostSelector = 'th';
|
514
|
+
|
515
|
+
class TableRowHarness extends ContentContainerComponentHarness {
|
516
|
+
constructor() {
|
517
|
+
super(...arguments);
|
518
|
+
this.getAllActionButtons = this.locatorForAll('button');
|
519
|
+
this.getViewButton = this.locatorForOptional(ButtonHarness.with({ class: 'viewTableRowButton' }));
|
520
|
+
this.getEditButton = this.locatorForOptional(ButtonHarness.with({ class: 'editTableRowButton' }));
|
521
|
+
this.getDeleteButton = this.locatorForOptional(ButtonHarness.with({ class: 'deleteTableRowButton' }));
|
522
|
+
}
|
523
|
+
async getData() {
|
524
|
+
const tds = await this.locatorForAll('td')();
|
525
|
+
const isActionsTd = await Promise.all(tds.map((t) => t.hasClass('actions')));
|
526
|
+
const textTds = tds.filter((_v, index) => !isActionsTd[index]);
|
527
|
+
return Promise.all(textTds.map((t) => t.text()));
|
528
|
+
}
|
529
|
+
}
|
530
|
+
TableRowHarness.hostSelector = 'tbody > tr';
|
531
|
+
|
532
|
+
/**
|
533
|
+
* Generated bundle index. Do not edit.
|
534
|
+
*/
|
535
|
+
|
536
|
+
export { ButtonHarness, DivHarness, InputHarness, ListItemHarness, MenuItemHarness, PButtonDirectiveHarness, PButtonHarness, PChartHarness, PCheckboxHarness, PDialogHarness, PDropdownHarness, PHarness, PMenuHarness, PMultiSelectHarness, PMultiSelectListItemHarness, PPaginatorHarness, PPicklistControlsButtonsHarness, PPicklistHarness, PPicklistListWrapperHarness, PSelectButtonHarness, PTableCheckboxHarness, SpanHarness, TableHeaderColumnHarness, TableRowHarness };
|
537
|
+
//# sourceMappingURL=onecx-angular-testing.mjs.map
|