e-nms_qa_automation/tests/e2e/test_license_tab.py

83 lines
2.9 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_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("Ошибка обновления лицензии")