front-hub/cypress/e2e/access.cy.ts

126 lines
4.4 KiB
TypeScript
Raw Normal View History

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