mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
DEV: adds a :chat_thread_created
trigger (#24133)
Usage: ```ruby DiscourseEvent.on(:chat_thread_created) do |thread| end ```
This commit is contained in:
@ -26,6 +26,7 @@ module Chat
|
|||||||
step :associate_thread_to_message
|
step :associate_thread_to_message
|
||||||
step :fetch_membership
|
step :fetch_membership
|
||||||
step :publish_new_thread
|
step :publish_new_thread
|
||||||
|
step :trigger_chat_thread_created_event
|
||||||
end
|
end
|
||||||
|
|
||||||
# @!visibility private
|
# @!visibility private
|
||||||
@ -84,5 +85,9 @@ module Chat
|
|||||||
def publish_new_thread(channel:, original_message:, **)
|
def publish_new_thread(channel:, original_message:, **)
|
||||||
::Chat::Publisher.publish_thread_created!(channel, original_message, context.thread.id)
|
::Chat::Publisher.publish_thread_created!(channel, original_message, context.thread.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def trigger_chat_thread_created_event
|
||||||
|
::DiscourseEvent.trigger(:chat_thread_created, context.thread)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -51,6 +51,12 @@ RSpec.describe Chat::CreateThread do
|
|||||||
expect(message.data["type"]).to eq("thread_created")
|
expect(message.data["type"]).to eq("thread_created")
|
||||||
end
|
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
|
it "sets the title when existing" do
|
||||||
params[:title] = "Restaurant for Saturday"
|
params[:title] = "Restaurant for Saturday"
|
||||||
result
|
result
|
||||||
|
Reference in New Issue
Block a user