"""Модуль тестов авторизации. Содержит тесты для проверки функционала входа и выхода из системы. """ # import pytest from playwright.sync_api import Page from pages.main_page import MainPage from pages.login_page import LoginPage # @pytest.mark.smoke class TestLogin: """Класс тестов для проверки авторизации. Тесты покрывают следующие сценарии: 1. test_successful_login: Проверяет успешный вход в систему 2. test_unsuccessful_login: Проверяет вход с неверными учетными данными 3. test_successful_login_and_logout: Проверяет успешный вход и выход из системы 4. test_password_visibility: Проверяет видимость символов пароля """ # @pytest.mark.develop def test_successful_login(self, browser: Page) -> None: """Проверяет успешный вход в систему. Args: browser: Экземпляр страницы Playwright. """ lp = LoginPage(browser) lp.do_login() def test_unsuccessful_login(self, browser: Page) -> None: """Проверяет вход с неверными учетными данными. Args: browser: Экземпляр страницы Playwright. """ lp = LoginPage(browser) lp.do_unsuccessful_login() # @pytest.mark.develop def test_successful_login_and_logout(self, browser: Page) -> None: """Проверяет успешный вход и выход из системы. Args: browser: Экземпляр страницы Playwright. """ lp = LoginPage(browser) lp.do_login() mp = MainPage(browser) mp.do_logout() def test_password_visibility(self, browser: Page) -> None: """Проверяет видимость символов пароля. Args: browser: Экземпляр страницы Playwright. """ lp = LoginPage(browser) lp.open("") is_hidden_icon = lp.is_password_icon_hidden() if is_hidden_icon: is_hidden = lp.is_password_hidden() assert is_hidden, "Password should be hidden" # Нажатие на иконку скрытия пароля, пароль видим lp.click_password_hidden_icon() is_hidden_icon = lp.is_password_icon_hidden() is_hidden = lp.is_password_hidden() assert not is_hidden_icon, "Password hidden icon should not be in hidden state" assert not is_hidden, "Password should be visible" else: is_hidden = lp.is_password_hidden() assert not is_hidden, "Password should be visible" # Нажатие на иконку скрытия пароля, пароль скрыт lp.click_password_hidden_icon() is_hidden_icon = lp.is_password_icon_hidden() is_hidden = lp.is_password_hidden() assert is_hidden_icon, "Password hidden icon should be in hidden state" assert is_hidden, "Password should be hidden"