Thank you, that worked. I have a new issue. I tried finding a solution for this everywhere. Only source is this article: http://afreshcup.com/2008/10/09/authentication-in-cucumber-tests/
I am using Restful Authentication and I would like to login in Cucumber. 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 '[EMAIL PROTECTED]' u.login 'the_login' u.password 'password' u.password_confirmation 'password' end visits "/login" fills_in("login", :with => "the_login") fills_in("password", :with => "password") clicks_button("Log in") end # 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 end end # 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) } else format.html { render :action => "new" } end end end 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 On Wed, Nov 26, 2008 at 4:20 PM, David Chelimsky <[EMAIL PROTECTED]>wrote: > On Wed, Nov 26, 2008 at 5:04 AM, Andrei Erdoss <[EMAIL PROTECTED]> wrote: > > Hello, > > > > I am bit new to Cucumber and Webrat and I have one issue that I can't > seem > > to fix on my own. I would appreciate your help. > > > > I have a controller called places and a model called Place. I use the > > acts_as_tree plugin in order for a place to have more places within it. > Ex. > > Georgia would have Cobb County, Cobb County would have Smyra City. > > > > This is how my controller looks for adding a new place: > > > > # loading the parent place > > before_filter :load_parent_place, :only => [:new, :create] > > def load_parent_place > > @parent_place = Place.find(params[:parent_id]) > > end > > > > # GET /places/new > > def new > > @place = @parent_place.children.create > > > > > > respond_to do |format| > > format.html # new.html.erb > > end > > end > > > > # 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) } > > else > > format.html { render :action => "new" } > > end > > end > > end > > > > > > I have created the cucumber feature also, but it errors out: > > > > Scenario: Register new place > > Given I am on the new place page with parent place "Georgia" > > When I fill in "Name" with "Atlanta" > > And I press "Create" > > Then I should see "Atlanta" > > > > For the first line starting with "Given", I tried to put this step, but > it > > errors out with Couldn't find Place with ID=1 > (ActiveRecord::RecordNotFound) > > > > Given /I am on the new place page with parent place "(.*)"/ do |name| > > visits "/places/new?parent_id=1" > > Place.create! :name => name, :parent_id => 1 > > end > > > > What am I doing wrong or how should I proceed with writing these steps > for > > this action? > > Try this: > > Given /I am on the new place page with parent place "(.*)"/ do |name| > parent = Place.create! :name => name > visits "/places/new?parent_id=#{parent.id}" > end > > > > > > Thank you, > > > > -- > > Andrei Erdoss > > > > _______________________________________________ > > rspec-users mailing list > > rspec-users@rubyforge.org > > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- Andrei Erdoss
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users