Of course, here you go : steps_for(:work_area_execution) do
Given("a company") do @account = Factory.create_valid_account() end Given("$amount questions?") do |amount| Question.delete_all category = Factory.create_valid_category work_area = Factory.create_valid_work_area(category) amount.to_i.times do Factory.create_valid_questions(work_area) end end Given("a department") do @department = Factory.create_valid_department(:account_id => @account.id) end Given("a number of replies") do @replies = Reply.find(:all).size end Given("the logged in user $email") do |email| @user = Factory.create_valid_user(:email=>email, :department_id => @department.id, :account_id => @account.id) @user_profiles = Profile.find(:all, :conditions => ['user_id = ?',@user.id]).size host! "company.example.com" post "sessions", {:login => email, :password => "bacon"} follow_redirect! if redirect? end When("the user starts a new profile") do post person_profiles_path(@user) follow_redirect! if redirect? end When("the user answers a question") do q = Question.find(session[:current_question]) # doesn't work with GivenScenario w = q.work_area c = w.category post profile_question_answers_path(@user.profiles.first, q.id), { 'reply[current]' => 4, 'reply[work_area_id]' => w.id, 'reply[question_id]' =>q.id, 'reply[category_id]'=> c.id, 'reply[base]' => nil, } follow_redirect! if redirect? end Then("there should be a new profile for this user") do @user.profiles.size.should == @user_profiles + 1 end Then("there should be a list of remaining questions") do session[:current_question].should_not == nil session[:pending_questions].should_not == nil @remaining_questions = session[:pending_questions].size end Then("there should be one question less to answer") do session[:pending_questions].size.should == @remaining_questions - 1 @remaining_questions = session[:pending_questions].size end Then("there should be one more answer") do Reply.find(:all).size.should == @replies + 1 @replies = Reply.find(:all).size end Then("there should be no more question to answer") do session[:pending_questions].size.should == 0 session[:current_question].should == nil end Then("the profile should be set as terminated") do @user.profiles.first.finished_at.should_not == nil end end Thanks for your time and help. On Mar 25, 12:07 pm, "David Chelimsky" <[EMAIL PROTECTED]> wrote: > On Tue, Mar 25, 2008 at 5:13 AM, Bastien <[EMAIL PROTECTED]> wrote: > > I have some problems with GivenScenario, my scenario keeps on failing > > when I use GivenScenario, like if the database or the session was not > > in the same state at the beginning of the new scenario as it was at > > the end of the given one. If I try to group my two scenari in only one > > big scenario then it passes... Any clue of what I might do wrong > > there ? > > Hard to tell from plain text. Can you post the steps definitions? > > > > > > > you can see here my story : > > > Story: Filling a profile > > > As a user > > I want to fill a profile > > So that I can see my score > > > Scenario: Starting a new profile > > > Given a company > > And a department > > And 2 questions > > And a number of replies > > And the logged in user [EMAIL PROTECTED] > > > When the user starts a new profile > > > Then there should be a new profile for this user > > And there should be a list of remaining questions ( ids > > stored in > > the session ) > > > When the user answers a question > > > Then there should be one more answer > > Then there should be one question less to answer > > > Scenario: Ending a profile > > GivenScenario: Starting a new profile # if i remove these > > 2 lines it > > passes > > > When the user answers a question # fails here because the > > question > > which id's is stored in the session can't be found > > > Then there should be one more answer > > Then there should be no more question to answer > > Then the profile should be set as terminated > > _______________________________________________ > > rspec-users mailing list > > [EMAIL PROTECTED] > > http://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > rspec-users mailing list > [EMAIL PROTECTED]://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users