Кстати, если вы хотите протестировать настройки этого компонента, не выполняя фактические действия, которые вызывают эти уведомления (и у вас есть доступ по SSH), вы можете использовать следующие команды в консоли Rails для запуска соответствующих событий уведомлений (используйте триггеры, применимые к настройкам вашего компонента):
cd /var/discourse
.launcher enter app
rails c
# найдите и установите переменную пользователя
u = User.find_by_username("ВАШЕ ИМЯ АДМИНИСТРАТОРА")
# триггер: новые функции
Notification.create!(
user: u,
notification_type: Notification.types[:new_features],
read: false,
data: {}.to_json
)
# триггер: приглашённый принял
Notification.create!(
user: u,
notification_type: Notification.types[:invitee_accepted],
read: false,
data: { display_username: "awesome_new_user" }.to_json
)
# триггер: членство в группе принято
Notification.create!(
user: u,
notification_type: Notification.types[:membership_request_accepted],
read: false,
data: { group_name: "Trust_Level_4" }.to_json
)
# триггер: выдана значок
Notification.create!(
user: u,
notification_type: Notification.types[:granted_badge],
read: false,
data: { badge_name: "Great Topic", badge_id: 10 }.to_json
)
# триггер: предстоящее изменение автоматически продвинуто
Notification.create!(
user: u,
notification_type: Notification.types[:upcoming_change_automatically_promoted],
read: false,
data: {
upcoming_change_humanized_name: "Experimental CSS",
upcoming_change_name: "experimental_css"
}.to_json
)
# широковещательная рассылка (откройте браузер в другом окне или вкладке и следите за ним при нажатии Enter!)
u.publish_notifications_state
Лучший способ тестирования — отключить настройку в компоненте, который вы хотите протестировать, запустить соответствующую команду триггера Rails, увидеть всплывающее уведомление, затем включить настройку и выполнить жёсткую перезагрузку страницы, чтобы убедиться, что уведомления исчезли.