106 lines
4.4 KiB
Python
106 lines
4.4 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 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"
|