[rspec, rails] Restful Routes in controller specs

Hi,

how is it possible that I can use the restful routes helpers (e.g.
new_user_path) in controller specs? I browsed the source code but I
couldn’t find the magic. I’m just curious and would appreciate any
hint…

thanks
Andi

On Wed, Mar 11, 2009 at 3:30 AM, Andi S.
[email protected] wrote:

Hi,

how is it possible that I can use the restful routes helpers (e.g.
new_user_path) in controller specs? I browsed the source code but I
couldn’t find the magic. I’m just curious and would appreciate any
hint…

If you’re asking how to do it, you just do. There’s nothing you have
to do. They’re there for free.

If you’re asking how they are there for free, controllers specs wrap
rails functional tests, so they have all the services provided by
rails.

Cheers,
David

On Mar 11, 2009, at 4:30 AM, Andi S. wrote:

rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

You can use them -after- the request, eg

post :create
response.should redirect_to( foo_path )

You can’t before the request because they’re not loaded yet.

Actually, I have a routes_spec.rb that goes something like this:

class FoosController < ApplicationController
def foo
end
end

describe FoosController, “named routes” do
before do
get :foo
end

it "should route /users/:id" do
       user_path('123').should == '/users/123'
       params_from(:get, '/users/123').should == {:controller =>

‘users’, :action => ‘show’, :id => ‘123’}
end
end

Thanks a lot David, my question was ‘how’ they are for free. That
explains why I didn’t find it in the rspec-rails sourcecode.

Cheers
Andi