describe("Форма Входа", () => { beforeEach(() => { cy.visit("http://localhost:3000"); cy.wait(1000); cy.contains("Личный кабинет").click(); }); it("должна успешно входить с правильными учетными данными", () => { const login = "valid_user@example.com"; const password = "valid_password"; cy.get("#login").type(login); cy.get("#password").type(password); cy.get('button[type="submit"]').click(); cy.wait(2000); cy.url().should("include", "http://localhost:3000/tariffs"); }); it("должна отображать два сообщение об ошибке при отсутствии полей", () => { cy.get('button[type="submit"]').click(); cy.wait(2000); cy.get("#password-helper-text").should("contain", "Поле обязательно"); cy.get("#login-helper-text").should("contain", "Поле обязательно"); }); it("должна отображать сообщение об ошибке при отсутствии пароля", () => { cy.get("#login").type("valid_email@example.com"); cy.get('button[type="submit"]').click(); cy.get("#password-helper-text").should("contain", "Поле обязательно"); }); it("должна отображать сообщение об ошибке при отсутствии Логина", () => { cy.get("#password").type("valid_password"); cy.get('button[type="submit"]').click(); cy.get("#login-helper-text").should("contain", "Поле обязательно"); }); }); describe("Форма регистрации", () => { beforeEach(() => { cy.visit("http://localhost:3000"); cy.wait(1000); cy.contains("Личный кабинет").click(); cy.contains("Регистрация").click(); }); it("должна регистрировать нового пользователя с правильными данными", () => { const login = Cypress._.random(1000) + "@example.com"; const password = "valid_password"; cy.get("#login").type(login); cy.get("#password").type(password); cy.get("#repeatPassword").type(password); cy.get('button[type="submit"]').click(); cy.wait(5000); cy.url().should("include", "http://localhost:3000/tariffs"); }); it("должна отображать ошибку при отсутсвии логина", () => { cy.get("#password").type("valid_password"); cy.get("#repeatPassword").type("valid_password"); cy.get('button[type="submit"]').click(); cy.get("#login-helper-text").should("contain", "Поле обязательно"); }); it("должна отображать ошибку при отсутствии пароля", () => { cy.get("#login").type("valid_login"); cy.get('button[type="submit"]').click(); cy.get("#password-helper-text").should("contain", "Поле обязательно"); }); it("должна отображать ошибку при отсутствии поля Повторения пароля", () => { cy.get("#login").type("valid_login"); cy.get("#password").type("valid_password"); cy.get('button[type="submit"]').click(); cy.get("#repeatPassword-helper-text").should("contain", "Повторите пароль"); }); it("должна отображать ошибку при некоректном пароле", () => { cy.get("#login").type("valid_log"); cy.get("#password").type("valid@12_-_@@password"); cy.get('button[type="submit"]').click(); cy.get("#password-helper-text").should("contain", "Некорректные символы"); cy.get("#repeatPassword-helper-text").should("contain", "Повторите пароль"); }); it("должна отображать ошибку при несовпадении паролей", () => { cy.get("#login").type("valid_login"); cy.get("#password").type("valid_password"); cy.get("#repeatPassword").type("invalidPassword"); cy.get('button[type="submit"]').click(); cy.get("#repeatPassword-helper-text").should("contain", "Пароли не совпадают"); }); it("попытка отправки запроса при уже зарегистрированном пользователе", () => { const login = "valid_user@example.com"; const password = "valid_password"; cy.get("#login").type(login); cy.get("#password").type(password); cy.get("#repeatPassword").type(password); cy.get('button[type="submit"]').click(); cy.wait(5000); cy.contains("user with this login is exist"); }); });