2012-02-17 8 views
8

Tengo problemas para hacer que mis pruebas de enrutamiento rspec funcionen con una restricción de subdominio.probando rutas con restricciones de subdominio usando rspec

Específicamente I tienen una ruta

constraints :subdomain => "api" do 
    resources :sign_ups, :only => [:create] 
end 

y (entre otros) una prueba

it "does allow creation of sign ups" do 
    {:post => "/sign_ups"}.should route_to(
    :controller => "sign_ups", 
    :action => "create", 
) 
end 

Si elimino la restricción subdominio pasa esta prueba, pero con él se produce un error. Tengo que decirle rspec utilizar el subdominio, pero estoy en una pérdida en cuanto a cómo

TIA

Andy

Respuesta

25

por lo general hago:

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 
+0

impresionante, que funciona, gracias. No tenía idea de que pudiera usar la url completa. – Andy

+0

Recuerdo que esta información no era obvia y me dolió un poco obtenerla;) – apneadiving

+0

Crikey, esto parece mucho trabajo si cambias una aplicación existente. – toxaq

Cuestiones relacionadas