e-nms_qa_automation/tests/e2e/test_service_status_tab.py

89 lines
3.5 KiB
Python

"""Модуль тестов вкладки 'Статус обслуживания'.
Содержит тесты для проверки отображения и функциональности
элементов вкладки статусов сервисов.
"""
import pytest
from playwright.sync_api import Page
from pages.service_status_tab import ServiceStatusTab
from pages.main_page import MainPage
from pages.login_page import LoginPage
class TestServiceStatusTab:
"""Класс тестов для проверки вкладки 'Статус обслуживания'.
Тесты покрывают следующие сценарии:
1. test_service_status_tab_content: Проверяет содержимое вкладки 'Статус обслуживания'
2. test_service_status_table_row_highlighting: Проверяет выделение строк в таблице сервисов
"""
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page):
"""Подготавливает тестовое окружение.
Args:
browser: Экземпляр страницы Playwright.
"""
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("Статус обслуживания")
def test_service_status_tab_content(self, browser: Page):
"""Проверяет содержимое вкладки 'Статус обслуживания'.
Args:
browser: Экземпляр страницы Playwright.
"""
sst = ServiceStatusTab(browser)
# Проверка тулбара вкладки
sst.should_be_toolbar()
# Проверка наличия таблицы статусов сервисов
sst.should_be_services_table()
# Проверка содержимого таблицы сервисов
sst.check_services_table_content()
def test_service_status_table_row_highlighting(self, browser: Page):
"""Проверяет выделение строк в таблице сервисов.
Args:
browser: Экземпляр страницы Playwright.
"""
sst = ServiceStatusTab(browser)
# Проверка тулбара вкладки
sst.should_be_toolbar()
# Проверка наличия таблицы статусов сервисов
sst.should_be_services_table()
# Получение количества строк в таблице
rows_count = sst.get_rows_count()
# Проверка выделения строк
sst.check_services_table_row_highlighting(0)
sst.check_services_table_row_highlighting(rows_count - 1)
sst.check_services_table_row_highlighting(int(rows_count / 2))