Skip to content
Extraits de code Groupes Projets
spec_helper.rb 1,88 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.
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    ENV["RAILS_ENV"] ||= 'test'
    require 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
    
    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
    
    
      DatabaseCleaner.strategy = :truncation
    
    maxwell's avatar
    maxwell a validé
      DatabaseCleaner.orm = "mongo_mapper"
    
    maxwell's avatar
    maxwell a validé
        EventMachine::HttpRequest.stub!(:new).and_return(FakeHttpRequest.new(:success))
        EventMachine::HttpRequest.any_instance.stubs(:post)
        EventMachine::HttpRequest.any_instance.stubs(:get)
    
    Raphael's avatar
    Raphael a validé
        DatabaseCleaner.clean
    
        UserFixer.load_user_fixtures
    
        Notifier.stub!(:send_request_accepted!).and_return(true)
        Notifier.stub!(:send_new_request!).and_return(true)
    
    Raphael Sofaer's avatar
    Raphael Sofaer a validé
    end
    
    
    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