Skip to content
Extraits de code Groupes Projets
websocket_spec.rb 1 ko
Newer Older
  • Learn to ignore specific revisions
  • #   Copyright (c) 2010, Diaspora Inc.  This file is
    
    Raphael's avatar
    Raphael a validé
    #   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.aspects.create(:name => "losers")
    
        @post = @user.build_post(:status_message, :message => "hey", :to => @aspect.id)
    
        @post.save
    
      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
    
    
    Raphael's avatar
    Raphael a validé
      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)
    
    Raphael's avatar
    Raphael a validé
        end
    
        it 'should send the queued job to Magent' do
    
          @channel.message_count.should == @messages + 1
    
    Raphael's avatar
    Raphael a validé
        end
    
        it 'should dequeue the job successfully' do
          @channel.dequeue
    
          @channel.message_count.should == @messages
    
    Raphael's avatar
    Raphael a validé
        end