"""Модуль тестов вкладки 'Пользователи'. Содержит тесты для проверки функциональности работы с пользователями системы. """ import pytest from playwright.sync_api import Page from pages.users_tab import UsersTab from pages.main_page import MainPage from pages.login_page import LoginPage # @pytest.mark.smoke class TestUsersTab: """Класс тестов для проверки вкладки 'Пользователи'. Тесты покрывают следующие сценарии: 1. test_users_tab_content: Проверяет содержимое вкладки 'Пользователи' 2. test_users_tab_toolbar_buttons: Проверяет кнопки на панели инструментов """ @pytest.fixture(scope="function", autouse=True) def setup(self, browser: Page) -> None: """Настраивает тестовое окружение. 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("Пользователи") # @pytest.mark.develop def test_users_tab_content(self, browser: Page) -> None: """Проверяет содержимое вкладки 'Пользователи'. Args: browser: Экземпляр страницы Playwright. """ ut = UsersTab(browser) ut.should_be_toolbar() ut.should_be_users_table() ut.check_users_table_content(True) def test_users_tab_toolbar_buttons(self, browser: Page) -> None: """Проверяет кнопки на панели инструментов. Args: browser: Экземпляр страницы Playwright. """ ut = UsersTab(browser) ut.should_be_toolbar_buttons() def test_users_tab_check_row_highlighting(self, browser: Page) -> None: """Проверяет выделение цветом указанной строки таблицы. Args: browser: Экземпляр страницы Playwright. """ ut = UsersTab(browser) # Проверка наличия таблицы пользователей ut.should_be_users_table() # Получение количества строк в таблице rows_count = ut.get_rows_count() # Проверка выделения строк ut.check_users_table_row_highlighting(0) ut.check_users_table_row_highlighting(int(rows_count / 2)) ut.check_users_table_row_highlighting(rows_count - 1)