Ben Wiseley
Ben Wiseley

Reputation: 547

should redirect to not working

redirect_to is failing for me in my cucumber tests. The step_definition method is

Then /^I should be redirected to "(.*)"$/ do |url|
  response.should redirect_to(url)
end

In Rails 2.3.3 I'm doing:

redirect_to some_url, :status => 301 and return false

I'm running that from the application_controller.rb and returning false. When I tail the test.log I see it redirect yet the cucumber test still fails with a

expected redirect_to ..., got no redirect

The cucumber code looks like:

Given I go to "/blogs?page=1"
Then I should be redirected to "/blogs"

Any idea what I'm missing?

Upvotes: 2

Views: 1505

Answers (2)

Chuck Vose
Chuck Vose

Reputation: 4580

Sometimes you just have to save_and_open_page. I find that any time cucumber is giving me trouble it's because of something like sessions and I open the resultant page to find a nasty flash error or something telling me exactly why I'm being an idiot this time. :)

Not implying that you're being an idiot, only I do that I think. At least that's what rspec seems to think of me most of the time.

Upvotes: 1

Luke Chadwick
Luke Chadwick

Reputation: 1727

Maybe change 'response.should redirect_to(url)' to 'response.should redirect_to(url, :status => 301)', other than that I can't see anything wrong.

Upvotes: 0

Related Questions