2022-04-19 12:25:57 +00:00
|
|
|
import { trim } from "lodash-es";
|
|
|
|
|
|
|
|
export default class CommonElements {
|
|
|
|
protected parentSelector;
|
|
|
|
protected primaryBtn;
|
|
|
|
protected secondaryBtn;
|
|
|
|
protected secondaryBtnLink;
|
|
|
|
protected dropdownMenuItem;
|
|
|
|
protected selectMenuItem;
|
|
|
|
protected dropdownToggleBtn;
|
|
|
|
protected dropdownSelectToggleBtn;
|
|
|
|
protected dropdownSelectToggleItem;
|
2024-04-05 14:37:05 +00:00
|
|
|
protected tableKebabBtn;
|
2022-04-19 12:25:57 +00:00
|
|
|
|
|
|
|
constructor(parentSelector = "") {
|
|
|
|
this.parentSelector = trim(parentSelector) + " ";
|
2024-04-05 14:37:05 +00:00
|
|
|
this.primaryBtn = this.parentSelector + ".pf-v5-c-button.pf-m-primary";
|
|
|
|
this.secondaryBtn = this.parentSelector + ".pf-v5-c-button.pf-m-secondary";
|
|
|
|
this.secondaryBtnLink = this.parentSelector + ".pf-v5-c-button.pf-m-link";
|
2022-04-19 12:25:57 +00:00
|
|
|
this.dropdownMenuItem =
|
2024-05-30 11:45:58 +00:00
|
|
|
this.parentSelector + ".pf-v5-c-menu__list .pf-v5-c-menu__item";
|
2022-04-19 12:25:57 +00:00
|
|
|
this.selectMenuItem =
|
2024-05-30 11:45:58 +00:00
|
|
|
this.parentSelector + ".pf-v5-c-menu__list .pf-v5-c-menu__list-item";
|
|
|
|
this.dropdownToggleBtn = this.parentSelector + ".pf-v5-c-menu-toggle";
|
|
|
|
this.tableKebabBtn = this.parentSelector + ".pf-v5-c-menu-toggle";
|
|
|
|
this.dropdownSelectToggleBtn = this.parentSelector + ".pf-v5-c-menu-toggle";
|
2022-04-19 12:25:57 +00:00
|
|
|
this.dropdownSelectToggleItem =
|
2024-05-30 11:45:58 +00:00
|
|
|
this.parentSelector + ".pf-v5-c-menu__list > li";
|
2022-04-19 12:25:57 +00:00
|
|
|
}
|
|
|
|
|
2022-05-19 13:43:48 +00:00
|
|
|
clickPrimaryBtn() {
|
|
|
|
cy.get(this.primaryBtn).click();
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
2022-09-15 10:55:57 +00:00
|
|
|
clickSecondaryBtn(buttonName: string, force = false) {
|
|
|
|
cy.get(this.secondaryBtn).contains(buttonName).click({ force: force });
|
2022-04-19 12:25:57 +00:00
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
checkIfExists(exist: boolean) {
|
|
|
|
cy.get(this.parentSelector).should((!exist ? "not." : "") + "exist");
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
checkElementIsDisabled(
|
|
|
|
element: Cypress.Chainable<JQuery<HTMLElement>>,
|
2023-07-11 14:03:21 +00:00
|
|
|
disabled: boolean,
|
2022-04-19 12:25:57 +00:00
|
|
|
) {
|
|
|
|
element.then(($btn) => {
|
|
|
|
if ($btn.hasClass("pf-m-disabled")) {
|
|
|
|
element.should(
|
|
|
|
(!disabled ? "not." : "") + "have.class",
|
2023-07-11 14:03:21 +00:00
|
|
|
"pf-m-disabled",
|
2022-04-19 12:25:57 +00:00
|
|
|
);
|
|
|
|
} else {
|
|
|
|
element.should((!disabled ? "not." : "") + "have.attr", "disabled");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|