39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
from pages.login_page import LoginPage
|
|
from pages.main_page import MainPage
|
|
from pages.service_status_tab import ServiceStatusTab
|
|
from playwright.sync_api import Page
|
|
import pytest
|
|
|
|
|
|
class TestServiceStatusTable:
|
|
"""Тесты для проверки таблицы статусов сервисов."""
|
|
|
|
@pytest.fixture(scope="function", autouse=True)
|
|
def setup(self, browser: Page) -> None:
|
|
"""Фикстура для настройки тестового окружения."""
|
|
lp = LoginPage(browser)
|
|
lp.do_login()
|
|
|
|
mp = MainPage(browser)
|
|
mp.should_be_navigation_panel()
|
|
mp.click_main_navigation_panel_item("Настройки")
|
|
mp.click_configuration_navigation_panel_item("Обслуживание и диагностика")
|
|
mp.click_maintenance_navigation_panel_item("Статус обслуживания")
|
|
|
|
def test_scrolling(self, browser: Page) -> None:
|
|
"""Тест проверки прокрутки таблицы статусов сервисов."""
|
|
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) |