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)