keycloak-scim/cypress/support/pages/admin_console/manage/clients/ClientRolesTab.ts
2022-06-27 10:47:41 +02:00

60 lines
1.4 KiB
TypeScript

import CommonPage from "../../../CommonPage";
enum ClientRolesTabItems {
Details = "Details",
Attributes = "Attributes",
UsersInRole = "Users in role",
}
export default class ClientRolesTab extends CommonPage {
private createRoleBtn = "create-role";
private createRoleEmptyStateBtn = "no-roles-for-this-client-empty-action";
private hideInheritedRolesChkBox = "#kc-hide-inherited-roles-checkbox";
private rolesTab = "rolesTab";
private associatedRolesTab = ".kc-associated-roles-tab > button";
goToDetailsTab() {
this.tabUtils().clickTab(ClientRolesTabItems.Details);
return this;
}
goToAttributesTab() {
this.tabUtils().clickTab(ClientRolesTabItems.Attributes);
return this;
}
goToUsersInRoleTab() {
this.tabUtils().clickTab(ClientRolesTabItems.UsersInRole);
return this;
}
goToRolesTab() {
cy.findByTestId(this.rolesTab).click();
return this;
}
goToAssociatedRolesTab() {
cy.get(this.associatedRolesTab).click();
return this;
}
goToCreateRoleFromToolbar() {
cy.findByTestId(this.createRoleBtn).click();
return this;
}
goToCreateRoleFromEmptyState() {
cy.findByTestId(this.createRoleEmptyStateBtn).click();
return this;
}
fillClientRoleData() {
cy.findByTestId(this.createRoleBtn).click();
return this;
}
hideInheritedRoles() {
cy.get(this.hideInheritedRolesChkBox).check();
return this;
}
}