diff --git a/plugins/poll/plugin.rb b/plugins/poll/plugin.rb index 454a6835a28..1bc57a76d0c 100644 --- a/plugins/poll/plugin.rb +++ b/plugins/poll/plugin.rb @@ -47,6 +47,15 @@ after_initialize do poll.set_vote!(current_user, params[:option]) + MessageBus.publish("/topic/#{post.topic_id}", { + id: post.id, + post_number: post.post_number, + updated_at: Time.now, + type: "revised" + }, + group_ids: post.topic.secure_group_ids + ) + render json: poll.serialize(current_user) end end diff --git a/plugins/poll/spec/poll_plugin/poll_controller_spec.rb b/plugins/poll/spec/poll_plugin/poll_controller_spec.rb index 132b50d5bcd..7ccdc471ffe 100644 --- a/plugins/poll/spec/poll_plugin/poll_controller_spec.rb +++ b/plugins/poll/spec/poll_plugin/poll_controller_spec.rb @@ -31,6 +31,8 @@ describe PollPlugin::PollController, type: :controller do end it "should save votes correctly" do + MessageBus.expects(:publish).times(4) + log_in_user user1 xhr :put, :vote, post_id: post.id, option: "Chitoge", use_route: :poll PollPlugin::Poll.new(post).get_vote(user1).should eq("Chitoge")