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

Skip to content

# TestServiceStatusTable

Модуль тестов таблицы статусов сервисов.

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

## `TestServiceStatusTable`

Класс тестов для проверки таблицы статусов сервисов.

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

    class TestServiceStatusTable:
        """Класс тестов для проверки таблицы статусов сервисов."""

        @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("Обслуживание и диагностика")
            mp.click_subpanel_item("Статус обслуживания")

        def test_scrolling(self, browser: Page) -> None:
            """Проверяет прокрутку таблицы статусов сервисов.

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

            Steps:
                1. Проверяет наличие и содержимое таблицы
                2. Проверяет возможность вертикальной прокрутки
                3. Прокручивает вниз и проверяет видимость последней строки
                4. Прокручивает вверх и проверяет видимость первой строки
            """

            sst = ServiceStatusTab(browser)

            sst.should_be_services_table()
            sst.check_services_table_content()

            is_scrollable_vertically = sst.check_services_table_verticall_scrolling()
            assert is_scrollable_vertically, "Should be vertical scrolling"

            sst.scroll_services_table_down()
            sst.check_services_table_last_row_visibility()
            sst.wait_for_timeout(3000)

            sst.scroll_services_table_up()
            sst.check_services_table_first_row_visibility()
            sst.wait_for_timeout(2000)

### `setup(browser)`

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

Parameters:

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

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

    16
    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("Обслуживание и диагностика")
        mp.click_subpanel_item("Статус обслуживания")

### `test_scrolling(browser)`

Проверяет прокрутку таблицы статусов сервисов.

Parameters:

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

Steps

1. Проверяет наличие и содержимое таблицы
2. Проверяет возможность вертикальной прокрутки
3. Прокручивает вниз и проверяет видимость последней строки
4. Прокручивает вверх и проверяет видимость первой строки

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

    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

    def test_scrolling(self, browser: Page) -> None:
        """Проверяет прокрутку таблицы статусов сервисов.

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

        Steps:
            1. Проверяет наличие и содержимое таблицы
            2. Проверяет возможность вертикальной прокрутки
            3. Прокручивает вниз и проверяет видимость последней строки
            4. Прокручивает вверх и проверяет видимость первой строки
        """

        sst = ServiceStatusTab(browser)

        sst.should_be_services_table()
        sst.check_services_table_content()

        is_scrollable_vertically = sst.check_services_table_verticall_scrolling()
        assert is_scrollable_vertically, "Should be vertical scrolling"

        sst.scroll_services_table_down()
        sst.check_services_table_last_row_visibility()
        sst.wait_for_timeout(3000)

        sst.scroll_services_table_up()
        sst.check_services_table_first_row_visibility()
        sst.wait_for_timeout(2000)