aboutsummaryrefslogblamecommitdiffstats
path: root/test/server_test.rb
blob: 636fa37cf76b07f4dc5b18d7dee4ff94a3a28859 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                          
                                              







                                 
                                                                     








                                                      
                                                                        





                                                        
require 'test_helper'

class ServerTest < ActionCableTest

  class ChatChannel < ActionCable::Channel::Base
    def self.matches?(identifier)
      identifier[:channel] == 'chat' && identifier[:user_id].to_i.nonzero?
    end
  end

  class ChatServer < ActionCable::Server::Base
    register_channels ChatChannel
  end

  def app
    ChatServer
  end

  test "channel registration" do
    assert_equal ChatServer.channel_classes, Set.new([ ChatChannel ])
  end

  test "subscribing to a channel with valid params" do
    ws = Faye::WebSocket::Client.new(websocket_url)

    ws.on(:message) do |message|
      puts message.inspect
    end

    ws.send command: 'subscribe', identifier: { channel: 'chat'}.to_json
  end

  test "subscribing to a channel with invalid params" do
  end

end