[rspec-users] how to deal with redirect_to on cucumber?
Matt Wynne
matt at mattwynne.net
Thu May 21 03:34:58 EDT 2009
On 20 May 2009, at 16:43, Zhenning Guan wrote:
> I have a controller name forums and a action like this:
> def show
> redirect_to forum_topics_path(:forum_id => params[:id])
> end
>
> my scenario is (not completed)
> ==========
> Scenario: User input data correct
> When I run to the forum 1
>
> --
> When /^I run to the (.*)$/ do |topic_lists|
> visit path_to(topic_lists)
> end
>
> def path_to(page_name)
> case page_name
>
> when /forum 1/
> forum_path(1)
> ==========
>
> when I runned rake features
> got a error..
> ++++++++++++++++
> Scenario: User input data correct # features/forums.feature:10
> When I run to the topic lists #
> features/step_definitions/forums_steps.rb:10
> Couldn't find Forum with ID=1 (ActiveRecord::RecordNotFound)
> /home/ning/blank/app/controllers/topics_controller.rb:71:in
> `load_forum'
> /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
> (eval):2:in `/^I run to the (.*)$/'
> features/forums.feature:11:in `When I run to the topic lists'
> ++++++++++++++++++
>
> so is that redirect_to problems? how to implement the scenario? any
> thought here?
You are trying to visit the page for a 'forum' object (with ID=1) that
does not exist in your database.
In each scenario, you need to imagine your application starts from a
completely empty state, just like it would if you started the
application with script/server.
You need a step in your scenario that says 'Given there is a Forum'
which creates the record in the database.
If you don't mind me saying so, this question suggests to me that you
have quite a bit to learn about Cucumber. While people on this list
are pretty patient and helpful, they are also busy and will be more
keen to help if you spend some time helping yourself too. I suggest
you start with the recent railscast on Cucumber.
Matt Wynne
http://blog.mattwynne.net
http://www.songkick.com
More information about the rspec-users
mailing list