Method: ActionCable::TestHelper#capture_broadcasts

Defined in:
actioncable/lib/action_cable/test_helper.rb

#capture_broadcasts(stream, &block) ⇒ Object

Returns the messages that are broadcasted in the block.

def test_broadcasts
  messages = capture_broadcasts('messages') 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


96
97
98
# File 'actioncable/lib/action_cable/test_helper.rb', line 96

def capture_broadcasts(stream, &block)
  new_broadcasts_from(broadcasts(stream), stream, "capture_broadcasts", &block).map { |m| ActiveSupport::JSON.decode(m) }
end