diaspora/spec/controllers/sockets_controller_spec.rb

42 lines
1.3 KiB
Ruby

require File.dirname(__FILE__) + '/../spec_helper'
describe 'SocketsController' do
render_views
before do
@user = Factory.create(:user)
SocketsController.unstub!(:new)
#EventMachine::WebSocket.stub!(:start)
@controller = SocketsController.new
@controller.request = mock_model(Request, :env =>
{'warden' => mock_model(Warden, :authenticate? => @user, :authenticate! => @user, :authenticate => @user)})
stub_sockets_controller
end
it 'should unstub the websockets' do
WebSocket.initialize_channel
@controller.class.should == SocketsController
end
it 'should add a new subscriber to the websockets channel' do
WebSocket.initialize_channel
@controller.new_subscriber.should == 1
end
describe 'actionhash' do
before do
@message = @user.post :status_message, :message => "post through user for victory"
end
it 'should actionhash posts' do
json = @controller.action_hash(@message)
json.include?(@message.message).should be_true
json.include?('status_message').should be_true
end
it 'should actionhash retractions' do
retraction = Retraction.for @message
json = @controller.action_hash(retraction)
json.include?('retraction').should be_true
json.include?("html\":null").should be_true
end
end
end