e-nms_qa_automation/tests/components/unit_tests/test_selection_bar.py

106 lines
4.4 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 TestSelectionBarComponent:
"""Класс тестов для проверки операций с компонентом панели выбора значения на примере
панели выбора значения 'Тип' в боковой панели фильтрации вкладки 'Системный журнал'
панели событий.
Атрибуты:
browser: Фикстура для работы с браузером.
"""
# @pytest.mark.develop
def test_selection_bar_content(self, browser: Page) -> None:
"""Проверяет содержимое компонента панели выбора значения.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
mp.should_be_event_panel()
system_log_events_container = mp.click_events_panel_system_log_tab()
sidebar_filter = system_log_events_container.click_filter_button()
browser.wait_for_timeout(500)
sidebar_filter.add_filtering_parameter("filter_type", "Тип")
filter_type_bar = sidebar_filter.get_filtering_parameter("filter_type")
filter_type_title = filter_type_bar.get_selection_bar_title()
assert filter_type_title == "Тип", "Filtering parameter bar 'Тип' is missing"
# @pytest.mark.develop
def test_selection_values(self, browser: Page) -> None:
"""Проверяет возможность выбора значений.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
mp.should_be_event_panel()
system_log_events_container = mp.click_events_panel_system_log_tab()
sidebar_filter = system_log_events_container.click_filter_button()
browser.wait_for_timeout(500)
sidebar_filter.add_filtering_parameter("filter_type", "Тип")
filter_type_bar = sidebar_filter.get_filtering_parameter("filter_type")
filter_type_bar.open_values_list()
filter_type_bar.select_value("e-nms")
selected_values = filter_type_bar.get_selected_values()
assert len(selected_values) > 0, "No values has been selected"
assert selected_values[0] == "e-nms", f"Got unexpected selected value {selected_values[0]}"
filter_type_bar.open_values_list()
filter_type_bar.select_value("Технический учет")
selected_values = filter_type_bar.get_selected_values()
assert len(selected_values) > 0, "No values has been selected"
assert selected_values[0] == "e-nms", f"Got unexpected selected value {selected_values[0]}"
assert selected_values[1] == "Технический учет", f"Got unexpected selected value {selected_values[1]}"
# @pytest.mark.develop
def test_clear_selected_values(self, browser: Page) -> None:
"""Проверяет возможность удаления ранее выбранных значений.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
mp.should_be_event_panel()
system_log_events_container = mp.click_events_panel_system_log_tab()
sidebar_filter = system_log_events_container.click_filter_button()
browser.wait_for_timeout(500)
sidebar_filter.add_filtering_parameter("filter_type", "Тип")
filter_type_bar = sidebar_filter.get_filtering_parameter("filter_type")
filter_type_bar.open_values_list()
filter_type_bar.select_value("e-nms")
browser.wait_for_timeout(300)
filter_type_bar.clear_selections()
selected_values = filter_type_bar.get_selected_values()
assert len(selected_values) == 0, "Selected values should be deleted"