Добавлен тест проверяющий невозможность отправки push-уведомления при незаполненных полях формы
parent
ba6bc49859
commit
b8c3b55ebd
|
|
@ -82,3 +82,8 @@ class TooltipButton(BaseElement):
|
|||
f"Текст подсказки не соответствует ожидаемому. "
|
||||
f"Ожидалось: '{expected_text}', получено: '{actual_text}'"
|
||||
)
|
||||
|
||||
def is_disabled(self) -> bool:
|
||||
""" Возвращает значение, отключена ли кнопка (является скрытой) """
|
||||
|
||||
return self.locator.is_disabled()
|
||||
|
|
|
|||
|
|
@ -4,11 +4,9 @@
|
|||
Позволяет проверять состояние и взаимодействовать с элементами вкладки.
|
||||
"""
|
||||
|
||||
import re
|
||||
from playwright.sync_api import Page
|
||||
from locators.settings_form_locators import SettingsFormLocators
|
||||
from elements.text_input_element import TextInput
|
||||
from components.toolbar_component import ToolbarComponent
|
||||
from components.alert_component import AlertComponent
|
||||
from components_derived.settings_form_component import SettingsFormComponent
|
||||
from components_derived.interactive_dropdown_list import InteractiveDropdownList
|
||||
|
|
@ -168,7 +166,7 @@ class PushNotificationsSettingsTab(BasePage):
|
|||
"""Проверяет наличие сообщения об успешной отправке push-уведомления.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если тулбар отсутствует.
|
||||
AssertionError: Если alert отсутствует.
|
||||
"""
|
||||
|
||||
alert_type = self.alert.get_alert_type()
|
||||
|
|
@ -176,3 +174,13 @@ class PushNotificationsSettingsTab(BasePage):
|
|||
|
||||
self.alert.check_alert_presence('\nPush-уведомление\nуспешно отправлено\n')
|
||||
self.alert.check_alert_absence('\nPush-уведомление\nуспешно отправлено\n')
|
||||
|
||||
def should_be_disabled_button(self) -> None:
|
||||
"""Проверяет, что кнопка 'Отправить' отключена.
|
||||
|
||||
Raises:
|
||||
AssertionError: Если кнопка включена.
|
||||
"""
|
||||
|
||||
submit_button = self.settings_form.get_button_by_name("submit_button")
|
||||
assert submit_button.is_disabled, "Submit button should be disabled"
|
||||
|
|
|
|||
|
|
@ -122,3 +122,38 @@ class TestPushNotificationsSettingsTab:
|
|||
push_notification_settings_tab.clear_users_setting_value()
|
||||
selected_users = push_notification_settings_tab.get_users_setting_value()
|
||||
assert len(selected_users) == 0, "There should be no selected users"
|
||||
|
||||
# @pytest.mark.develop
|
||||
def test_send_push_notification_for_empty_fields(self, browser: Page) -> None:
|
||||
"""Тест содержимого вкладки настройки Push уведомлений.
|
||||
|
||||
Проверяет:
|
||||
запрет отправки Push уведомления при незаполненных полях формы (кнопка 'Отправить' должна быть заблокирована)
|
||||
"""
|
||||
|
||||
# Инициализация вкладки
|
||||
push_notification_settings_tab = PushNotificationsSettingsTab(browser)
|
||||
|
||||
# оставить пустым поле 'Сообщение', заполнить поле 'Пользователи'
|
||||
push_notification_settings_tab.input_message("")
|
||||
msg_value = push_notification_settings_tab.get_message_setting_value()
|
||||
assert msg_value == "", "Actual message field is not empty"
|
||||
|
||||
push_notification_settings_tab.select_users(["manager"])
|
||||
selected_users = push_notification_settings_tab.get_users_setting_value()
|
||||
assert selected_users == "manager", \
|
||||
f"Actual users field value {selected_users} is not equal expected users field value 'manager'"
|
||||
|
||||
push_notification_settings_tab.should_be_disabled_button()
|
||||
|
||||
# заполнить поле 'Сообщение', очистить поле 'Пользователи'
|
||||
push_notification_settings_tab.input_message("TEST")
|
||||
msg_value = push_notification_settings_tab.get_message_setting_value()
|
||||
assert msg_value == "TEST", \
|
||||
f"Actual message field value {msg_value} is not equal expected message field value 'TEST'"
|
||||
|
||||
push_notification_settings_tab.deselect_users(["manager"])
|
||||
selected_users = push_notification_settings_tab.get_users_setting_value()
|
||||
assert selected_users == "", "Actual users field is not empty"
|
||||
|
||||
push_notification_settings_tab.should_be_disabled_button()
|
||||
|
|
|
|||
Loading…
Reference in New Issue