Test Redirection with RSpec and Capybara (Rails)
capybara, rspec, ruby-on-rails
Solution
Try `current_path.should == "/projects/show"`
Capybara also implements a `current_url` method for the fully qualified URL.
More info in the docs.
EDIT
Capybara now has a RSpec matcher called have_current_path, which you can use like: `expect(page).to have_current_path(some_other_page_path)` (thanks @bjliu)
Problem
I just have learnt how cool RSpec and Cabybara is, and now working around it to learn writing actual test. I am trying to check if after clicking a link, there is a redirection to a specific page. Below is the scenario ``` 1) I have a page /projects/list - I have an anchor with html "Back" and it links to /projects/show Below is the test i wrote in rspec describe "Sample" do describe "GET /projects/list" do it "sample test" do visit "/projects/list" click_link "Back" assert_redirected_to "/projects/show" end end end ``` The test fails with a failure message like below ``` Failure/Error: assert_redirected_to "/projects/show" ArgumentError: @request must be an ActionDispatch::Request ``` Please suggest me on how i should test the redirection and what am i doing wrong?