keycloak-scim/cypress/support/pages/LoginPage.ts

56 lines
1.3 KiB
TypeScript
Raw Normal View History

2021-01-27 12:56:28 +00:00
export default class LoginPage {
userNameInput: string;
passwordInput: string;
submitBtn: string;
errorText: string;
userDrpDwn: string;
oldLoadContainer: string;
loadContainer: string;
2021-01-27 12:56:28 +00:00
constructor() {
this.userNameInput = "#username";
this.passwordInput = "#password";
this.submitBtn = "#kc-login";
this.userDrpDwn = "#user-dropdown";
2021-01-27 12:56:28 +00:00
this.errorText = ".kc-feedback-text";
this.oldLoadContainer = "#loading";
this.loadContainer = "div.keycloak__loading-container";
2021-01-27 12:56:28 +00:00
}
isLogInPage() {
cy.get(this.userNameInput).should("exist");
cy.url().should("include", "/auth");
return this;
}
logIn(userName = "admin", password = "admin") {
cy.get(this.oldLoadContainer).should("not.exist");
cy.get(this.loadContainer).should("not.exist");
cy.get("body")
.children()
.then((children) => {
if (children.length == 1) {
cy.get(this.userNameInput).type(userName);
cy.get(this.passwordInput).type(password);
cy.get(this.submitBtn).click();
}
});
2021-01-27 12:56:28 +00:00
}
checkErrorIsDisplayed() {
cy.get(this.userDrpDwn).should("exist");
return this;
}
checkErrorMessage(message: string) {
cy.get(this.errorText).invoke("text").should("contain", message);
return this;
}
}