testing routes with subdomain constraints using rspec
-
27-10-2019 - |
Question
I'm having trouble getting my rspec routing tests working with a subdomain constraint.
Specifically I have a route
constraints :subdomain => "api" do
resources :sign_ups, :only => [:create]
end
and (among others) a test
it "does allow creation of sign ups" do
{:post => "/sign_ups"}.should route_to(
:controller => "sign_ups",
:action => "create",
)
end
If I remove the subdomain constraint this test passes, but with it it fails. I have to tell rspec to use the subdomain but I'm at a loss as to how
TIA
Andy
Solution
I usually do:
let(:url) { "http://api.domain.com" }
let(:bad_url) { "http://bad_url.domain.com" }
it "does allow creation of sign ups" do
{:post => "#{url}/sign_ups"}.should route_to(
:controller => "sign_ups",
:action => "create",
)
end
it "should not route" do
{:post => "#{bad_url}/sign_ups"}.should_not route_to(
:controller => "sign_ups",
:action => "create",
)
end
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow