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

Skip to content

# TestJsonContainer

Модуль тестов для контейнера с JSON-данными.

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

## `TestJsonContainer`

Тесты для проверки контейнера с JSON-данными на вкладке лицензий.

Source code in `tests\components\test_json_container.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

    class TestJsonContainer:
        """Тесты для проверки контейнера с JSON-данными на вкладке лицензий."""

        @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("Лицензии")

        def test_verticall_scrolling(self, browser: Page) -> None:
            """Проверяет вертикальную прокрутку в контейнере с JSON-данными.

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

            Steps:
                1. Проверяет наличие вертикальной прокрутки
                2. Прокручивает контейнер вниз
                3. Прокручивает контейнер вверх
            """

            lt = LicenseTab(browser)

            is_scrollable = lt.check_json_container_verticall_scrolling()
            assert is_scrollable, "Should be verticall scrolling"

            lt.scroll_json_container_down()
            lt.wait_for_timeout(3000)

            lt.scroll_json_container_up()
            lt.wait_for_timeout(2000)

### `setup(browser)`

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

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`browser` | `Page` | Экземпляр страницы Playwright. | required

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

    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    @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_verticall_scrolling(browser)`

Проверяет вертикальную прокрутку в контейнере с JSON-данными.

Parameters:

Name | Type | Description | Default
--- | --- | --- | ---
`browser` | `Page` | Экземпляр страницы Playwright. | required

Steps

1. Проверяет наличие вертикальной прокрутки
2. Прокручивает контейнер вниз
3. Прокручивает контейнер вверх

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

    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54

    def test_verticall_scrolling(self, browser: Page) -> None:
        """Проверяет вертикальную прокрутку в контейнере с JSON-данными.

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

        Steps:
            1. Проверяет наличие вертикальной прокрутки
            2. Прокручивает контейнер вниз
            3. Прокручивает контейнер вверх
        """

        lt = LicenseTab(browser)

        is_scrollable = lt.check_json_container_verticall_scrolling()
        assert is_scrollable, "Should be verticall scrolling"

        lt.scroll_json_container_down()
        lt.wait_for_timeout(3000)

        lt.scroll_json_container_up()
        lt.wait_for_timeout(2000)