mirror of
https://github.com/discourse/discourse.git
synced 2025-02-16 18:24:52 -06:00
DEV: adds a :chat_thread_created
trigger (#24133)
Usage: ```ruby DiscourseEvent.on(:chat_thread_created) do |thread| end ```
This commit is contained in:
parent
8465324168
commit
db880d8ed7
@ -26,6 +26,7 @@ module Chat
|
||||
step :associate_thread_to_message
|
||||
step :fetch_membership
|
||||
step :publish_new_thread
|
||||
step :trigger_chat_thread_created_event
|
||||
end
|
||||
|
||||
# @!visibility private
|
||||
@ -84,5 +85,9 @@ module Chat
|
||||
def publish_new_thread(channel:, original_message:, **)
|
||||
::Chat::Publisher.publish_thread_created!(channel, original_message, context.thread.id)
|
||||
end
|
||||
|
||||
def trigger_chat_thread_created_event
|
||||
::DiscourseEvent.trigger(:chat_thread_created, context.thread)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -51,6 +51,12 @@ RSpec.describe Chat::CreateThread do
|
||||
expect(message.data["type"]).to eq("thread_created")
|
||||
end
|
||||
|
||||
it "triggers a discourse event `chat_thread_created`" do
|
||||
event = DiscourseEvent.track_events(:chat_thread_created) { result }.first
|
||||
|
||||
expect(event[:params][0]).to eq(result.thread)
|
||||
end
|
||||
|
||||
it "sets the title when existing" do
|
||||
params[:title] = "Restaurant for Saturday"
|
||||
result
|
||||
|
Loading…
Reference in New Issue
Block a user