111 lines
4.1 KiB
TypeScript
111 lines
4.1 KiB
TypeScript
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", process.env.REACT_APP_DOMAIN + "/auth/register").as("registerRequest");
|
||
cy.get('button[type="submit"]').click();
|
||
cy.wait("@registerRequest");
|
||
|
||
cy.wait(5000);
|
||
cy.contains("user with this login is exist");
|
||
});
|
||
});
|