describe("Форма Входа", () => { beforeEach(() => { cy.visit("http://localhost:3000"); }); it("должна успешно входить с правильными учетными данными", () => { const email = "valid_user@example.com"; const password = "valid_password"; cy.get('input[name="email"]').type(email); cy.get('input[name="password"]').type(password); cy.get('button[type="submit"]').click(); cy.url().should("include", "http://localhost:3000/users"); }); it("должна отображать сообщение об ошибке при неверном формате электронной почты", () => { const invalidEmail = "invalid_email"; cy.get('input[name="email"]').type(invalidEmail); cy.get('input[name="password"]').type("valid_password"); cy.get('button[type="submit"]').click(); cy.contains("Неверный формат эл. почты"); }); it("должна отображать сообщение об ошибке при отсутствии пароля", () => { cy.get('input[name="email"]').type("valid_email@example.com"); cy.get('button[type="submit"]').click(); cy.contains("Введите пароль"); }); it("должна отображать сообщение об ошибке для недопустимого пароля", () => { const invalidPassword = "short"; cy.get('input[name="email"]').type("valid_email@example.com"); cy.get('input[name="password"]').type(invalidPassword); cy.get('button[type="submit"]').click(); cy.contains("Invalid password"); }); }); describe("Форма регистрации", () => { beforeEach(() => { cy.visit("http://localhost:3000/signup"); }); it("должна регистрировать нового пользователя с правильными данными", () => { const email = Cypress._.random(1000) + "@example.com"; const password = "valid_password"; cy.get('input[name="email"]').type(email); cy.get('input[name="password"]').type(password); cy.get('input[name="repeatPassword"]').type(password); cy.get('button[type="submit"]').click(); cy.wait(5000); cy.url().should("include", "http://localhost:3000/users"); }); it("должна отображать ошибку при неверном формате электронной почты", () => { const invalidEmail = "invalid_email"; cy.get('input[name="email"]').type(invalidEmail); cy.get('input[name="password"]').type("valid_password"); cy.get('input[name="repeatPassword"]').type("valid_password"); cy.get('button[type="submit"]').click(); cy.contains("Неверный формат эл. почты"); }); it("должна отображать ошибку при отсутствии пароля", () => { cy.get('input[name="email"]').type("valid_email@example.com"); cy.get('input[name="repeatPassword"]').type("valid_password"); cy.get('button[type="submit"]').click(); cy.contains("Обязательное поле").should("have.length", 1); }); it("должна отображать ошибку при несовпадении паролей", () => { cy.get('input[name="email"]').type("valid_email@example.com"); cy.get('input[name="password"]').type("valid_password"); cy.get('input[name="repeatPassword"]').type("different_password"); cy.get('button[type="submit"]').click(); cy.contains("Пароли не совпадают"); }); it("попытка отправки запроса при уже зарегистрированном пользователе", () => { const email = "users@gmail.com"; const password = "12344321"; cy.get('input[name="email"]').type(email); cy.get('input[name="password"]').type(password); cy.get('input[name="repeatPassword"]').type(password); cy.intercept("POST", "https://admin.pena.digital/auth/register").as("registerRequest"); cy.get('button[type="submit"]').click(); cy.wait("@registerRequest"); cy.wait(5000); cy.contains("user with this login is exist"); }); });