Sha256: 5124bceac1a1af2a29debe90308b45793127d1252c6bf68d417850f7e66abd18

Contents?: true

Size: 1.99 KB

Versions: 17

Compression:

Stored size: 1.99 KB

Contents

require File.dirname(__FILE__) + '/spec_helper'
require 'ostruct'


describe "rails_warden controller mixin" do
  
  before(:each) do
    @app = lambda{|e| [200, {"Content-Type" => "text/plain"}, ["resonse"]]}
    class FooFailure
    end
    
    class User
    end
    
    class MockController 
      include RailsWarden::Mixins::HelperMethods
      include RailsWarden::Mixins::ControllerOnlyMethods
      attr_accessor :env
      def request
        self
      end
    end
    
    RailsWarden.default_user_class = nil
    RailsWarden.unauthenticated_action = nil
    
    @controller = MockController.new
    @mock_warden = OpenStruct.new
    @controller.env = {"warden" => @mock_warden }
  end
  
  it "should setup the spec" do
    @controller.warden.should_not be_nil
  end
  
  it "should provide access to the warden instance" do
    @controller.warden.should == @controller.env["warden"]
  end
  
  it "should run authenticate on warden" do
    @mock_warden.should_receive(:authenticate).and_return(true)
    @controller.authenticate
  end
  
  it "should run authenticate! on warden" do
    @mock_warden.should_receive(:authenticate!).and_return(true)
    @controller.authenticate!
  end
  
  it "should run authenticate? on warden" do
    @mock_warden.should_receive(:authenticated?).and_return(true)
    @controller.authenticated?
  end
  
  it "should proxy logged_in? to authenticated" do
    @mock_warden.should_receive(:authenticated?).and_return(true)
    @controller.logged_in?
  end
  
  it "should run user on warden" do
    @mock_warden.should_receive(:user).and_return(true)
    @controller.user
  end
  
  it "should run current_user on warden" do
    @mock_warden.should_receive(:user).and_return(true)
    @controller.current_user
  end

  it "should set the user on warden" do
    @mock_warden.should_receive(:set_user).and_return(true)
    @controller.user = User.new
  end
  
  it "should proxy logout to warden" do
    @mock_warden.should_receive(:logout).and_return(true)
    @controller.logout
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
hassox-rails_warden-0.2.2 spec/controller_mixin_spec.rb
hassox-rails_warden-0.2.3 spec/controller_mixin_spec.rb
hassox-rails_warden-0.2.4 spec/controller_mixin_spec.rb
rails_warden-0.5.7 spec/controller_mixin_spec.rb
rails_warden-0.5.6 spec/controller_mixin_spec.rb
rails_warden-0.5.5 spec/controller_mixin_spec.rb
rails_warden-0.5.4 spec/controller_mixin_spec.rb
rails_warden-0.5.3 spec/controller_mixin_spec.rb
rails_warden-0.5.2 spec/controller_mixin_spec.rb
rails_warden-0.5.1 spec/controller_mixin_spec.rb
rails_warden-0.5.0 spec/controller_mixin_spec.rb
rails_warden-0.3.0 spec/controller_mixin_spec.rb
rails_warden-0.2.6 spec/controller_mixin_spec.rb
rails_warden-0.2.5 spec/controller_mixin_spec.rb
rails_warden-0.2.4 spec/controller_mixin_spec.rb
rails_warden-0.2.3 spec/controller_mixin_spec.rb
rails_warden-0.2.2 spec/controller_mixin_spec.rb