Compare commits

..

2 Commits

1 changed files with 21 additions and 35 deletions

View File

@ -20,13 +20,12 @@ class TestSessionsTab:
Тесты покрывают следующие сценарии:
1. Тест содержимого вкладки 'Сеансы'
2. Тест подсветки строк таблицы сеансов
3. Тест окна подтверждения удаления сеанса
4. Тест автоматического удаления сеанса после выхода пользователя из системы (отложено)
5. Тест создания нескольких пользователей и их сеансов
6. Тест удаления сеанса при удалении пользователя (отложено)
7. Тест автоматического удаления сеанса через 15 минут после выхода пользователя (отложено)
8. Тест проверки невозможности пользователя удалить свой собственный сеанс (отложено)
2. Тест окна подтверждения удаления сеанса
3. Тест автоматического удаления сеанса после выхода пользователя из системы (отложено)
4. Тест создания нескольких пользователей и их сеансов, скроллинг, подсветка строк таблицы
5. Тест удаления сеанса при удалении пользователя (отложено)
6. Тест автоматического удаления сеанса через 15 минут после выхода пользователя (отложено)
7. Тест проверки невозможности пользователя удалить свой собственный сеанс (отложено)
"""
@pytest.fixture(scope="function", autouse=True)
@ -114,33 +113,6 @@ class TestSessionsTab:
# Проверка содержимого таблица с верификацией данных из БД
sessions_tab.check_sessions_table_content(verify=True)
def test_sessions_table_row_highlighting(self, browser: Page) -> None:
"""Тест подсветки строк таблицы сеансов.
Проверяет:
1. Наличие таблицы сеансов
2. Подсветку строки при наведении курсора на первую строку
3. Подсветку строки при наведении курсора на последнюю строку (если строк больше одной)
4. Корректность визуального отображения подсветки строк
"""
# Инициализация страницы сеансов
sessions_tab = SessionsTab(browser)
# Проверка наличия таблицы сеансов
sessions_tab.should_be_sessions_table()
# Получение количества строк в таблице без учета заголовка
rows_count = sessions_tab.get_rows_count()
browser.wait_for_timeout(1000)
# Проверка подсветки первой строки
sessions_tab.check_sessions_table_row_highlighting(0)
# Проверка подсветки последней строки строки (если в таблице более одной строки)
if rows_count > 1:
browser.wait_for_timeout(1000)
sessions_tab.check_sessions_table_row_highlighting(rows_count - 1)
def test_delete_session_confirm_window(self, browser: Page) -> None:
"""Тест окна подтверждения удаления сеанса.
@ -323,7 +295,8 @@ class TestSessionsTab:
2. Вход каждого пользователя в систему и создание сеансов
3. Проверка наличия сеанса в таблице
4. Проверка скроллинга таблицы с множеством сеансов
5. Удаление пользователей выполняется автоматически фикстурой cleanup_users
5. Проверка подсветки строк таблицы
6. Удаление пользователей выполняется автоматически фикстурой cleanup_users
"""
users_data = [
{"name": "TestUser1", "role": "Администратор", "password": "password1"},
@ -378,6 +351,19 @@ class TestSessionsTab:
# Проверка скроллинга таблицы с множеством сеансов
self._test_sessions_table_scrolling(sessions_tab)
# Проверка подсветки строк таблицы
rows_count = sessions_tab.get_rows_count()
browser.wait_for_timeout(1000)
# Проверка подсветки первой строки
sessions_tab.check_sessions_table_row_highlighting(0)
# Проверка подсветки последней строки (если в таблице более одной строки)
if rows_count > 1:
browser.wait_for_timeout(1000)
sessions_tab.check_sessions_table_row_highlighting(rows_count - 1)
def _test_sessions_table_scrolling(self, sessions_tab: SessionsTab) -> None:
"""Вспомогательный метод для проверки скроллинга таблицы сеансов.