"""Модуль тестов панели навигации. Содержит тесты для проверки функциональности панели навигации в приложении. """ from playwright.sync_api import Page from pages.main_page import MainPage from pages.login_page import LoginPage # @pytest.mark.smoke class TestNavigationPanel: """Класс тестов для проверки панели навигации. Тесты покрывают следующие сценарии: - test_expand_panel: Проверяет полное раскрытие панели навигации - test_sub_panel_item_click: Проверяет возможность клика заданного элемента в подпанели навигации Атрибуты: 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() def test_sub_panel_item_click(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.click_subpanel_item("Обслуживание и диагностика") mp.click_subpanel_item("Статус обслуживания") mp.wait_for_timeout(500) mp.click_subpanel_item("Пользователи") mp.click_subpanel_item("Пользователи")