diaspora/spec/lib/websocket_spec.rb
2010-10-29 15:53:21 -07:00

36 lines
1,006 B
Ruby

# Copyright (c) 2010, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
require 'spec_helper'
describe Diaspora::WebSocket do
before do
@user = make_user
@aspect = @user.aspect(:name => "losers")
@post = @user.build_post(:status_message, :message => "hey", :to => @aspect.id)
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
@channel = Magent::GenericChannel.new('websocket')
@messages = @channel.message_count
@post.socket_to_uid(@user.id, :aspect_ids => @aspect.id)
end
it 'should send the queued job to Magent' do
@channel.message_count.should == @messages + 1
end
it 'should dequeue the job successfully' do
@channel.dequeue
@channel.message_count.should == @messages
end
end
end