Добавлен тест редактирования Стойки
parent
b5c1ee5d23
commit
c38cf601cb
|
|
@ -48,103 +48,27 @@ class RackPage(BasePage):
|
|||
show_button_locator = self.page.locator(RackLocators.SHOW_RACK_BUTTON)
|
||||
self.show_button = TooltipButton(page, show_button_locator, "show_rack")
|
||||
|
||||
# Кнопка "Переместить"
|
||||
replace_button_locator = self.page.locator(RackLocators.TOOLBAR_REPLACE_BUTTON)
|
||||
self.replace_button = TooltipButton(page, replace_button_locator, "replace")
|
||||
|
||||
# Кнопка "Сохранить"
|
||||
done_button_locator = self.page.locator(RackLocators.TOOLBAR_DONE_BUTTON)
|
||||
self.done_button = TooltipButton(page, done_button_locator, "done")
|
||||
|
||||
# Кнопка "Отменить"
|
||||
close_button_locator = self.page.locator(RackLocators.TOOLBAR_CLOSE_BUTTON)
|
||||
self.close_button = TooltipButton(page, close_button_locator, "close")
|
||||
|
||||
# Кнопка "Удалить"
|
||||
remove_button_locator = self.page.locator(RackLocators.TOOLBAR_REMOVE_BUTTON)
|
||||
self.remove_button = TooltipButton(page, remove_button_locator, "remove")
|
||||
|
||||
self.toolbar = ToolbarComponent(page, "")
|
||||
self.toolbar.add_tooltip_button(locator_button, "edit")
|
||||
self.toolbar.add_tooltip_button(hide_button_locator, "hide_rack")
|
||||
self.toolbar.add_tooltip_button(show_button_locator, "show_rack")
|
||||
self.toolbar.add_tooltip_button(replace_button_locator, "replace")
|
||||
self.toolbar.add_tooltip_button(done_button_locator, "done")
|
||||
self.toolbar.add_tooltip_button(close_button_locator, "close")
|
||||
self.toolbar.add_tooltip_button(remove_button_locator, "remove")
|
||||
|
||||
# Действия
|
||||
|
||||
def click_remove_button(self) -> None:
|
||||
def click_edit_button(self) -> None:
|
||||
"""
|
||||
Кликает на кнопку 'Удалить' и обрабатывает диалог подтверждения.
|
||||
Кликает на кнопку 'Изменить'.
|
||||
"""
|
||||
logger.debug("Clicking on 'Remove' button...")
|
||||
logger.debug("Clicking on 'Edit' button...")
|
||||
|
||||
# Проверяем видимость кнопки
|
||||
self.toolbar.check_button_visibility("remove")
|
||||
|
||||
# Проверяем тултип кнопки (может быть "Удалить" или "Remove")
|
||||
try:
|
||||
self.toolbar.check_button_tooltip("remove", "Удалить")
|
||||
except AssertionError:
|
||||
try:
|
||||
self.toolbar.check_button_tooltip("remove", "Remove")
|
||||
except AssertionError:
|
||||
logger.debug("Could not verify tooltip text for remove button")
|
||||
|
||||
# Кликаем на кнопку удаления
|
||||
self.toolbar.get_button_by_name("remove").click()
|
||||
self.wait_for_timeout(1000)
|
||||
|
||||
# Ожидаем появления диалога подтверждения
|
||||
self._handle_remove_confirmation_dialog()
|
||||
|
||||
def confirm_remove_dialog(self, confirm: bool = True) -> None:
|
||||
"""
|
||||
Подтверждает или отклоняет удаление в диалоговом окне.
|
||||
|
||||
Args:
|
||||
confirm (bool): Если True - подтвердить удаление, если False - отменить
|
||||
"""
|
||||
logger.debug(f"Confirming remove dialog with: {'Да' if confirm else 'Нет'}")
|
||||
|
||||
# Ждем немного перед поиском диалога
|
||||
self.wait_for_timeout(1500)
|
||||
|
||||
# Ищем активный диалог
|
||||
dialog = self.page.locator("div.v-dialog--active")
|
||||
|
||||
# Проверяем, что диалог найден и содержит нужный текст
|
||||
assert dialog.count() > 0, "No active dialog found"
|
||||
|
||||
# Проверяем текст диалога
|
||||
dialog_text = dialog.first.text_content()
|
||||
logger.debug("Dialog text: %s", dialog_text)
|
||||
|
||||
# Должен содержать "Запрос подтверждения" и "Удалить"
|
||||
assert "Запрос подтверждения" in dialog_text, "Not a confirmation dialog"
|
||||
|
||||
# Ищем кнопку по data-testid
|
||||
if confirm:
|
||||
button = self.page.locator(RackLocators.CONFIRM_REMOVE_YES_BUTTON)
|
||||
else:
|
||||
button = self.page.locator(RackLocators.CONFIRM_REMOVE_NO_BUTTON)
|
||||
|
||||
# Проверяем, что кнопка найдена
|
||||
assert button.count() > 0, "Button not found with selector"
|
||||
self.toolbar.check_button_visibility("edit")
|
||||
self.toolbar.check_button_tooltip("edit", "Изменить")
|
||||
|
||||
# Кликаем на кнопку
|
||||
button_text = button.first.text_content()
|
||||
logger.debug("Clicking button with text: %s", button_text)
|
||||
button.first.click()
|
||||
self.wait_for_timeout(2000)
|
||||
|
||||
# Проверяем, что диалог закрылся
|
||||
self.toolbar.get_button_by_name("edit").click()
|
||||
self.wait_for_timeout(1000)
|
||||
|
||||
logger.debug("Remove confirmation completed")
|
||||
|
||||
def get_available_tabs(self) -> list[str]:
|
||||
"""
|
||||
Возвращает список доступных вкладок.
|
||||
|
|
@ -536,18 +460,6 @@ class RackPage(BasePage):
|
|||
# Кликаем на кнопку "Изменить" для проверки функциональности
|
||||
self.toolbar.get_button_by_name("edit").click()
|
||||
|
||||
# Проверяем новые кнопки тулбара
|
||||
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", "Удалить")
|
||||
|
||||
def should_have_hide_rack_button(self) -> None:
|
||||
"""
|
||||
|
|
@ -690,11 +602,6 @@ class RackPage(BasePage):
|
|||
|
||||
logger.debug("%s check completed successfully", side_name)
|
||||
|
||||
def _handle_remove_confirmation_dialog(self) -> None:
|
||||
"""Обрабатывает диалог подтверждения удаления."""
|
||||
logger.debug("Handling remove confirmation dialog...")
|
||||
self.confirm_remove_dialog(confirm=True)
|
||||
|
||||
def _wait_for_tab_activation(self, tab_name: str, timeout: int = 5000) -> None:
|
||||
"""
|
||||
Ожидает активации вкладки.
|
||||
|
|
|
|||
Loading…
Reference in New Issue