« Return to Thread: params are making my "should redirect_to" test fail - why??

params are making my "should redirect_to" test fail - why??

by Max Williams :: Rate this Message:

Reply to Author | View in Thread

I'm testing a controller action that redirects to a different action/view, sending through some params.  In my test, i'm only specifying the controller and action that it should redirect to, but the additional params are making it fail!  Here's my test:

  it "should redirect to batch_saved after completing batch_save" do
    post 'batch_save', @params
    response.should redirect_to(:controller => 'admin/users', :action => 'batch_saved')
  end  

and here's the failure report:

'Admin::UserController When logged in as an admin level user should redirect to batch_saved after batch_save' FAILED
expected redirect to {:controller=>"admin/users", :action=>"batch_saved"}, got redirect to "http://test.host/admin/users/batch_saved?music_service_id=1&new_users%5B%5D%5Bemail%5D=mark%40zadeup.com&new_users%5B%5D%5Bfirstname%5D=Mark&new_users%5B%5D%5Bmusic_service_id%5D=1&new_users%5B%5D%5Bschool%5D=&new_users%5B%5D%5Bsurname%5D=Madeup"

Now, i would expect that since i'm just specifying a controller and action, and we redirect to them, that the test would pass.  But the params are breaking it (I know this because i changed the controller action to not send params through at all and the test passed).  How do i do the test so that it doesn't care about the params?  

 « Return to Thread: params are making my "should redirect_to" test fail - why??