2023-07-25 18:48:52 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2024-01-23 18:31:02 +00:00
|
|
|
|
cy.intercept("POST", process.env.REACT_APP_DOMAIN + "/auth/register").as("registerRequest");
|
2023-07-25 18:48:52 +00:00
|
|
|
|
cy.get('button[type="submit"]').click();
|
|
|
|
|
cy.wait("@registerRequest");
|
|
|
|
|
|
|
|
|
|
cy.wait(5000);
|
|
|
|
|
cy.contains("user with this login is exist");
|
|
|
|
|
});
|
|
|
|
|
});
|