keycloak-scim/js/apps/admin-ui/cypress/support/pages/CommonElements.ts
Erik Jan de Wit 5949fd43d0
remove all use of deprecated Select and Dropdown (#29270)
* removed deprecated select

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* some more deprecation removal

working towards fixing: #28197

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* changed to use new api

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* more deprecation removal

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed merge error

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* small fix

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed merge error

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* no more default text for SelectOption

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* changed to use id

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed dropdown in keycloakCard and test fixes

Signed-off-by: mfrances <mfrances@redhat.com>
Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed lint error

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix dropdown/select related test failures

Signed-off-by: mfrances <mfrances@redhat.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* i18n label

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* removed

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed merge error

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

---------

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
Signed-off-by: mfrances <mfrances@redhat.com>
Co-authored-by: mfrances <mfrances@redhat.com>
2024-05-30 13:45:58 +02:00

61 lines
2 KiB
TypeScript

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;
protected tableKebabBtn;
constructor(parentSelector = "") {
this.parentSelector = trim(parentSelector) + " ";
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";
this.dropdownMenuItem =
this.parentSelector + ".pf-v5-c-menu__list .pf-v5-c-menu__item";
this.selectMenuItem =
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";
this.dropdownSelectToggleItem =
this.parentSelector + ".pf-v5-c-menu__list > li";
}
clickPrimaryBtn() {
cy.get(this.primaryBtn).click();
return this;
}
clickSecondaryBtn(buttonName: string, force = false) {
cy.get(this.secondaryBtn).contains(buttonName).click({ force: force });
return this;
}
checkIfExists(exist: boolean) {
cy.get(this.parentSelector).should((!exist ? "not." : "") + "exist");
return this;
}
checkElementIsDisabled(
element: Cypress.Chainable<JQuery<HTMLElement>>,
disabled: boolean,
) {
element.then(($btn) => {
if ($btn.hasClass("pf-m-disabled")) {
element.should(
(!disabled ? "not." : "") + "have.class",
"pf-m-disabled",
);
} else {
element.should((!disabled ? "not." : "") + "have.attr", "disabled");
}
});
}
}