Compare commits
1 Commits
main
...
ra6/create
| Author | SHA1 | Date |
|---|---|---|
|
|
c6542c97a6 |
|
|
@ -449,10 +449,6 @@ class RackPage(BasePage):
|
||||||
self.toolbar.check_button_visibility("edit")
|
self.toolbar.check_button_visibility("edit")
|
||||||
self.toolbar.check_button_tooltip("edit", "Изменить")
|
self.toolbar.check_button_tooltip("edit", "Изменить")
|
||||||
|
|
||||||
# Кликаем на кнопку "Изменить" для проверки функциональности
|
|
||||||
#self.toolbar.get_button_by_name("edit").click()
|
|
||||||
|
|
||||||
|
|
||||||
def should_have_hide_rack_button(self) -> None:
|
def should_have_hide_rack_button(self) -> None:
|
||||||
"""
|
"""
|
||||||
Проверка кнопки "Скрыть стойку".
|
Проверка кнопки "Скрыть стойку".
|
||||||
|
|
|
||||||
|
|
@ -347,6 +347,7 @@ class TestCreateRack:
|
||||||
|
|
||||||
logger.debug("System prevented creating rack with duplicate name")
|
logger.debug("System prevented creating rack with duplicate name")
|
||||||
|
|
||||||
|
@pytest.mark.develop
|
||||||
def test_required_fields_validation(self, browser: Page, cleanup_racks) -> None:
|
def test_required_fields_validation(self, browser: Page, cleanup_racks) -> None:
|
||||||
"""Тест проверки обязательных полей при создании стойки."""
|
"""Тест проверки обязательных полей при создании стойки."""
|
||||||
logger.debug("Starting required fields validation test")
|
logger.debug("Starting required fields validation test")
|
||||||
|
|
@ -368,29 +369,31 @@ class TestCreateRack:
|
||||||
|
|
||||||
rack_form = CreateRackForm(browser)
|
rack_form = CreateRackForm(browser)
|
||||||
|
|
||||||
# ========== Тест 1: Обязательные поля высота и глубина пустые ==========
|
# ========== Тест 1: Обязательные поля имя, высота и глубина пустые ==========
|
||||||
logger.debug("Test 1: Both required fields (height, depth) are empty")
|
logger.debug("Test 1: Both required fields (height, depth) are empty")
|
||||||
|
|
||||||
# Очищаем поля высоты и глубины перед заполнением
|
# Очищаем поля имя, высоты и глубины перед заполнением
|
||||||
|
rack_form.clear_field("Имя")
|
||||||
rack_form.clear_field("Высота в юнитах")
|
rack_form.clear_field("Высота в юнитах")
|
||||||
rack_form.clear_field("Глубина (мм)")
|
rack_form.clear_field("Глубина (мм)")
|
||||||
|
|
||||||
test_data_1 = CreateRackData(
|
test_data_1 = CreateRackData(
|
||||||
name=self.TEST_RACK_NAME,
|
name="",
|
||||||
usize="",
|
usize="",
|
||||||
depth=""
|
depth=""
|
||||||
)
|
)
|
||||||
|
|
||||||
rack_form.fill_rack_data(test_data_1)
|
rack_form.fill_rack_data(test_data_1)
|
||||||
self.create_child_frame.click_add_button()
|
self.create_child_frame.click_add_button()
|
||||||
self.create_child_frame.wait_for_timeout(500)
|
|
||||||
|
|
||||||
# Проверяем alert для высоты, глубины
|
# Проверяем alert для имени, высоты, глубины
|
||||||
|
self.alert.check_alert_presence(expected_alert_text_name, timeout=7000)
|
||||||
self.alert.check_alert_presence(expected_alert_text_height, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text_height, timeout=7000)
|
||||||
self.alert.check_alert_presence(expected_alert_text_depth, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text_depth, timeout=7000)
|
||||||
|
|
||||||
# Проверяем, закрылся ли автоматически alert для высоты, глубины
|
# Проверяем, закрылся ли автоматически alert для имени, высоты, глубины
|
||||||
self.alert.check_alert_absence(expected_alert_text_height, timeout=7000)
|
self.alert.check_alert_absence(expected_alert_text_name, timeout=7000)
|
||||||
|
self.alert.check_alert_absence(expected_alert_text_height, timeout=500)
|
||||||
self.alert.check_alert_absence(expected_alert_text_depth, timeout=500)
|
self.alert.check_alert_absence(expected_alert_text_depth, timeout=500)
|
||||||
|
|
||||||
# Проверяем подсветку полей
|
# Проверяем подсветку полей
|
||||||
|
|
@ -465,7 +468,6 @@ class TestCreateRack:
|
||||||
|
|
||||||
rack_form.fill_rack_data(test_data_4)
|
rack_form.fill_rack_data(test_data_4)
|
||||||
self.create_child_frame.click_add_button()
|
self.create_child_frame.click_add_button()
|
||||||
self.create_child_frame.wait_for_timeout(500)
|
|
||||||
|
|
||||||
# Проверяем alert для имени
|
# Проверяем alert для имени
|
||||||
self.alert.check_alert_presence(expected_alert_text_name, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text_name, timeout=7000)
|
||||||
|
|
@ -474,3 +476,6 @@ class TestCreateRack:
|
||||||
self.alert.check_alert_absence(expected_alert_text_name, timeout=7000)
|
self.alert.check_alert_absence(expected_alert_text_name, timeout=7000)
|
||||||
|
|
||||||
logger.debug("Test 4 completed: System correctly validates empty name field")
|
logger.debug("Test 4 completed: System correctly validates empty name field")
|
||||||
|
|
||||||
|
# ========== Тест 5: Поле "Имя" не более 35 знаков ==========
|
||||||
|
# разработчик должен ограничить длину имени - не более 35 знаков
|
||||||
|
|
@ -304,7 +304,7 @@ class TestRackEdit:
|
||||||
rack_edit.click_done_button()
|
rack_edit.click_done_button()
|
||||||
|
|
||||||
# Проверяем уведомление об успешном обновлении
|
# Проверяем уведомление об успешном обновлении
|
||||||
expected_alert_text = "Элемент успешно обновлён"
|
expected_alert_text = "Успешно обновлено"
|
||||||
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
||||||
|
|
||||||
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
||||||
|
|
@ -336,6 +336,54 @@ class TestRackEdit:
|
||||||
|
|
||||||
logger.debug("General info tab test completed successfully")
|
logger.debug("General info tab test completed successfully")
|
||||||
|
|
||||||
|
def test_required_field_name_validation(self, browser: Page) -> None:
|
||||||
|
"""Тест проверки обязательного поля ИМЯ при создании стойки."""
|
||||||
|
|
||||||
|
logger.debug(f"Starting required field name validation test for rack: {self.RACK_NAME}")
|
||||||
|
|
||||||
|
rack_page = RackPage(browser)
|
||||||
|
|
||||||
|
# Переходим в режим редактирования
|
||||||
|
rack_page.click_edit_button()
|
||||||
|
|
||||||
|
# Создаем экземпляр EditRackMaker
|
||||||
|
rack_edit = EditRackMaker(browser, self.RACK_NAME)
|
||||||
|
|
||||||
|
# ========== Тест 1: Обязательное поле имя пустое ==========
|
||||||
|
# Очищаем поле имя
|
||||||
|
rack_edit.clear_field("Имя")
|
||||||
|
|
||||||
|
# Создаем тестовые данные для заполнения поля
|
||||||
|
test_data_1 = EditRackData(
|
||||||
|
name=""
|
||||||
|
)
|
||||||
|
|
||||||
|
rack_edit.fill_rack_data(test_data_1)
|
||||||
|
rack_edit.click_done_button()
|
||||||
|
|
||||||
|
# Проверяем уведомление об ошибочном обновлении
|
||||||
|
expected_alert_text = "поле ИМЯ должно быть заполнено, и не должно превышать 35 знаков"
|
||||||
|
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
||||||
|
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
||||||
|
|
||||||
|
# ========== Тест 2: Обязательное поле имя не должно превышать 35 знаков ==========
|
||||||
|
# Создаем тестовые данные для заполнения поля
|
||||||
|
test_data_2 = EditRackData(
|
||||||
|
name="_123456789_123456789_123456789_12345"
|
||||||
|
)
|
||||||
|
|
||||||
|
rack_edit.fill_rack_data(test_data_2)
|
||||||
|
rack_edit.click_done_button()
|
||||||
|
|
||||||
|
# Проверяем уведомление об ошибочном обновлении
|
||||||
|
expected_alert_text = "поле ИМЯ должно быть заполнено, и не должно превышать 35 знаков"
|
||||||
|
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
||||||
|
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
||||||
|
|
||||||
|
rack_edit.click_close_button()
|
||||||
|
|
||||||
|
logger.debug("Required field name validation test completed successfully")
|
||||||
|
|
||||||
def test_rack_image_tab(self, browser: Page) -> None:
|
def test_rack_image_tab(self, browser: Page) -> None:
|
||||||
"""Тест вкладки 'Изображение' стойки."""
|
"""Тест вкладки 'Изображение' стойки."""
|
||||||
|
|
||||||
|
|
@ -376,7 +424,7 @@ class TestRackEdit:
|
||||||
rack_edit.click_done_button()
|
rack_edit.click_done_button()
|
||||||
|
|
||||||
# Проверяем уведомление об успешном обновлении
|
# Проверяем уведомление об успешном обновлении
|
||||||
expected_alert_text = "Элемент успешно обновлён"
|
expected_alert_text = "Успешно обновлено"
|
||||||
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
||||||
|
|
||||||
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
||||||
|
|
@ -466,7 +514,7 @@ class TestRackEdit:
|
||||||
rack_edit.click_done_button()
|
rack_edit.click_done_button()
|
||||||
|
|
||||||
# Проверяем уведомление об успешном обновлении
|
# Проверяем уведомление об успешном обновлении
|
||||||
expected_alert_text = "Элемент успешно обновлён"
|
expected_alert_text = "Успешно обновлено"
|
||||||
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_presence(expected_alert_text, timeout=7000)
|
||||||
|
|
||||||
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
self.alert.check_alert_absence(expected_alert_text, timeout=7000)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue