diaspora/spec/lib/websocket_spec.rb
2010-09-17 12:49:05 -07:00

37 lines
1 KiB
Ruby

# Copyright (c) 2010, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3. See
# the COPYRIGHT file.
require File.dirname(__FILE__) + '/../spec_helper'
describe Diaspora::WebSocket do
before do
@user = Factory.create(:user)
@aspect = @user.aspect(:name => "losers")
@post = @user.build_post(:status_message, :message => "hey", :to => @aspect.id)
unstub_sockets
end
it 'should queue a job' do
Diaspora::WebSocket.should_receive(:queue_to_user)
@post.socket_to_uid(@user.id, :aspect_ids => @aspect.id)
end
describe 'queuing and dequeuing ' do
before do
@post.socket_to_uid(@user.id, :aspect_ids => @aspect.id)
@channel = Magent::GenericChannel.new('websocket')
end
it 'should send the queued job to Magent' do
@channel.message_count.should == 1
end
it 'should dequeue the job successfully' do
messages = @channel.message_count
@channel.dequeue
@channel.message_count.should == messages -1
end
end
end