[rspec-users] GET a path in a controller spec
Pat Maddox
mailinglists at patmaddox.com
Mon Feb 22 02:29:20 EST 2010
Extract redirect logic to an object or helper and test that.
UrlRewriter.new.rewrite('/foods/search/almonds').should == '/almonds'
helper.rewrite_url('/foods/search/almonds').should == '/almonds'
and then you will see that this should probably be called higher up in the call stack, in a before_filter. Or even higher up, at your web server, nullifying the need for any ruby code in the first place.
Cucumber works, too. "There's more than one way to kill a cat than by stuffing it with butter."
Pat
On Feb 21, 2010, at 2:52 AM, Andrew Premdas wrote:
>
>
> On 31 January 2010 22:02, Nick Hoffman <lists at ruby-forum.com> wrote:
> One of my controller actions sends a redirect if the request URI begins
> with /foods/search
>
> 34 def search
> 35 return redirect_to "/#{params[:name]}" if
> request.request_uri.match /^\/foods\/search/
>
> Unfortunately, I can't figure out how to spec this.
>
> >From everything that I've read while researching this problem, it seems
> that #get and #post only accept the action to call, and a hash of
> parameters. IE:
> get :action, :some => 'param'
> As a result, I can't do this:
> 121 it 'redirects /foods/search/almonds to /almonds' do
> 122 get '/foods/search/almonds'
> 123 response.should redirect_to "/almonds"
> 124 end
>
> How can I spec this?
>
> Thanks for your help,
> Nick
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
> You might find this easier to do as an integration test. I'd use cucumber for this. Personally I think speccing controllers is pretty hard for the benefits it gives, and if you keep your controllers real simple and thin and use cucumber you can discard most controller specs.
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20100221/78db96d4/attachment.html>
More information about the rspec-users
mailing list