Skip to content
Extraits de code Groupes Projets
spec_helper.rb 2,49 ko
Newer Older
  • Learn to ignore specific revisions
  • Raphael's avatar
    Raphael a validé
    #   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
    
    Raphael's avatar
    Raphael a validé
    #   the COPYRIGHT file.
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    # This file is copied to ~/spec when you run 'ruby script/generate rspec'
    # from the project root directory.
    ENV["RAILS_ENV"] ||= 'test'
    
    require File.join(File.dirname(__FILE__), '..', 'config', 'environment') unless defined?(Rails)
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    require 'rspec/rails'
    
    require 'webmock/rspec'
    
    include Devise::TestHelpers
    
    include HelperMethods
    
    
    `rm #{File.join(Rails.root, 'tmp', 'fixture_builder.yml')}`
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    # Requires supporting files with custom matchers and macros, etc,
    # in ./support/ and its subdirectories.
    Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
    
    
    RSpec.configure do |config|
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
      config.mock_with :rspec
    
    
      config.use_transactional_fixtures = true
    
        I18n.locale = :en
    
        RestClient.stub!(:post).and_return(FakeHttpRequest.new(:success))
    
    
        $process_queue = false
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    end
    
    def set_up_friends
      local_luke = Factory(:user_with_aspect, :username => "luke")
      local_leia = Factory(:user_with_aspect, :username => "leia")
      remote_raphael = Factory(:person, :diaspora_handle => "raphael@remote.net")
      connect_users_with_aspects(local_luke, local_leia)
      local_leia.activate_contact(remote_raphael, local_leia.aspects.first)
      local_luke.activate_contact(remote_raphael, local_luke.aspects.first)
    
      [local_luke, local_leia, remote_raphael]
    end
    
    
    
    def alice
    
      User.where(:username => 'alice').first
    end
    
    def bob
    
      User.where(:username => 'bob').first
    end
    
    def eve
    
      User.where(:username => 'eve').first
    end
    
    Raphael's avatar
    Raphael a validé
    module Diaspora::WebSocket
      def self.redis
    
        FakeRedis.new
      end
    end
    class FakeRedis
    
    Raphael's avatar
    Raphael a validé
      def rpop(*args)
    
    Raphael's avatar
    Raphael a validé
      def llen(*args)
    
    Raphael's avatar
    Raphael a validé
      def lpush(*args)
    
    ImageUploader.enable_processing = false
    
    class FakeHttpRequest
      def initialize(callback_wanted)
        @callback = callback_wanted
        @callbacks = []
      end
    
      def callbacks=(rs)
        @callbacks += rs.reverse
      end
    
      def response
        @callbacks.pop unless @callbacks.nil? || @callbacks.empty?
      end
    
    
    maxwell's avatar
    maxwell a validé
      def response_header
        self
      end
    
      def method_missing(method)
        self
      end
    
    
    maxwell's avatar
    maxwell a validé
    
    
      def publish(opts = nil)
        self
      end
    
    
      def callback(&b)
        b.call if @callback == :success
      end
    
      def errback(&b)
        b.call if @callback == :failure
      end
    end