Skip to content

TestUsersModalWindow

Модуль тестов модальных окон пользователей.

Содержит тесты для проверки функциональности и прокрутки модальных окон работы с пользователями.

TestUsersModalWindow

Класс тестов для проверки модальных окон пользователей.

Source code in tests\components\test_user_modal_window.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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_visibility("close")
        ut.wait_for_timeout(3000)

        modal_window.scroll_window_up()
        modal_window.check_toolbar_button_visibility("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_visibility("close")
        ut.wait_for_timeout(3000)

        modal_window.scroll_window_up()
        modal_window.check_toolbar_button_visibility("close")
        ut.wait_for_timeout(3000)

setup(browser)

Настраивает тестовое окружение перед каждым тестом.

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright.

required
Source code in tests\components\test_user_modal_window.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@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("Пользователи")

test_add_user_window_scrolling(browser)

Проверяет прокрутку окна добавления пользователя.

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright.

required
Steps
  1. Открывает окно добавления
  2. Проверяет вертикальную прокрутку
Source code in tests\components\test_user_modal_window.py
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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_visibility("close")
    ut.wait_for_timeout(3000)

    modal_window.scroll_window_up()
    modal_window.check_toolbar_button_visibility("close")
    ut.wait_for_timeout(3000)

test_edit_user_window_scrolling(browser)

Проверяет прокрутку окна редактирования пользователя.

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright.

required
Steps
  1. Открывает окно редактирования
  2. Проверяет вертикальную прокрутку
  3. Проверяет горизонтальную прокрутку
Source code in tests\components\test_user_modal_window.py
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@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_visibility("close")
    ut.wait_for_timeout(3000)

    modal_window.scroll_window_up()
    modal_window.check_toolbar_button_visibility("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)