"""Модуль тестов вкладки 'Лицензии'. Содержит тесты для проверки функциональности и содержимого вкладки лицензий. """ import uuid from typing import List import pytest from playwright.sync_api import Page from pages.main_page import MainPage from pages.login_page import LoginPage from pages.license_tab import LicenseTab class TestLicenseTab: """Класс тестов для проверки вкладки 'Лицензии'.""" @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_configuration_navigation_panel_item("Обслуживание и диагностика") mp.click_configuration_navigation_panel_item("Лицензии") def test_lisence_tab_content(self, browser: Page) -> None: """Проверяет содержимое вкладки 'Лицензии'. Args: browser: Экземпляр страницы Playwright. """ lt = LicenseTab(browser) lt.check_content() def test_license_tab_input_form_and_check_alert(self, browser: Page) -> None: """Проверяет форму ввода лицензии и отображение алертов. Args: browser: Экземпляр страницы Playwright. """ def gen_test_data() -> List[str]: """Генерирует тестовые данные для проверки формы. Returns: List[str]: Список тестовых строк лицензий. """ data = [] for i in range(3): data.append(uuid.uuid4().hex) lowercase_str = uuid.uuid4().hex data.append(lowercase_str.upper()) data.append(lowercase_str + "fffffffff") data.append("0") data.append("000000000000000000000000000000000000000000000000") data.append("-1") return data lt = LicenseTab(browser) lt.should_be_empty_input_form() lt.fill_license_input_form("") lt.should_be_error_alert_window_with_text("Неверный лицензионный ключ") data = gen_test_data() for data_string in data: lt.fill_license_input_form(data_string) lt.should_be_error_alert_window_with_text("Ошибка обновления лицензии")