method
assert_broadcasts
v7.1.3.4 -
Show latest stable
- Class:
ActionCable::TestHelper
assert_broadcasts(stream, number, &block)public
Asserts that the number of broadcasted messages to the stream matches the given number.
def test_broadcasts assert_broadcasts 'messages', 0 ActionCable.server.broadcast 'messages', { text: 'hello' } assert_broadcasts 'messages', 1 ActionCable.server.broadcast 'messages', { text: 'world' } assert_broadcasts 'messages', 2 end
If a block is passed, that block should cause the specified number of messages to be broadcasted. It returns the messages that were broadcasted.
def test_broadcasts_again message = assert_broadcasts('messages', 1) do ActionCable.server.broadcast 'messages', { text: 'hello' } end assert_equal({ text: 'hello' }, message) messages = assert_broadcasts('messages', 2) do ActionCable.server.broadcast 'messages', { text: 'hi' } ActionCable.server.broadcast 'messages', { text: 'how are you?' } end assert_equal 2, messages.length assert_equal({ text: 'hi' }, messages.first) assert_equal({ text: 'how are you?' }, messages.last) end