[rspec-users] params are making my "should redirect_to" test fail - why??
dchelimsky at gmail.com
Thu Feb 14 09:21:16 EST 2008
On Thu, Feb 14, 2008 at 8:22 AM, Rick DeNatale <rick.denatale at gmail.com> wrote:
> On 2/14/08, Max Williams <toastkid.williams at gmail.com> wrote:
> > Hi David - thanks for replying. The literal doesn't work either, because of
> > all the params at the end, and i don't have named routes in this old,
> > non-restful app. I see your point about the hash...is there any way to get
> > the redirected-to url from 'response' and test against that? Then i could
> > split it at "?" to ignore the params. (I'd rather not include the specific
> > params in this test since i really just want to know about where it's
> > redirected to).
> > So, ideally i could do something like this -
> > response.url.split("?").first.should
> > eql("http://test.host/admin/users/batch_saved")
> > I've been looking for documentation for methods for the response object, to
> > get the url, but i can't find any in the api docs (i'm probably just looking
> > in the wrong place). I can see the url data in the object but it's private.
> Well the RedirectTo matcher gets it using
> I'd probably write the check as
> response.should be_redirect
That seems reasonable given what is offered.
What do you guys think of a new matcher named redirect_with:
response.should redirect_with(:controller => 'admin/users', :action =>
This would let you express exactly what you want and only accept a
Hash and only match those present in the expectation, ignoring
anything else in the Hash.
I don't have the cycles to add this anytime soon, so if you like the
idea, feel free to submit a patch to the tracker.
> Rick DeNatale
> My blog on Ruby
> rspec-users mailing list
> rspec-users at rubyforge.org
More information about the rspec-users