"""Модуль тестов авторизации.

Содержит тесты для проверки функционала
входа и выхода из системы.
"""

from playwright.sync_api import Page
from pages.main_page import MainPage
from pages.login_page import LoginPage

class TestLogin:
    """Класс тестов для проверки авторизации."""

    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()

    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()
