mirror of
https://github.com/discourse/discourse.git
synced 2025-06-03 02:48:28 +08:00
DEV: Add modifiers for plugins to customize push notification translation arguments (#25889)
This commit is contained in:

committed by
GitHub

parent
eea7af09fd
commit
b426f85a81
@ -207,5 +207,35 @@ RSpec.describe PushNotificationPusher do
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe "push_notification_pusher_title_payload modifier" do
|
||||
let(:modifier_block) do
|
||||
Proc.new do |payload|
|
||||
payload[:username] = "super_hijacked"
|
||||
payload
|
||||
end
|
||||
end
|
||||
it "Allows modifications to the payload passed to the translation" do
|
||||
plugin_instance = Plugin::Instance.new
|
||||
plugin_instance.register_modifier(:push_notification_pusher_title_payload, &modifier_block)
|
||||
|
||||
message = execute_push(notification_type: Notification.types[:mentioned], post_number: 2)
|
||||
|
||||
expect(message[:title]).to eq(
|
||||
I18n.t(
|
||||
"discourse_push_notifications.popup.mentioned",
|
||||
site_title: SiteSetting.title,
|
||||
topic: topic_title,
|
||||
username: "super_hijacked",
|
||||
),
|
||||
)
|
||||
ensure
|
||||
DiscoursePluginRegistry.unregister_modifier(
|
||||
plugin_instance,
|
||||
:push_notification_pusher_title_payload,
|
||||
&modifier_block
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user