export default class LoginPage { #userNameInput = "#username"; #passwordInput = "#password"; #submitBtn = "#kc-login"; #oldLoadContainer = "#loading"; #loadContainer = "div.keycloak__loading-container"; isLogInPage() { cy.get(this.#userNameInput).should("exist"); cy.url().should("include", "/auth"); return this; } logIn(userName = "admin", password = "admin") { cy.session( [userName, password], () => { cy.visit("/"); cy.get('[role="progressbar"]').should("not.exist"); 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(); } }); }, { validate() { cy.get('[role="progressbar"]').should("not.exist"); }, }, ); } }