Рефакторинг компонентов работы со стойкой

ra3/edit_element_rack
Radislav 2026-01-22 10:56:34 +03:00
parent 4d3731d9f7
commit 6576e4463e
2 changed files with 11 additions and 34 deletions

View File

@ -9,7 +9,7 @@ from elements.tooltip_button_element import TooltipButton
from components.toolbar_component import ToolbarComponent
from components.base_component import BaseComponent
logger = get_logger("MODAL_RACK_EDIT")
logger = get_logger("MODAL_EDIT_RACK")
#logger.setLevel("INFO")
@ -33,10 +33,10 @@ class RackEditData:
# Дополнительные поля (редактируемые)
power: str = ""
# Checkbox поля (редактируемые)
# Checkbox поля (редактируемые) - если есть
ventilation_panel: Optional[bool] = None
# Правила доступа
# Правила доступа (если есть)
read_access_rules: str = ""
write_access_rules: str = ""
sms_access_rules: str = ""
@ -44,7 +44,7 @@ class RackEditData:
push_access_rules: str = ""
class ModalRackEdit(BaseComponent):
class ModalEditRack(BaseComponent):
"""Компонент для работы с модальным окном редактирования стойки."""
def __init__(self, page: Page) -> None:
@ -108,7 +108,7 @@ class ModalRackEdit(BaseComponent):
self.toolbar.check_button_visibility("done")
self.toolbar.check_button_tooltip("done", "Сохранить")
# Кликаем на кнопку удаления
# Кликаем на кнопку сохранения
self.toolbar.get_button_by_name("done").click()
self.wait_for_timeout(1000)
@ -440,26 +440,3 @@ class ModalRackEdit(BaseComponent):
logger.debug(f"Fill results: {results}")
return results
def should_be_toolbar_buttons(self) -> None:
"""
Проверяет наличие и функциональность кнопок тулбара.
Raises:
AssertionError: Если кнопки недоступны или подсказки неверны
"""
logger.debug("Checking toolbar buttons...")
# Проверяем новые кнопки тулбара
self.toolbar.check_button_visibility("replace")
self.toolbar.check_button_tooltip("replace", "Переместить")
self.toolbar.check_button_visibility("done")
self.toolbar.check_button_tooltip("done", "Сохранить")
self.toolbar.check_button_visibility("close")
self.toolbar.check_button_tooltip("close", "Отменить")
self.toolbar.check_button_visibility("remove")
self.toolbar.check_button_tooltip("remove", "Удалить")

View File

@ -14,7 +14,7 @@ from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.rack_page import RackPage
from tools.logger import get_logger
from components_derived.modal_rack_edit import ModalRackEdit, RackEditData
from components_derived.modal_edit_rack import ModalEditRack, RackEditData
# Константы
RACK_NAME = "Test-Rack-Functionality"
@ -120,8 +120,8 @@ class TestRackTab:
# Кликаем на кнопку "Изменить"
rack_page.toolbar.get_button_by_name("edit").click()
# 3. Создаем экземпляр ModalRackEdit
rack_edit = ModalRackEdit(browser)
# 3. Создаем экземпляр ModalEditRack
rack_edit = ModalEditRack(browser)
# Используем метод для удаления
rack_edit.click_remove_button()
@ -286,8 +286,8 @@ class TestRackTab:
rt.toolbar.get_button_by_name("edit").click()
rt.wait_for_timeout(3000)
# Создаем экземпляр ModalRackEdit
rack_edit = ModalRackEdit(browser)
# Создаем экземпляр ModalEditRack
rack_edit = ModalEditRack(browser)
rack_edit.should_be_toolbar_buttons()
# Получаем список доступных полей (используем точные названия из этого списка)
@ -367,7 +367,7 @@ class TestRackTab:
# Сохраняем изменения
logger.info("Saving changes...")
# Используем метод из ModalRackEdit для кнопки "Сохранить"
# Используем метод из ModalEditRack для кнопки "Сохранить"
rack_edit.click_done_button()
rack_edit.wait_for_timeout(3000)