front-hub/cypress/e2e/access.cy.ts
2023-11-06 02:48:07 +03:00

126 lines
4.4 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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")
})
})