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