"""Модуль тестов панели навигации.

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

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


# @pytest.mark.smoke
class TestNavigationPanel:
    """Класс тестов для проверки панели навигации.

    Атрибуты:
        browser: Фикстура для работы с браузером.
    """

    def test_expand_panel(self, browser: Page):
        """Проверяет полное раскрытие панели навигации.

        Args:
            browser: Фикстура для работы с браузером.

        """

        # Действия:
        lp = LoginPage(browser)
        lp.do_login()

        # Мы на главной странице
        mp = MainPage(browser)

        # Проверки:
        # Проверяем наличие панели навигации
        mp.should_be_navigation_panel()

        # Открываем все пункты панели
        mp.click_main_navigation_panel_item("Настройки")

        mp.expand_navigation_subpanel()

        mp.click_main_navigation_panel_item("Объекты")
        mp.wait_for_timeout(300)

        mp.expand_navigation_subpanel()
