aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2019-01-24 23:40:33 +0100
committerGitHub <noreply@github.com>2019-01-24 23:40:33 +0100
commit36c840057fb46c09457a8b091d2db6351d2efeef (patch)
tree81550fc640989953b8311d1c94584b36f716c752 /guides
parent87626a60426e7b8aa8e4048d7d4b7463ba62bd96 (diff)
parentcfe65cb478a44f19f3b4562cd1cf3c99d2cb930b (diff)
downloadrails-36c840057fb46c09457a8b091d2db6351d2efeef.tar.gz
rails-36c840057fb46c09457a8b091d2db6351d2efeef.tar.bz2
rails-36c840057fb46c09457a8b091d2db6351d2efeef.zip
Merge pull request #35021 from palkan/refactor/broadcasting-for-testing
Action Cable: move channel_name to Channel.broadcasting_for
Diffstat (limited to 'guides')
-rw-r--r--guides/source/testing.md31
1 files changed, 29 insertions, 2 deletions
diff --git a/guides/source/testing.md b/guides/source/testing.md
index f9661c52a0..61353e8e7d 100644
--- a/guides/source/testing.md
+++ b/guides/source/testing.md
@@ -1806,11 +1806,11 @@ require "test_helper"
class WebNotificationsChannelTest < ActionCable::Channel::TestCase
test "subscribes and stream for user" do
- stub_connection current_user: users[:john]
+ stub_connection current_user: users(:john)
subscribe
- assert_has_stream_for users[:john]
+ assert_has_stream_for users(:john)
end
end
```
@@ -1837,6 +1837,33 @@ class ProductTest < ActionCable::TestCase
end
```
+If you want to test the broadcasting made with `Channel.broadcast_to`, you shoud use
+`Channel.broadcasting_for` to generate an underlying stream name:
+
+```ruby
+# app/jobs/chat_relay_job.rb
+class ChatRelayJob < ApplicationJob
+ def perform_later(room, message)
+ ChatChannel.broadcast_to room, text: message
+ end
+end
+
+# test/jobs/chat_relay_job_test.rb
+require 'test_helper'
+
+class ChatRelayJobTest < ActiveJob::TestCase
+ include ActionCable::TestHelper
+
+ test "broadcast message to room" do
+ room = rooms(:all)
+
+ assert_broadcast_on(ChatChannel.broadcasting_for(room), text: "Hi!") do
+ ChatRelayJob.perform_now(room, "Hi!")
+ end
+ end
+end
+```
+
Additional Testing Resources
----------------------------