Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Spec
- module Support
- module UserSession
- def self.included(base)
- base.extend(InstanceMethods)
- end
- def unstub_login
- begin
- controller.unstub!(:current_session)
- rescue Spec::Mocks::MockExpectationError
- # ignore
- end
- end
- def login(user = Factory.stub(:admin))
- user = Factory.stub(user) if user.is_a? Symbol
- session = Factory.stub(:user_session,
- :login => user.login,
- :password => user.password)
- unstub_login
- controller.stub!(:current_session).and_return(session)
- session.stub!(:record).and_return(user)
- session.stub!(:user).and_return(user)
- end
- def logout
- unstub_login
- controller.stub!(:current_session)
- end
- module InstanceMethods
- def login_before(user = :admin, scope = :each)
- before(scope) do
- Authlogic::Session::Base.controller = controller
- login(user)
- end
- end
- def logout_before(scope = :each)
- before(scope) do
- Authlogic::Session::Base.controller = controller
- logout
- end
- end
- end
- end
- end
- end
- Spec::Rails::Example::ControllerExampleGroup.send(:include, Spec::Support::UserSession)
- Spec::Runner.configure do |config|
- config.before(:each) do
- User.maintain_sessions = false
- if respond_to?(:controller)
- Authlogic::Session::Base.controller = controller
- else
- Authlogic::Session::Base.controller =
- Authlogic::ControllerAdapters::RailsAdapter.new(ApplicationController.new)
- end
- end
- end
Add Comment
Please, Sign In to add comment