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

Skip to content

# TestServiceStatusTab

Модуль тестов вкладки 'Статус обслуживания'.

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

## `TestServiceStatusTab`

Класс тестов для проверки вкладки 'Статус обслуживания'.

Тесты покрывают следующие сценарии: 1. test_service_status_tab_content: Проверяет содержимое вкладки 'Статус обслуживания' 2. test_service_status_table_row_highlighting: Проверяет выделение строк в таблице сервисов

Source code in `tests\e2e\test_service_status_tab.py`

    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
    93

    class TestServiceStatusTab:
        """Класс тестов для проверки вкладки 'Статус обслуживания'.

        Тесты покрывают следующие сценарии:
        1. test_service_status_tab_content: Проверяет содержимое вкладки 'Статус обслуживания'
        2. test_service_status_table_row_highlighting: Проверяет выделение строк в таблице сервисов
        """

        @pytest.fixture(scope="function", autouse=True)
        def setup(self, browser: Page):
            """Подготавливает тестовое окружение.

            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("Статус обслуживания")

        # @pytest.mark.develop
        def test_service_status_tab_content(self, browser: Page):
            """Проверяет содержимое вкладки 'Статус обслуживания'.

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

            sst = ServiceStatusTab(browser)

            # Проверка тулбара вкладки
            sst.should_be_toolbar()

            # Проверка наличия таблицы статусов сервисов
            sst.should_be_services_table()

            # Ожидание перед проверкой содержимого таблицы сервисов
            browser.wait_for_timeout(1000)

            # Проверка содержимого таблицы сервисов
            sst.check_services_table_content()

        def test_service_status_table_row_highlighting(self, browser: Page):
            """Проверяет выделение строк в таблице сервисов.

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

            sst = ServiceStatusTab(browser)

            # Проверка тулбара вкладки
            sst.should_be_toolbar()

            # Проверка наличия таблицы статусов сервисов
            sst.should_be_services_table()

            # Получение количества строк в таблице
            rows_count = sst.get_rows_count()

            # Проверка выделения строк
            sst.check_services_table_row_highlighting(0)
            sst.check_services_table_row_highlighting(rows_count - 1)
            sst.check_services_table_row_highlighting(int(rows_count / 2))

### `setup(browser)`

Подготавливает тестовое окружение.

Parameters:

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

Source code in `tests\e2e\test_service_status_tab.py`

    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

    @pytest.fixture(scope="function", autouse=True)
    def setup(self, browser: Page):
        """Подготавливает тестовое окружение.

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

Проверяет содержимое вкладки 'Статус обслуживания'.

Parameters:

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

Source code in `tests\e2e\test_service_status_tab.py`

    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70

    def test_service_status_tab_content(self, browser: Page):
        """Проверяет содержимое вкладки 'Статус обслуживания'.

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

        sst = ServiceStatusTab(browser)

        # Проверка тулбара вкладки
        sst.should_be_toolbar()

        # Проверка наличия таблицы статусов сервисов
        sst.should_be_services_table()

        # Ожидание перед проверкой содержимого таблицы сервисов
        browser.wait_for_timeout(1000)

        # Проверка содержимого таблицы сервисов
        sst.check_services_table_content()

### `test_service_status_table_row_highlighting(browser)`

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

Parameters:

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

Source code in `tests\e2e\test_service_status_tab.py`

    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93

    def test_service_status_table_row_highlighting(self, browser: Page):
        """Проверяет выделение строк в таблице сервисов.

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

        sst = ServiceStatusTab(browser)

        # Проверка тулбара вкладки
        sst.should_be_toolbar()

        # Проверка наличия таблицы статусов сервисов
        sst.should_be_services_table()

        # Получение количества строк в таблице
        rows_count = sst.get_rows_count()

        # Проверка выделения строк
        sst.check_services_table_row_highlighting(0)
        sst.check_services_table_row_highlighting(rows_count - 1)
        sst.check_services_table_row_highlighting(int(rows_count / 2))