82 lines
2.7 KiB
Python
82 lines
2.7 KiB
Python
"""Модуль тестов вкладки 'Лицензии'.
|
|
|
|
Содержит тесты для проверки функциональности
|
|
и содержимого вкладки лицензий.
|
|
"""
|
|
|
|
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_subpanel_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("Ошибка обновления лицензии")
|