e-nms_qa_automation/tests/components/test_user_modal_window.py

102 lines
4.0 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.users_tab import UsersTab
from pages.main_page import MainPage
from pages.login_page import LoginPage
class TestUsersModalWindow:
"""Класс тестов для проверки модальных окон пользователей."""
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Настраивает тестовое окружение перед каждым тестом.
Args:
browser: Экземпляр страницы Playwright.
"""
lp = LoginPage(browser)
lp.do_login()
mp = MainPage(browser)
mp.should_be_navigation_panel()
mp.click_main_navigation_panel_item("Настройки")
mp.click_configuration_navigation_panel_item("Пользователи")
@pytest.mark.develop
def test_edit_user_window_scrolling(self, browser: Page) -> None:
"""Проверяет прокрутку окна редактирования пользователя.
Args:
browser: Экземпляр страницы Playwright.
Steps:
1. Открывает окно редактирования
2. Проверяет вертикальную прокрутку
3. Проверяет горизонтальную прокрутку
"""
ut = UsersTab(browser)
user_name, role = ut.open_edit_user_page_by_index(0)
modal_window = ut.get_modal_window(user_name)
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
assert is_scrollable_vertically, "Should be vertical scrolling"
modal_window.scroll_window_down()
modal_window.check_button_presence("close")
ut.wait_for_timeout(3000)
modal_window.scroll_window_up()
modal_window.check_toolbar_button_presence("close")
ut.wait_for_timeout(3000)
is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
assert is_scrollable_horizontally, "Should be horizontal scrolling"
modal_window.scroll_window_right()
ut.wait_for_timeout(3000)
modal_window.scroll_window_left()
ut.wait_for_timeout(2000)
def test_add_user_window_scrolling(self, browser: Page) -> None:
"""Проверяет прокрутку окна добавления пользователя.
Args:
browser: Экземпляр страницы Playwright.
Steps:
1. Открывает окно добавления
2. Проверяет вертикальную прокрутку
"""
ut = UsersTab(browser)
ut.open_add_user_window()
modal_window = ut.get_modal_window("add_user")
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
assert is_scrollable_vertically, "Should be vertical scrolling"
modal_window.scroll_window_down()
modal_window.check_button_presence("close")
ut.wait_for_timeout(3000)
modal_window.scroll_window_up()
modal_window.check_toolbar_button_presence("close")
ut.wait_for_timeout(3000)
## Временно закомментарено - для окна добавления пользователя убрали горизонтальный скроллинг - BUG???
# is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
# assert is_scrollable_horizontally, "Should be horizontal scrolling"
# modal_window.scroll_window_right()
# ut.wait_for_timeout(3000)
# modal_window.scroll_window_left()
# ut.wait_for_timeout(2000)