[rspec-users] step definitons to check login

James Byrne lists at ruby-forum.com
Tue Dec 16 14:34:28 EST 2008


I am working with the authlogic gem and trying to create a simple login
test from cucumber features. The feature statement is:

Given the user is not logged in

The step definition for this is confounding me.  In the
application_controller the authlogic tutorial recommends the following:

private
    def require_user
      unless current_user
        store_location
        flash[:notice] = "You must sign in to access this page"
        redirect_to new_user_session_url
        return false
      end
    end

    def require_no_user
      if current_user
        store_location
        flash[:notice] = "You must be logged out to access this page"
        redirect_to account_url
        return false
      end

As these are private methods they are not directly accessible from the
step definitions and I am at a loss as to how to proceed.  I could
augment the application controller with a public user_authenticated
method:

  def user_authenticated
     return true if current_user
     false
  end

But it seems wrong to alter the application code for no other purpose
than to ease testing.  Is there another approach that I should be using?
-- 
Posted via http://www.ruby-forum.com/.


More information about the rspec-users mailing list