fefe2f57ae
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.
149 lines
3.2 KiB
TypeScript
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);
|
|
}
|
|
}
|