[rspec-users] Restful Authentication and Cucumber

Andrei Erdoss erdoss at gmail.com
Thu Nov 27 00:58:22 EST 2008


I am using Restful Authentication and I would like to login in Cucumber. I
am having trouble keeping the user logged in. I tried finding a solution for
this everywhere. Only source is this article:

This is how my feature looks like:

Scenario: Register new place
    Given I am logged in as a user
    And I am on the new place page with parent place "Georgia"
     When I fill in "Name" with "Atlanta"
    And I press "Create"
    And I should see "Atlanta"

This is the step:

Given /I am logged in as a user/ do
   @current_user = Factory.define :user do |u|
     u.name 'the user'
     u.email 'erdoss at gmail.com'
     u.login  'the_login'
     u.password 'password'
     u.password_confirmation 'password'
   visits "/login"
   fills_in("login", :with => "the_login")
   fills_in("password", :with => "password")
   clicks_button("Log in")

# places controller

before_filter :login_required, :only => [:create]

  # GET /places/new
  def new
    @place = @parent_place.children.create

    respond_to do |format|
      format.html # new.html.erb

  # POST /places
  def create
    @place = @parent_place.children.create(params[:place])

    respond_to do |format|
      if @place.save
        flash[:notice] = 'Place was successfully created.'
        format.html { redirect_to(@place) }
        format.html { render :action => "new" }

The "Given I am logged in as a user" step passes, along with all the steps,
except the last one (And I should see "Atlanta"). The problem is that the
login page is shown and not the show page with the new place created.

What do I have to set in Cucumber so that it acts as if the user is logged
in? In know that in Rspec :login_required should return true. What's the
equivalent of that in Cucumber?

Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081127/6fbd8abc/attachment-0001.html>

More information about the rspec-users mailing list