e-nms_qa_automation/tests/e2e/test_event_panel.py

122 lines
5.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"""Модуль тестов панели событий.
Содержит тесты для проверки функциональности
панели событий в приложении.
"""
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: Фикстура для работы с браузером.
"""
# @pytest.mark.develop
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}"
@pytest.mark.develop
def test_event_panel_expand_buttons(self, browser: Page) -> None:
"""Проверяет состояние и количество кнопок расширения рабочей области панели событий.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
# Проверяем начальное состояние - панель событий внизу, видна одна кнопка expand more
current_position = mp.get_events_panel_position()
assert current_position == "bottom", \
"Events panel should be located on main page bottom"
assert mp.check_expand_more_button(), \
"Expand more button should be present"
assert mp.check_expand_less_button(), \
"Expand less button should be absent"
mp.click_events_panel_expand_more_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_more_button()
mp.wait_for_timeout(500)
# Проверяем, что панель событий находится вверху экрана,
# видна кнопки expand less и отсутствует expand more
current_position = mp.get_events_panel_position()
assert current_position == "top", \
"Events panel should be located on main page top"
assert mp.check_expand_more_button(), \
"Expand more button should be absent"
assert mp.check_expand_less_button(), \
"Expand less button should be present"
# перемещение в отратном направлении сверху вниз
mp.click_events_panel_expand_less_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_less_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_more_button(), \
"Expand more button should be present"
assert mp.check_expand_more_button(), \
"Expand less button should be absent"