On 31 January 2010 22:02, Nick Hoffman <li...@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@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@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users