102 lines
4.0 KiB
Python
102 lines
4.0 KiB
Python
"""Модуль тестов модальных окон пользователей.
|
||
|
||
Содержит тесты для проверки функциональности и прокрутки
|
||
модальных окон работы с пользователями.
|
||
"""
|
||
|
||
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_subpanel_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_local_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)
|