# TestNavigationPanel - Документация тестов eNODE-Мониторинг

Skip to content

# TestNavigationPanel

Модуль тестов панели навигации.

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

## `TestNavigationPanel`

Класс тестов для проверки панели навигации.

Атрибуты

browser: Фикстура для работы с браузером.

Source code in `tests\components\test_navigation_panel.py`

    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

    class TestNavigationPanel:
        """Класс тестов для проверки панели навигации.

        Атрибуты:
            browser: Фикстура для работы с браузером.
        """

        def test_verticall_scrolling(self, browser: Page):
            """Проверяет вертикальную прокрутку панели навигации.

            Args:
                browser: Фикстура для работы с браузером.

            Raises:
                AssertionError: Если панель не поддерживает прокрутку.
            """

            # Действия:
            lp = LoginPage(browser)
            lp.do_login()

            # Мы на главной странице
            mp = MainPage(browser)

            # Проверки:
            # Проверяем наличие панели навигации
            mp.should_be_navigation_panel()

            # Открываем все пункты панели
            mp.click_main_navigation_panel_item("Настройки")
            mp.expand_navigation_subpanel()

            mp.click_main_navigation_panel_item("Объекты")
            mp.wait_for_timeout(300)
            mp.expand_navigation_subpanel()

            # Проверяем возможность вертикальной прокрутки
            is_scrollable = mp.check_navigation_panel_verticall_scrolling()
            assert is_scrollable, "Should be vertical scrolling"

            # Действия:
            # Прокручиваем вверх и проверяем видимость элемента
            mp.scroll_navigation_panel_up()
            mp.check_navigation_panel_item_visibility("Панель приборов")
            mp.wait_for_timeout(3000)

            # Прокручиваем вниз и проверяем видимость элемента Настройки/ZTP/Шаблоны
            mp.scroll_navigation_panel_down()
            mp.check_navigation_panel_item_visibility("Шаблоны_2")
            mp.wait_for_timeout(2000)

### `test_verticall_scrolling(browser)`

Проверяет вертикальную прокрутку панели навигации.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`browser` | `Page` | Фикстура для работы с браузером. | required

Raises:

Type | Description
--- | ---
`AssertionError` | Если панель не поддерживает прокрутку.

Source code in `tests\components\test_navigation_panel.py`

    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

    def test_verticall_scrolling(self, browser: Page):
        """Проверяет вертикальную прокрутку панели навигации.

        Args:
            browser: Фикстура для работы с браузером.

        Raises:
            AssertionError: Если панель не поддерживает прокрутку.
        """

        # Действия:
        lp = LoginPage(browser)
        lp.do_login()

        # Мы на главной странице
        mp = MainPage(browser)

        # Проверки:
        # Проверяем наличие панели навигации
        mp.should_be_navigation_panel()

        # Открываем все пункты панели
        mp.click_main_navigation_panel_item("Настройки")
        mp.expand_navigation_subpanel()

        mp.click_main_navigation_panel_item("Объекты")
        mp.wait_for_timeout(300)
        mp.expand_navigation_subpanel()

        # Проверяем возможность вертикальной прокрутки
        is_scrollable = mp.check_navigation_panel_verticall_scrolling()
        assert is_scrollable, "Should be vertical scrolling"

        # Действия:
        # Прокручиваем вверх и проверяем видимость элемента
        mp.scroll_navigation_panel_up()
        mp.check_navigation_panel_item_visibility("Панель приборов")
        mp.wait_for_timeout(3000)

        # Прокручиваем вниз и проверяем видимость элемента Настройки/ZTP/Шаблоны
        mp.scroll_navigation_panel_down()
        mp.check_navigation_panel_item_visibility("Шаблоны_2")
        mp.wait_for_timeout(2000)