Problem z Cucumberem

Mam taki scenariusz:

Scenario: Sign in Given I have an user account with the following: | username | email | password | password_confirmation | | john | john@example.com | foobar123 | foobar123 | And I am on the user sign in page When I fill user form with the following: | email | john@example.com | | password | foobar123 | And I press "Sign in" Then I should see confirmation message: "Signed in successfully." And I should see "Logout" link And I should see link to john's profile
Problem mam z ‘Given’

Kroki do Given:

[code]Given(/^I have an user account with the following:$/) do |table|
visit ‘/users/sign_up’
hash = table.hashes.first
hash.each do |h|
fill_in “user_#{h.first}”, with: h.last
end
click_button ‘Sign up’
end

Given(/^I am on the user (.*) page$/) do |route|
visit “/users/#{route.gsub(’ ‘,’_’)}”
p page.current_path
end[/code]
W skrócie, zakładam konto, kilkam ‘Sign up’, przenoszę się na root_url, potem odwiedzam stronę logowania.
Problem jest w tym, że to visit na stronę logowania nie działa (print wyświetla mi /).
Jeżeli usuwam click_button ‘Sign up’ to ładnie print wyświetla /users/sign_in (ale bez klikniecia przycisku nie tworzy sie nowe konto).

Gdzie robie błąd?

Ja bym obstawiał, że jak tworzysz konto to od razu też logujesz użytkownika. A zalogowany użytkownik nie może wejść na /users/sign_in bo zostaje przekierowany do root_url, który masz ustawiony na /

Tak swoją drogą: nie jestem pewien, czy używasz devise, ale jeśli tak, to polecam How To: Test with Capybara.