94 lines
3.7 KiB
Python
94 lines
3.7 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
|
|
|
|
|
|
# @pytest.mark.smoke
|
|
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("Статус обслуживания")
|
|
|
|
# @pytest.mark.develop
|
|
def test_service_status_tab_content(self, browser: Page):
|
|
"""Проверяет содержимое вкладки 'Статус обслуживания'.
|
|
|
|
Args:
|
|
browser: Экземпляр страницы Playwright.
|
|
"""
|
|
|
|
sst = ServiceStatusTab(browser)
|
|
|
|
# Проверка тулбара вкладки
|
|
sst.should_be_toolbar()
|
|
|
|
# Проверка наличия таблицы статусов сервисов
|
|
sst.should_be_services_table()
|
|
|
|
# Ожидание перед проверкой содержимого таблицы сервисов
|
|
browser.wait_for_timeout(1000)
|
|
|
|
# Проверка содержимого таблицы сервисов
|
|
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))
|