78 lines
2.4 KiB
Python
78 lines
2.4 KiB
Python
"""Модуль тестов панели навигации.
|
||
|
||
Содержит тесты для проверки функциональности
|
||
панели навигации в приложении.
|
||
"""
|
||
|
||
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()
|
||
|
||
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("Пользователи")
|