keycloak-scim/js/apps/admin-ui/cypress/support/pages/admin-ui/SidebarPage.ts
Jon Koops fefe2f57ae
Use JavaScript private class features (#24054)
Uses JavaScript [private class features](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields) over TypeScript's `private` keyword. Also introduces some ESLint configuration to enforce this rule throughout the project.
2023-10-23 14:12:55 -04:00

149 lines
3.2 KiB
TypeScript

import CommonElements from "../CommonElements";
export default class SidebarPage extends CommonElements {
#realmsDrpDwn = "realmSelectorToggle";
#createRealmBtn = "add-realm";
#clientsBtn = "#nav-item-clients";
#clientScopesBtn = "#nav-item-client-scopes";
#realmRolesBtn = "#nav-item-roles";
#usersBtn = "#nav-item-users";
#groupsBtn = "#nav-item-groups";
#sessionsBtn = "#nav-item-sessions";
#eventsBtn = "#nav-item-events";
#realmSettingsBtn = "#nav-item-realm-settings";
#authenticationBtn = "#nav-item-authentication";
#identityProvidersBtn = "#nav-item-identity-providers";
#userFederationBtn = "#nav-item-user-federation";
showCurrentRealms(length: number) {
cy.findByTestId(this.#realmsDrpDwn).click();
cy.get('[data-testid="realmSelector"] li').should(
"have.length",
length + 1, // account for button
);
cy.findByTestId(this.#realmsDrpDwn).click({ force: true });
}
getCurrentRealm() {
return cy.findByTestId(this.#realmsDrpDwn).scrollIntoView().invoke("text");
}
goToRealm(realmName: string) {
this.waitForPageLoad();
cy.findByTestId(this.#realmsDrpDwn)
.click()
.parent()
.contains(realmName)
.click();
this.waitForPageLoad();
return this;
}
goToCreateRealm() {
this.waitForPageLoad();
cy.findByTestId(this.#realmsDrpDwn).click();
cy.findByTestId(this.#createRealmBtn).click();
this.waitForPageLoad();
return this;
}
goToClients() {
this.waitForPageLoad();
cy.get(this.#clientsBtn).click({ force: true });
this.waitForPageLoad();
return this;
}
goToClientScopes() {
this.waitForPageLoad();
cy.get(this.#clientScopesBtn).click();
this.waitForPageLoad();
return this;
}
goToRealmRoles() {
cy.get(this.#realmRolesBtn).click();
this.waitForPageLoad();
return this;
}
goToUsers() {
this.waitForPageLoad();
cy.get(this.#usersBtn).click();
this.waitForPageLoad();
return this;
}
goToGroups() {
this.waitForPageLoad();
cy.get(this.#groupsBtn).click();
this.waitForPageLoad();
return this;
}
goToSessions() {
this.waitForPageLoad();
cy.get(this.#sessionsBtn).click();
this.waitForPageLoad();
return this;
}
goToEvents() {
this.waitForPageLoad();
cy.get(this.#eventsBtn).click();
this.waitForPageLoad();
return this;
}
goToRealmSettings() {
this.waitForPageLoad();
cy.get(this.#realmSettingsBtn).click({ force: true });
this.waitForPageLoad();
return this;
}
goToAuthentication() {
this.waitForPageLoad();
cy.get(this.#authenticationBtn).click();
this.waitForPageLoad();
return this;
}
goToIdentityProviders() {
this.waitForPageLoad();
cy.get(this.#identityProvidersBtn).click();
this.waitForPageLoad();
return this;
}
goToUserFederation() {
this.waitForPageLoad();
cy.get(this.#userFederationBtn).click();
this.waitForPageLoad();
return this;
}
waitForPageLoad() {
cy.get('[role="progressbar"]').should("not.exist");
return this;
}
checkRealmSettingsLinkContainsText(expectedText: string) {
cy.get(this.#realmSettingsBtn).should("contain", expectedText);
}
}