119 lines
5.1 KiB
Python
119 lines
5.1 KiB
Python
"""Модуль тестов панели событий.
|
||
|
||
Содержит тесты для проверки функциональности
|
||
панели событий в приложении.
|
||
"""
|
||
|
||
# import pytest
|
||
from playwright.sync_api import Page
|
||
from pages.main_page import MainPage
|
||
from pages.login_page import LoginPage
|
||
|
||
|
||
# @pytest.mark.smoke
|
||
class TestEventPanel:
|
||
"""Класс тестов для проверки панели событий.
|
||
|
||
Тесты покрывают следующие сценарии:
|
||
1. test_event_panel_content: Проверяет содержимое панели событий
|
||
2. test_event_panel_expand_buttons: Проверяет состояние и количество кнопок расширения рабочей области панели событий
|
||
|
||
Атрибуты:
|
||
browser: Фикстура для работы с браузером.
|
||
"""
|
||
|
||
def test_event_panel_content(self, browser: Page) -> None:
|
||
"""Проверяет содержимое панели событий.
|
||
|
||
Args:
|
||
browser: Экземпляр страницы Playwright.
|
||
"""
|
||
|
||
lp = LoginPage(browser)
|
||
lp.do_login()
|
||
|
||
mp = MainPage(browser)
|
||
mp.should_be_event_panel()
|
||
|
||
# Проверяем соответствие тултипов информации на кнопках
|
||
tooltip_event_counters = mp.get_event_counters_by_tooltips()
|
||
button_event_counters = mp.get_event_counters_by_tooltips()
|
||
|
||
for event, counter in tooltip_event_counters.items():
|
||
button_counter = button_event_counters.get(event)
|
||
if button_counter is None:
|
||
assert False, f"Found unexpected tooltip {event} for event button"
|
||
|
||
if button_counter != counter:
|
||
assert False, f"Expected tooltip value {counter} is not equal button value {button_counter} for event button {event}"
|
||
|
||
def test_event_panel_expand_buttons(self, browser: Page) -> None:
|
||
"""Проверяет состояние и количество кнопок расширения рабочей области панели событий.
|
||
|
||
Args:
|
||
browser: Экземпляр страницы Playwright.
|
||
"""
|
||
|
||
lp = LoginPage(browser)
|
||
lp.do_login()
|
||
|
||
mp = MainPage(browser)
|
||
|
||
# Проверяем начальное состояние - панель событий внизу, видна одна кнопка expand less
|
||
current_position = mp.get_events_panel_position()
|
||
assert current_position == "bottom", \
|
||
"Events panel should be located on main page bottom"
|
||
assert mp.check_expand_less_button(), \
|
||
"Expand less button should be present"
|
||
assert mp.check_expand_more_button(), \
|
||
"Expand more button should be absent"
|
||
|
||
mp.click_events_panel_expand_less_button()
|
||
mp.wait_for_timeout(500)
|
||
|
||
# Проверяем, что панель событий переместилась в середину экрана,
|
||
# видна обе кнопки expand less и expand more
|
||
current_position = mp.get_events_panel_position()
|
||
assert current_position == "center", \
|
||
"Events panel should be located on main page center"
|
||
assert mp.check_expand_less_button(), \
|
||
"Expand less button should be present"
|
||
assert mp.check_expand_more_button(), \
|
||
"Expand more button should be present"
|
||
|
||
mp.click_events_panel_expand_less_button()
|
||
mp.wait_for_timeout(500)
|
||
|
||
# Проверяем, что панель событий находится вверху экрана,
|
||
# видна кнопки expand more и отсутствует expand less
|
||
current_position = mp.get_events_panel_position()
|
||
assert current_position == "top", \
|
||
"Events panel should be located on main page top"
|
||
assert mp.check_expand_less_button(), \
|
||
"Expand less button should be absent"
|
||
assert mp.check_expand_more_button(), \
|
||
"Expand more button should be present"
|
||
|
||
# перемещение в отратном напрвлении сверху вниз
|
||
mp.click_events_panel_expand_more_button()
|
||
mp.wait_for_timeout(500)
|
||
|
||
current_position = mp.get_events_panel_position()
|
||
assert current_position == "center", \
|
||
"Events panel should be located on main page center"
|
||
assert mp.check_expand_less_button(), \
|
||
"Expand less button should be present"
|
||
assert mp.check_expand_more_button(), \
|
||
"Expand more button should be present"
|
||
|
||
mp.click_events_panel_expand_more_button()
|
||
mp.wait_for_timeout(500)
|
||
|
||
current_position = mp.get_events_panel_position()
|
||
assert current_position == "bottom", \
|
||
"Events panel should be located on main page bottom"
|
||
assert mp.check_expand_less_button(), \
|
||
"Expand less button should be present"
|
||
assert mp.check_expand_more_button(), \
|
||
"Expand more button should be absent"
|