Forcing the Loading of Named Routes

Hi all,

I have a spec for my controller (and its routing) that looks like this:

      describe "named routes" do

        before do
          # mini-hack: need a GET before the named routes are loaded
          get :index
        end

        it "admin_venue_merges_path.should == '/admin/venue_merges'" do
          admin_venue_merges_path.should == "/admin/venue_merges"
        end

      end

Trouble is, I don't actually need an index action on this particular
controller - it's just there so that I can spin up whatever the code is
within ActionPack that loads those named route methods.

What I'd prefer to do is directly call ActionController or whatever and
tell it to load the named routes.

I'm fairly new to ruby and find the source code to ActionPack pretty
overwhelming.

Can anyone more au fait with the rails source tell me how I might
achieve this?

I recommend generating an rspec_scaffold. It gives some nice examples for model, controller and view specs.

$ script/generate rspec_scaffold Person name:string age:integer

gives this for verifying routing:

describe PeopleController do
describe “route generation” do
it “should map #index” do
route_for(:controller => “people”, :action => “index”).should == “/people”

end
...

end

end

Regards,
Craig

Craig Demyanovich wrote:

I recommend generating an rspec_scaffold.
gives this for verifying routing:

describe PeopleController do
  describe "route generation" do
    it "should map #index" do
      route_for(:controller => "people", :action => "index").should ==
"/people"
    end
    ...
  end
  ...
end

Okay sure, but if I want to test the *named route*, for example if I
want to put a route into a namespace, how do I write a test for that?